![]() |
Semi-Lagrangian Library
Modular library for kinetic and gyrokinetic simulations of plasmas in fusion energy devices.
|
Simple particle group type for 1d2v.
...
Derived types and interfaces | |
| type | sll_t_particle_group_1d2v |
| Simple version of a PIC particle group in 1d2v. More... | |
Functions/Subroutines | |
| subroutine | delete_particle_group_1d2v (self) |
| Destructor. More... | |
| subroutine | initialize_particle_group_1d2v (self, n_particles, n_total_particles, charge, mass, n_weights) |
| Initialization of the particle group. More... | |
| subroutine, public | sll_s_new_particle_group_1d2v_ptr (particle_group, n_particles, n_total_particles, charge, mass, n_weights) |
| Constructor for pointer. More... | |
| subroutine, public | sll_s_new_particle_group_1d2v (particle_group, n_particles, n_total_particles, charge, mass, n_weights) |
| Constructor for allocatable. More... | |
| pure real(kind=f64) function, dimension(3) | get_x_1d2v (self, i) |
| Get position. More... | |
| pure real(kind=f64) function, dimension(3) | get_v_1d2v (self, i) |
| Get velocities. More... | |
| pure real(kind=f64) function | get_charge_1d2v (self, i, i_weight) |
| Get charge of particle (q * particle_weight) More... | |
| pure real(kind=f64) function | get_mass_1d2v (self, i, i_weight) |
| Get mass of particle (m * particle_weight) More... | |
| pure real(kind=f64) function, dimension(self%n_weights) | get_weights_1d2v (self, i) |
| Get particle weights. More... | |
| pure real(kind=f64) function | get_common_weight_1d2v (self) |
| Set the common weight. More... | |
| subroutine | set_x_1d2v (self, i, x) |
| Set position of particle i. More... | |
| subroutine | set_v_1d2v (self, i, x) |
| Set velocity of particle i. More... | |
| subroutine | set_weight_1d2v (self, i, x) |
| Set weights of particle i. More... | |
| subroutine | set_common_weight_1d2v (self, x) |
| Set the common weight. More... | |
| subroutine | print_particle_group_1d2v (self, filename) |
| Print particle array to file. More... | |
| subroutine | read_particle_group_1d2v (self, filename) |
| Read particle array from file. More... | |
|
private |
Destructor.
| [in,out] | self | particle group |
Definition at line 62 of file sll_m_particle_group_1d2v.F90.
|
private |
Get charge of particle (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 185 of file sll_m_particle_group_1d2v.F90.
|
private |
Set the common weight.
| [in] | self | particle group |
Definition at line 229 of file sll_m_particle_group_1d2v.F90.
|
private |
Get mass of particle (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 202 of file sll_m_particle_group_1d2v.F90.
|
private |
Get velocities.
| [in] | self | particle group |
| [in] | i | no. of the particle |
Definition at line 172 of file sll_m_particle_group_1d2v.F90.
|
private |
Get particle weights.
| [in] | self | particle group |
| [in] | i | no. of the particle |
Definition at line 218 of file sll_m_particle_group_1d2v.F90.
|
private |
Get position.
| [in] | self | particle group |
| [in] | i | no. of the particle |
Definition at line 160 of file sll_m_particle_group_1d2v.F90.
|
private |
Initialization of the 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(self, n_particles) |
| [in] | n_weights | number of weights |
Definition at line 71 of file sll_m_particle_group_1d2v.F90.
|
private |
Print particle array to file.
| [in] | self | particle group |
| [in] | filename | name of output file |
Definition at line 284 of file sll_m_particle_group_1d2v.F90.
|
private |
Read particle array from file.
| [in,out] | self | particle group |
| [in] | filename | name of output file |
Definition at line 324 of file sll_m_particle_group_1d2v.F90.
|
private |
Set the common weight.
| [in,out] | self | particle group |
| [in] | x | common weight |
Definition at line 273 of file sll_m_particle_group_1d2v.F90.
|
private |
Set velocity of particle i.
| [in,out] | self | particle group |
| [in] | i | no. of the particle |
| [in] | x | first two components hold the values of the velocity to be set |
Definition at line 250 of file sll_m_particle_group_1d2v.F90.
|
private |
Set weights of particle i.
| [in,out] | self | particle group |
| [in] | i | no. of the particle |
| [in] | x | particle weight(s) |
Definition at line 261 of file sll_m_particle_group_1d2v.F90.
|
private |
Set position of particle i.
| [in,out] | self | particle group |
| [in] | i | no. of the particle |
| [in] | x | first component holds the value of the position to be set |
Definition at line 239 of file sll_m_particle_group_1d2v.F90.
| subroutine, public sll_m_particle_group_1d2v::sll_s_new_particle_group_1d2v | ( | 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 allocatable.
| [out] | particle_group | abstract 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 132 of file sll_m_particle_group_1d2v.F90.
| subroutine, public sll_m_particle_group_1d2v::sll_s_new_particle_group_1d2v_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 pointer.
| [out] | particle_group | abstract 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 104 of file sll_m_particle_group_1d2v.F90.
1.9.1