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_4d (thermal_speed, alpha, k, m2d, num_particles, p_group, rand_seed, rank, worldsize) |
Initialize particles in a 2d+2v phase space using random generators. The Landau damping case with a perturbation in a single direction of the physical space. More... | |
subroutine, public | sll_s_initial_hammersley_particles_4d (thermal_speed, alpha, k, m2d, num_particles, p_group, rand_seed, rank, worldsize) |
Initialize particles in a 2d+2v phase space using pseudo-random generators. The Landau damping case with a perturbation in a single direction of the physical space. More... | |
subroutine | sll_s_initial_random_particles_4d_landau2d (thermal_speed, alpha, kx, ky, m2d, num_particles, p_group, rand_seed, rank, worldsize) |
The Landau damping case with a perturbation in BOTH directions of the physical space: (x,y) --> 1 + alpha*cos(kx * x)*cos(ky * y) More... | |
real(kind=f64) function | sll_f_eval_landau1d (alp, kx, x) |
real(kind=f64) function | sll_f_eval_landau2d (alp, kx, x, ky, y) |
|
private |
Definition at line 274 of file sll_m_particle_initializers_4d.F90.
|
private |
Definition at line 280 of file sll_m_particle_initializers_4d.F90.
subroutine, public sll_m_particle_initializers_4d::sll_s_initial_hammersley_particles_4d | ( | intent(in) | thermal_speed, |
intent(in) | alpha, | ||
intent(in) | k, | ||
type(sll_t_cartesian_mesh_2d), intent(in) | m2d, | ||
intent(in) | num_particles, | ||
type(sll_t_particle_group_4d), intent(inout), pointer | p_group, | ||
optional | rand_seed, | ||
optional | rank, | ||
optional | worldsize | ||
) |
Initialize particles in a 2d+2v phase space using pseudo-random generators. The Landau damping case with a perturbation in a single direction of the physical space.
Definition at line 131 of file sll_m_particle_initializers_4d.F90.
subroutine, public sll_m_particle_initializers_4d::sll_s_initial_random_particles_4d | ( | real(kind=f64), intent(in) | thermal_speed, |
real(kind=f64), intent(in) | alpha, | ||
real(kind=f64), intent(in) | k, | ||
type(sll_t_cartesian_mesh_2d), intent(in) | m2d, | ||
intent(in) | num_particles, | ||
type(sll_t_particle_group_4d), intent(inout), pointer | p_group, | ||
optional | rand_seed, | ||
optional | rank, | ||
optional | worldsize | ||
) |
Initialize particles in a 2d+2v phase space using random generators. The Landau damping case with a perturbation in a single direction of the physical space.
[in] | k | the perturbation's parameters |
[in] | m2d | the mesh of the physical space |
[in,out] | p_group | the particle group |
Definition at line 62 of file sll_m_particle_initializers_4d.F90.
|
private |
The Landau damping case with a perturbation in BOTH directions of the physical space: (x,y) --> 1 + alpha*cos(kx * x)*cos(ky * y)
[in] | m2d | the mesh in (x,y) |
[in] | num_particles | the number of particles over a single process |
[in] | rand_seed | the random seed used by the process |
worldsize | when using more than 1 process | |
[in,out] | p_group | the particle group |
Definition at line 211 of file sll_m_particle_initializers_4d.F90.