Report Typos and Errors    
Semi-Lagrangian Library
Modular library for kinetic and gyrokinetic simulations of plasmas in fusion energy devices.
Functions/Subroutines
sll_m_particle_initializers_4d Module Reference

Description

Initialization of particles in 2d+2v: the Landau damping case.

Rejection sampling for the perturbation function x --> 1 + alpha*cos(k*x)

Author
: S. Hirstoaga

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)
 

Function/Subroutine Documentation

◆ sll_f_eval_landau1d()

real(kind=f64) function sll_m_particle_initializers_4d::sll_f_eval_landau1d ( real(kind=f64)  alp,
real(kind=f64)  kx,
real(kind=f64)  x 
)
private

Definition at line 274 of file sll_m_particle_initializers_4d.F90.

Here is the caller graph for this function:

◆ sll_f_eval_landau2d()

real(kind=f64) function sll_m_particle_initializers_4d::sll_f_eval_landau2d ( real(kind=f64)  alp,
real(kind=f64)  kx,
real(kind=f64)  x,
real(kind=f64)  ky,
real(kind=f64)  y 
)
private

Definition at line 280 of file sll_m_particle_initializers_4d.F90.

Here is the caller graph for this function:

◆ sll_s_initial_hammersley_particles_4d()

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.

Here is the call graph for this function:

◆ sll_s_initial_random_particles_4d()

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.

Parameters
[in]kthe perturbation's parameters
[in]m2dthe mesh of the physical space
[in,out]p_groupthe particle group

Definition at line 62 of file sll_m_particle_initializers_4d.F90.

Here is the call graph for this function:

◆ sll_s_initial_random_particles_4d_landau2d()

subroutine sll_m_particle_initializers_4d::sll_s_initial_random_particles_4d_landau2d ( intent(in)  thermal_speed,
intent(in)  alpha,
intent(in)  kx,
intent(in)  ky,
type(sll_t_cartesian_mesh_2d), intent(in)  m2d,
integer(kind=i32), intent(in)  num_particles,
type(sll_t_particle_group_4d), intent(inout), pointer  p_group,
integer(kind=i32), dimension(:), intent(in), optional  rand_seed,
integer(kind=i32), optional  rank,
integer(kind=i32), optional  worldsize 
)
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)

Parameters
[in]m2dthe mesh in (x,y)
[in]num_particlesthe number of particles over a single process
[in]rand_seedthe random seed used by the process
worldsizewhen using more than 1 process
[in,out]p_groupthe particle group

Definition at line 211 of file sll_m_particle_initializers_4d.F90.

Here is the call graph for this function:
    Report Typos and Errors