Semi-Lagrangian Library
Modular library for kinetic and gyrokinetic simulations of plasmas in fusion energy devices.
|
Derived types and interfaces | |
type | sll_t_species |
type | sll_c_particle_group_base |
type | sll_t_particle_array |
interface | i_get_int |
interface | i_get_intnd |
interface | i_get_scalar |
interface | get_scalar |
interface | i_get_coords |
interface | i_get_array |
interface | i_set_coords |
interface | i_set_scalar |
interface | set_scalar |
interface | i_set_array |
interface | empty |
Functions/Subroutines | |
pure real(kind=f64) function | q_over_m (self) |
More... | |
subroutine | initialize_species (self, species_charge, species_mass) |
pure integer(kind=i32) function | get_box (self, i) |
pure integer(kind=i32) function, dimension(3) | get_boxnd (self, i) |
pure real(kind=f64) function, dimension(3) | get_xbox (self, i) |
pure integer(kind=i32) function | get_patch (self, i) |
Get the number of the patch (per default we only have one patch and therefore always return a 1) More... | |
pure real(kind=f64) function, dimension(3) | get_xpatch (self, i) |
Get the coordinate in the patch-local system. Default: get_x. More... | |
subroutine | set_box (self, i, box) |
Set the number of the box (by default nothing is done) More... | |
subroutine | set_boxnd (self, i, box) |
Set the number of the box from nd index (by default nothing is done) More... | |
subroutine | set_patch (self, i, box) |
Set the number of the patch (by default nothing is done) More... | |
subroutine | chget_x (self, chunk, x) |
subroutine | chget_v (self, chunk, v) |
subroutine | chget_weights (self, chunk, weights) |
subroutine | chget_box (self, chunk, box) |
subroutine | chget_boxnd (self, chunk, boxnd) |
subroutine | chget_patch (self, chunk, patch) |
subroutine | print (self, filename) |
Dummy print function ( can be overwritten to print for debugging ) More... | |
subroutine | read (self, filename) |
Dummy read function ( can be overwritten to read for restart ) More... | |
pure integer(kind=i32) function, dimension(2), public | sll_f_index_1dto2d (num_pts, ind1d) |
Helper function to compute the 2d index for a tensor product grid from the 1d index. More... | |
pure integer(kind=i32) function, public | sll_f_index_2dto1d (num_pts, ind2d) |
Helper function to compute the 1d index for a tensor product grid from the 2d index. More... | |
pure integer(kind=i32) function, dimension(3), public | sll_f_index_1dto3d (num_pts, ind1d) |
Helper function to compute the 2d index for a tensor product grid from the 1d index. More... | |
pure integer(kind=i32) function, public | sll_f_index_3dto1d (num_pts, ind3d) |
Helper function to compute the 1d index for a tensor product grid from the 2d index. More... | |
|
private |
[in] | self | particle group object |
[in] | chunk | particle number range |
[out] | box | box number of particle chunk |
Definition at line 391 of file sll_m_particle_group_base.F90.
|
private |
[in] | self | particle group object |
[in] | chunk | particle number range |
[out] | boxnd | box number of particle chunk |
Definition at line 405 of file sll_m_particle_group_base.F90.
|
private |
[in] | self | particle group object |
[in] | chunk | particle number range |
[out] | patch | box number of particle chunk |
Definition at line 419 of file sll_m_particle_group_base.F90.
|
private |
[in] | self | particle group object |
[in] | chunk | particle number range |
[out] | v | v of particle chunk |
Definition at line 363 of file sll_m_particle_group_base.F90.
|
private |
[in] | self | particle group object |
[in] | chunk | particle number range |
[out] | weights | x of particle chunk |
Definition at line 377 of file sll_m_particle_group_base.F90.
|
private |
[in] | self | particle group object |
[in] | chunk | particle number range |
[out] | x | x of particle chunk |
Definition at line 349 of file sll_m_particle_group_base.F90.
|
private |
[in] | self | particle group object |
[in] | i | particle number |
Definition at line 261 of file sll_m_particle_group_base.F90.
|
private |
[in] | self | particle group object |
[in] | i | particle number |
Definition at line 272 of file sll_m_particle_group_base.F90.
|
private |
Get the number of the patch (per default we only have one patch and therefore always return a 1)
[in] | self | particle group object |
[in] | i | particle number |
Definition at line 294 of file sll_m_particle_group_base.F90.
|
private |
[in] | self | particle group object |
[in] | i | particle number |
Definition at line 283 of file sll_m_particle_group_base.F90.
|
private |
Get the coordinate in the patch-local system. Default: get_x.
[in] | self | particle group object |
[in] | i | particle number |
Definition at line 305 of file sll_m_particle_group_base.F90.
|
private |
Definition at line 239 of file sll_m_particle_group_base.F90.
|
private |
Dummy print function ( can be overwritten to print for debugging )
[in] | self | particle group object |
Definition at line 433 of file sll_m_particle_group_base.F90.
|
private |
|
private |
Dummy read function ( can be overwritten to read for restart )
[in,out] | self | particle group object |
Definition at line 440 of file sll_m_particle_group_base.F90.
|
private |
Set the number of the box (by default nothing is done)
[in] | self | particle group object |
[in] | i | particle number |
[out] | box | box number |
Definition at line 317 of file sll_m_particle_group_base.F90.
|
private |
Set the number of the box from nd index (by default nothing is done)
[in] | self | particle group object |
[in] | i | particle number |
[out] | box | box number |
Definition at line 326 of file sll_m_particle_group_base.F90.
|
private |
Set the number of the patch (by default nothing is done)
[in] | self | particle group object |
[in] | i | particle number |
[out] | box | box number |
Definition at line 336 of file sll_m_particle_group_base.F90.
pure integer(kind=i32) function, dimension(2), public sll_m_particle_group_base::sll_f_index_1dto2d | ( | integer(kind=i32), dimension(2), intent(in) | num_pts, |
integer(kind=i32), intent(in) | ind1d | ||
) |
Helper function to compute the 2d index for a tensor product grid from the 1d index.
Definition at line 451 of file sll_m_particle_group_base.F90.
pure integer(kind=i32) function, dimension(3), public sll_m_particle_group_base::sll_f_index_1dto3d | ( | integer(kind=i32), dimension(3), intent(in) | num_pts, |
integer(kind=i32), intent(in) | ind1d | ||
) |
Helper function to compute the 2d index for a tensor product grid from the 1d index.
Definition at line 475 of file sll_m_particle_group_base.F90.
pure integer(kind=i32) function, public sll_m_particle_group_base::sll_f_index_2dto1d | ( | integer(kind=i32), dimension(2), intent(in) | num_pts, |
integer(kind=i32), dimension(2), intent(in) | ind2d | ||
) |
Helper function to compute the 1d index for a tensor product grid from the 2d index.
Definition at line 463 of file sll_m_particle_group_base.F90.
pure integer(kind=i32) function, public sll_m_particle_group_base::sll_f_index_3dto1d | ( | integer(kind=i32), dimension(3), intent(in) | num_pts, |
integer(kind=i32), dimension(3), intent(in) | ind3d | ||
) |
Helper function to compute the 1d index for a tensor product grid from the 2d index.
Definition at line 492 of file sll_m_particle_group_base.F90.