Semi-Lagrangian Library
Modular library for kinetic and gyrokinetic simulations of plasmas in fusion energy devices.
|
Simple particle group group for 3d3v.
...
Derived types and interfaces | |
type | sll_t_particle_group_3d3v |
Simple version of a PIC particle group in 2d2v. More... | |
Functions/Subroutines | |
subroutine | delete_particle_group_3d3v (self) |
Destructor. More... | |
subroutine | initialize_particle_group_3d3v (self, n_particles, n_total_particles, charge, mass, n_weights) |
Initialize particle group. More... | |
subroutine, public | sll_s_new_particle_group_3d3v_ptr (particle_group, n_particles, n_total_particles, charge, mass, n_weights) |
Constructor for abstract type. More... | |
subroutine, public | sll_s_new_particle_group_3d3v (particle_group, n_particles, n_total_particles, charge, mass, n_weights) |
Constructor for abstract type. More... | |
pure real(kind=f64) function, dimension(3) | get_x_3d3v (self, i) |
Get positions of particle i. More... | |
pure real(kind=f64) function, dimension(3) | get_v_3d3v (self, i) |
Get velocities of particle i. More... | |
pure real(kind=f64) function | get_charge_3d3v (self, i, i_weight) |
Get charge of particle i ( q * particle_weight) More... | |
pure real(kind=f64) function | get_mass_3d3v (self, i, i_weight) |
Get mass of particle i ( m * particle_weight) More... | |
pure real(kind=f64) function, dimension(self%n_weights) | get_weights_3d3v (self, i) |
Get weights of particle i. More... | |
pure real(kind=f64) function | get_common_weight_3d3v (self) |
Set the common weight. More... | |
subroutine | set_x_3d3v (self, i, x) |
Set positions of particle i. More... | |
subroutine | set_v_3d3v (self, i, x) |
Set velocities of particle i. More... | |
subroutine | set_weights_3d3v (self, i, x) |
Set weights of particle i. More... | |
subroutine | set_common_weight_3d3v (self, x) |
Set the common weight. More... | |
subroutine | print_particle_group_3d3v (self, filename) |
Print particle array. More... | |
subroutine | read_particle_group_3d3v (self, filename) |
Read particle array from file. More... | |
|
private |
Destructor.
[in,out] | self | particle group |
Definition at line 61 of file sll_m_particle_group_3d3v.F90.
|
private |
Get charge of particle i ( q * particle_weight)
[in] | self | particle group |
[in] | i | no. of the particle |
[in] | i_weight | index of weight to be used (default: 1) |
Definition at line 180 of file sll_m_particle_group_3d3v.F90.
|
private |
Set the common weight.
[in] | self | particle group |
Definition at line 225 of file sll_m_particle_group_3d3v.F90.
|
private |
Get mass of particle i ( m * particle_weight)
[in] | self | particle group |
[in] | i | no. of the particle |
[in] | i_weight | index of weight to be used (default: 1) |
Definition at line 197 of file sll_m_particle_group_3d3v.F90.
|
private |
Get velocities of particle i.
[in] | self | particle group |
[in] | i | no. of the particle |
Definition at line 168 of file sll_m_particle_group_3d3v.F90.
|
private |
Get weights of particle i.
[in] | self | particle group |
[in] | i | no. of the particle |
Definition at line 214 of file sll_m_particle_group_3d3v.F90.
|
private |
Get positions of particle i.
[in] | self | particle group |
[in] | i | no. of the particle |
Definition at line 157 of file sll_m_particle_group_3d3v.F90.
|
private |
Initialize particle group.
[in,out] | self | particle group |
[in] | n_particles | number of particles local to the processor |
[in] | n_total_particles | number of particles in total simulation |
[in] | charge | charge of the particle species |
[in] | mass | mass of the particle species |
[in] | n_weights | number of weights |
Definition at line 70 of file sll_m_particle_group_3d3v.F90.
|
private |
Print particle array.
Definition at line 278 of file sll_m_particle_group_3d3v.F90.
|
private |
Read particle array from file.
[in,out] | self | particle group |
[in] | filename | name of output file |
Definition at line 299 of file sll_m_particle_group_3d3v.F90.
|
private |
Set the common weight.
[in,out] | self | particle group |
[in] | x | common weight |
Definition at line 268 of file sll_m_particle_group_3d3v.F90.
|
private |
Set velocities of particle i.
[in,out] | self | particle group |
[in] | i | no. of the particle |
[in] | x | component 1 and 2 hold the particle velocity to be set |
Definition at line 246 of file sll_m_particle_group_3d3v.F90.
|
private |
Set weights of particle i.
[in,out] | self | particle group |
[in] | i | no. of the particle |
[in] | x | particle weight(s) to be set |
Definition at line 257 of file sll_m_particle_group_3d3v.F90.
|
private |
Set positions of particle i.
[in,out] | self | particle group |
[in] | i | no. of the particle |
[in] | x | components 1 and 2 hold the particle position to be set |
Definition at line 235 of file sll_m_particle_group_3d3v.F90.
subroutine, public sll_m_particle_group_3d3v::sll_s_new_particle_group_3d3v | ( | class( sll_c_particle_group_base ), intent(out), allocatable | particle_group, |
integer(kind=i32), intent(in) | n_particles, | ||
integer(kind=i32), intent(in) | n_total_particles, | ||
real(kind=f64), intent(in) | charge, | ||
real(kind=f64), intent(in) | mass, | ||
integer(kind=i32), intent(in) | n_weights | ||
) |
Constructor for abstract type.
[in] | n_particles | number of particles local to the processor |
[in] | n_total_particles | number of particles in total simulation |
[in] | charge | charge of the particle species |
[in] | mass | mass of the particle species |
[in] | n_weights | number of weights |
Definition at line 130 of file sll_m_particle_group_3d3v.F90.
subroutine, public sll_m_particle_group_3d3v::sll_s_new_particle_group_3d3v_ptr | ( | class( sll_c_particle_group_base ), intent(out), pointer | particle_group, |
integer(kind=i32), intent(in) | n_particles, | ||
integer(kind=i32), intent(in) | n_total_particles, | ||
real(kind=f64), intent(in) | charge, | ||
real(kind=f64), intent(in) | mass, | ||
integer(kind=i32), intent(in) | n_weights | ||
) |
Constructor for abstract type.
[in] | n_particles | number of particles local to the processor |
[in] | n_total_particles | number of particles in total simulation |
[in] | charge | charge of the particle species |
[in] | mass | mass of the particle species |
[in] | n_weights | number of weights |
Definition at line 102 of file sll_m_particle_group_3d3v.F90.