Semi-Lagrangian Library
Modular library for kinetic and gyrokinetic simulations of plasmas in fusion energy devices.
|
Particle pusher based on operator splitting for 2d2v Vlasov-Poisson.
MPI parallelization by domain cloning. Periodic boundaries.
Derived types and interfaces | |
type | sll_t_operator_splitting_pic_vp_2d2v |
Operator splitting type for 2d2v Vlasov-Poisson. More... | |
Functions/Subroutines | |
subroutine | strang_splitting_pic_vp_2d2v (this, dt) |
initializer More... | |
subroutine | advection_x_pic_vp_2d2v (this, dt) |
Push x. More... | |
subroutine | advection_v_pic_vp_2d2v (this, dt) |
subroutine | charge_deposition_vp_2d2v (this) |
subroutine | field_solver_vp_2d2v (this) |
subroutine | initialize_operator_splitting_pic_vp_2d2v (this, pic_poisson, particle_group, control_variate, i_weight) |
Initialization function. More... | |
subroutine | delete_operator_splitting_pic_vp_2d2v (this) |
Destructor. More... | |
subroutine, public | sll_s_new_operator_splitting_pic_vp_2d2v (splitting, pic_poisson, particle_group, control_variate, i_weight) |
Constructor for abstract type. More... | |
|
private |
[in,out] | this | time splitting object |
[in] | dt | time step |
Definition at line 110 of file sll_m_operator_splitting_pic_vp_2d2v.F90.
|
private |
Push x.
[in,out] | this | time splitting object |
[in] | dt | time step |
Definition at line 81 of file sll_m_operator_splitting_pic_vp_2d2v.F90.
|
private |
[in,out] | this | time splitting object |
Definition at line 147 of file sll_m_operator_splitting_pic_vp_2d2v.F90.
|
private |
Destructor.
[in,out] | this | time splitting object |
Definition at line 198 of file sll_m_operator_splitting_pic_vp_2d2v.F90.
|
private |
[in,out] | this | time splitting object |
Definition at line 166 of file sll_m_operator_splitting_pic_vp_2d2v.F90.
|
private |
Initialization function.
[out] | this | time splitting object |
[in] | pic_poisson | PIC Poisson solver |
[in] | particle_group | Particle group |
[in] | control_variate | Control variate (if delta f) |
Definition at line 175 of file sll_m_operator_splitting_pic_vp_2d2v.F90.
subroutine, public sll_m_operator_splitting_pic_vp_2d2v::sll_s_new_operator_splitting_pic_vp_2d2v | ( | class(sll_t_operator_splitting), intent(out), pointer | splitting, |
class(sll_c_pic_poisson), intent(in), pointer | pic_poisson, | ||
class(sll_c_particle_group_base), intent(in), pointer | particle_group, | ||
class(sll_t_control_variate), intent(in), optional, pointer | control_variate, | ||
intent(in) | i_weight | ||
) |
Constructor for abstract type.
[out] | splitting | time splitting object |
[in] | pic_poisson | PIC Poisson solver |
[in] | particle_group | Particle group |
[in] | control_variate | Control variate (if delta f) |
Definition at line 209 of file sll_m_operator_splitting_pic_vp_2d2v.F90.
|
private |
initializer
Strang splitting
[in,out] | this | time splitting object |
[in] | dt | time step |
Definition at line 62 of file sll_m_operator_splitting_pic_vp_2d2v.F90.