Semi-Lagrangian Library
Modular library for kinetic and gyrokinetic simulations of plasmas in fusion energy devices.
|
Initialization of particles in 2d+2v: the Landau damping case.
Rejection sampling for the perturbation function x --> 1 + alpha*cos(k*x)
Functions/Subroutines | |
subroutine, public | sll_s_initial_random_particles_6d (thermal_speed, alpha, k, mesh, num_particles, p_group, rand_seed, rank, worldsize) |
Initialize particles in a 3d+3v phase space using random generators. More... | |
real(kind=f64) function | sll_f_eval_landau1d (alp, kx, x) |
|
private |
Definition at line 150 of file sll_m_particle_initializers_6d.F90.
subroutine, public sll_m_particle_initializers_6d::sll_s_initial_random_particles_6d | ( | real(kind=f64), intent(in) | thermal_speed, |
intent(in) | alpha, | ||
real(kind=f64), intent(in) | k, | ||
type(sll_t_cartesian_mesh_3d), intent(in) | mesh, | ||
integer(kind=i32), intent(in) | num_particles, | ||
type(sll_t_particle_group_6d), intent(inout) | p_group, | ||
integer(kind=i32), dimension(:), intent(in), optional | rand_seed, | ||
integer(kind=i32), optional | rank, | ||
integer(kind=i32), optional | worldsize | ||
) |
Initialize particles in a 3d+3v phase space using random generators.
The Landau damping case with a perturbation in a single direction of the physical space.
[in] | thermal_speed | sigma of Gaussian distribution |
[in] | k | the perturbation's parameters |
[in] | mesh | the mesh of the physical space |
[in] | num_particles | particles distributed over a single rank |
[in] | rand_seed | the random seed used by the rank |
rank | when using more than 1 process | |
worldsize | when using more than 1 process | |
[in,out] | p_group | the particle group |
Definition at line 50 of file sll_m_particle_initializers_6d.F90.