Semi-Lagrangian Library
Modular library for kinetic and gyrokinetic simulations of plasmas in fusion energy devices.
|
Group of sll_t_particle_group_2d2v_lbf. More...
Private Member Functions | |
procedure | init => initialize_particle_group_2d2v_lbf |
Initializer and destructor. More... | |
procedure | free => delete_particle_group_2d2v_lbf |
Initialization function. More... | |
procedure, private | interpolate_value_of_remapped_f |
procedure, private | get_ltp_deformation_matrix |
procedure, private | get_neighbor_index |
FD approx of local bwd flow Jacobian matrix. More... | |
procedure | get_box |
Assuming we have some elements/grid cells "box" for the representation of the fields, we get the (1d) index of this box. More... | |
procedure | get_boxnd |
Assuming we have some elements/grid cells "box" for the representation of the fields, we get the nd index of this box (note this is for tensor product grids only) More... | |
procedure | get_xbox |
Assuming we have some elements/grid cells "box" for the representation of the fields, we get the (normalized) offset of the position in the box. More... | |
procedure | get_patch |
procedure | get_xpatch |
Get x in terms of the patch local coordinate system. More... | |
procedure | chget_x |
procedure | chget_v |
procedure | chget_weights |
procedure | chget_box |
procedure | chget_boxnd |
procedure | chget_patch |
procedure | set_box |
procedure | set_boxnd |
procedure | set_patch |
procedure | |
Prints out the particle array in some form (for debugging, by default nothing is printed out) More... | |
procedure | read |
Reads in particle array (default not working) More... | |
Getters | |
procedure | get_x => get_x_2d2v_lbf |
procedure | get_v => get_v_2d2v_lbf |
Get the position of a particle. More... | |
procedure | get_charge => get_charge_2d2v_lbf |
Get the velocity of a particle. More... | |
procedure | get_mass => get_mass_2d2v_lbf |
Get the charge(s) of a particle. More... | |
procedure | get_weights => get_weights_2d2v_lbf |
Get the mass(es) of a particle. More... | |
procedure | get_common_weight => get_common_weight_2d2v_lbf |
Get weight(s) of a particle. More... | |
Setters | |
procedure | set_x => set_x_2d2v_lbf |
procedure | set_v => set_v_2d2v_lbf |
Set the position of a particle. More... | |
procedure | set_weights => set_weights_2d2v_lbf |
Set the velocity of a particle. More... | |
procedure | set_common_weight => set_common_weight_2d2v_lbf |
Set the weight(s) of a particle. More... | |
Sampling and resampling | |
Destructor | |
procedure, private | write_known_density_on_remapping_grid |
procedure, private | reset_particles_positions |
this evaluates some known distribution More... | |
procedure, private | reset_particles_weights_with_direct_interpolation |
procedure, private | reconstruct_f_lbf |
procedure, private | reconstruct_f_lbf_on_remapping_grid |
procedure | reconstruct_f_lbf_on_given_grid |
procedure | sample |
procedure | resample |
Private Attributes | |
class(sll_t_species), allocatable | species |
integer(kind=i32) | id |
integer(kind=i32) | n_particles |
number of particles local to the processor More... | |
integer(kind=i32) | n_total_particles |
number of particles in total simulation More... | |
integer(kind=i32) | n_weights |
number of weights per particle More... | |
The particles | |
integer(kind=i32) | n_particles_x |
integer(kind=i32) | n_particles_y |
integer(kind=i32) | n_particles_vx |
integer(kind=i32) | n_particles_vy |
real(kind=f64), dimension(:,:), allocatable | particle_array |
array of particles More... | |
real(kind=f64) | common_weight |
not needed for now -> put in base class? More... | |
The lbf grid | |
for simplicity, this grid is used to
| |
type(sll_t_cartesian_mesh_4d), pointer | lbf_grid |
logical, dimension(2) | domain_is_periodic |
Sparse grid interpolation of the remapped density f, dimensions of remapping grid = particle grid | |
integer(kind=i32) | remapped_f_interpolation_degree |
type(sll_t_sparse_grid_4d) | sparse_grid_interpolator |
integer(kind=i32), dimension(4) | sparse_grid_max_levels |
real(kind=f64), dimension(:), allocatable | remapped_f_sparse_grid_coefficients |
real(kind=f64), dimension(:), allocatable | tmp_f_values_on_remapping_sparse_grid |
used only during remapping More... | |
Group of sll_t_particle_group_2d2v_lbf.
Definition at line 76 of file sll_m_particle_group_2d2v_lbf.F90.
|
privateinherited |
Definition at line 72 of file sll_m_particle_group_base.F90.
|
privateinherited |
Definition at line 73 of file sll_m_particle_group_base.F90.
|
privateinherited |
Definition at line 74 of file sll_m_particle_group_base.F90.
|
privateinherited |
Definition at line 70 of file sll_m_particle_group_base.F90.
|
privateinherited |
Definition at line 71 of file sll_m_particle_group_base.F90.
|
privateinherited |
Definition at line 69 of file sll_m_particle_group_base.F90.
|
private |
Initialization function.
Definition at line 130 of file sll_m_particle_group_2d2v_lbf.F90.
|
privateinherited |
Assuming we have some elements/grid cells "box" for the representation of the fields, we get the (1d) index of this box.
Definition at line 59 of file sll_m_particle_group_base.F90.
|
privateinherited |
Assuming we have some elements/grid cells "box" for the representation of the fields, we get the nd index of this box (note this is for tensor product grids only)
Definition at line 60 of file sll_m_particle_group_base.F90.
|
private |
Get the velocity of a particle.
Definition at line 114 of file sll_m_particle_group_2d2v_lbf.F90.
|
private |
Get weight(s) of a particle.
Definition at line 117 of file sll_m_particle_group_2d2v_lbf.F90.
|
private |
Definition at line 148 of file sll_m_particle_group_2d2v_lbf.F90.
|
private |
Get the charge(s) of a particle.
Definition at line 115 of file sll_m_particle_group_2d2v_lbf.F90.
|
private |
FD approx of local bwd flow Jacobian matrix.
Definition at line 149 of file sll_m_particle_group_2d2v_lbf.F90.
|
privateinherited |
Definition at line 62 of file sll_m_particle_group_base.F90.
|
private |
Get the position of a particle.
Definition at line 113 of file sll_m_particle_group_2d2v_lbf.F90.
|
private |
Get the mass(es) of a particle.
Definition at line 116 of file sll_m_particle_group_2d2v_lbf.F90.
|
private |
Definition at line 112 of file sll_m_particle_group_2d2v_lbf.F90.
|
privateinherited |
Assuming we have some elements/grid cells "box" for the representation of the fields, we get the (normalized) offset of the position in the box.
Definition at line 61 of file sll_m_particle_group_base.F90.
|
privateinherited |
Get x in terms of the patch local coordinate system.
Definition at line 63 of file sll_m_particle_group_base.F90.
|
private |
Initializer and destructor.
Definition at line 129 of file sll_m_particle_group_2d2v_lbf.F90.
|
private |
Definition at line 147 of file sll_m_particle_group_2d2v_lbf.F90.
|
privateinherited |
Prints out the particle array in some form (for debugging, by default nothing is printed out)
Definition at line 92 of file sll_m_particle_group_base.F90.
|
privateinherited |
Reads in particle array (default not working)
Definition at line 93 of file sll_m_particle_group_base.F90.
|
private |
Definition at line 140 of file sll_m_particle_group_2d2v_lbf.F90.
|
private |
Definition at line 142 of file sll_m_particle_group_2d2v_lbf.F90.
|
private |
Definition at line 141 of file sll_m_particle_group_2d2v_lbf.F90.
|
private |
Definition at line 144 of file sll_m_particle_group_2d2v_lbf.F90.
|
private |
this evaluates some known distribution
Definition at line 138 of file sll_m_particle_group_2d2v_lbf.F90.
|
private |
Definition at line 139 of file sll_m_particle_group_2d2v_lbf.F90.
|
private |
Definition at line 143 of file sll_m_particle_group_2d2v_lbf.F90.
|
privateinherited |
Definition at line 82 of file sll_m_particle_group_base.F90.
|
privateinherited |
Definition at line 83 of file sll_m_particle_group_base.F90.
|
private |
Set the weight(s) of a particle.
Definition at line 125 of file sll_m_particle_group_2d2v_lbf.F90.
|
privateinherited |
Definition at line 84 of file sll_m_particle_group_base.F90.
|
private |
Set the position of a particle.
Definition at line 123 of file sll_m_particle_group_2d2v_lbf.F90.
|
private |
Set the velocity of a particle.
Definition at line 124 of file sll_m_particle_group_2d2v_lbf.F90.
|
private |
Definition at line 122 of file sll_m_particle_group_2d2v_lbf.F90.
|
private |
Definition at line 137 of file sll_m_particle_group_2d2v_lbf.F90.
|
private |
not needed for now -> put in base class?
Definition at line 85 of file sll_m_particle_group_2d2v_lbf.F90.
|
private |
Definition at line 95 of file sll_m_particle_group_2d2v_lbf.F90.
|
privateinherited |
Definition at line 45 of file sll_m_particle_group_base.F90.
|
private |
Definition at line 94 of file sll_m_particle_group_2d2v_lbf.F90.
|
privateinherited |
number of particles local to the processor
Definition at line 46 of file sll_m_particle_group_base.F90.
|
private |
Definition at line 82 of file sll_m_particle_group_2d2v_lbf.F90.
|
private |
Definition at line 83 of file sll_m_particle_group_2d2v_lbf.F90.
|
private |
Definition at line 80 of file sll_m_particle_group_2d2v_lbf.F90.
|
private |
Definition at line 81 of file sll_m_particle_group_2d2v_lbf.F90.
|
privateinherited |
number of particles in total simulation
Definition at line 47 of file sll_m_particle_group_base.F90.
|
privateinherited |
number of weights per particle
Definition at line 48 of file sll_m_particle_group_base.F90.
|
private |
array of particles
Definition at line 84 of file sll_m_particle_group_2d2v_lbf.F90.
|
private |
Definition at line 101 of file sll_m_particle_group_2d2v_lbf.F90.
|
private |
Definition at line 104 of file sll_m_particle_group_2d2v_lbf.F90.
|
private |
Definition at line 102 of file sll_m_particle_group_2d2v_lbf.F90.
|
private |
Definition at line 103 of file sll_m_particle_group_2d2v_lbf.F90.
|
privateinherited |
Definition at line 44 of file sll_m_particle_group_base.F90.
|
private |
used only during remapping
Definition at line 105 of file sll_m_particle_group_2d2v_lbf.F90.