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

Description

Particle pusher based on antisymmetric splitting with disgradE for 3d3v Vlasov-Maxwell, modified by approximating particle mass by mass matrix.

Author
Katharina Kormann, IPP

MPI parallelization by domain cloning. Periodic boundaries. Spline DoFs numerated by the point the spline starts. Reference: Kormann, Sonnendrücker, Energy-conserving time propagation for a structure-preserving particle-in-cell Vlasov–Maxwell solver, Journal of Computational Physics 425, 109890, 2021

Derived types and interfaces

type  sll_t_time_propagator_pic_vm_3d3v_disgrade_trunc
 Time propagator for Vlasov-Maxwell 3d3v. More...
 

Functions/Subroutines

subroutine strang_splitting_pic_vm_3d3v_trunc (self, dt, number_steps)
 Strang splitting propagator. More...
 
subroutine lie_splitting_pic_vm_3d3v_trunc (self, dt, number_steps)
 Lie splitting. More...
 
subroutine lie_splitting_back_pic_vm_3d3v_trunc (self, dt, number_steps)
 Lie splitting (oposite ordering) More...
 

Function/Subroutine Documentation

◆ lie_splitting_back_pic_vm_3d3v_trunc()

subroutine sll_m_time_propagator_pic_vm_3d3v_disgrade_trunc::lie_splitting_back_pic_vm_3d3v_trunc ( class(sll_t_time_propagator_pic_vm_3d3v_disgrade_trunc), intent(inout)  self,
real(kind=f64), intent(in)  dt,
integer(kind=i32), intent(in)  number_steps 
)
private

Lie splitting (oposite ordering)

Parameters
[in,out]selftime splitting object
[in]dttime step
[in]number_stepsnumber of time steps

Definition at line 101 of file sll_m_time_propagator_pic_vm_3d3v_disgradE_trunc.F90.

◆ lie_splitting_pic_vm_3d3v_trunc()

subroutine sll_m_time_propagator_pic_vm_3d3v_disgrade_trunc::lie_splitting_pic_vm_3d3v_trunc ( class(sll_t_time_propagator_pic_vm_3d3v_disgrade_trunc), intent(inout)  self,
real(kind=f64), intent(in)  dt,
integer(kind=i32), intent(in)  number_steps 
)
private

Lie splitting.

Parameters
[in,out]selftime splitting object
[in]dttime step
[in]number_stepsnumber of time steps

Definition at line 81 of file sll_m_time_propagator_pic_vm_3d3v_disgradE_trunc.F90.

◆ strang_splitting_pic_vm_3d3v_trunc()

subroutine sll_m_time_propagator_pic_vm_3d3v_disgrade_trunc::strang_splitting_pic_vm_3d3v_trunc ( class(sll_t_time_propagator_pic_vm_3d3v_disgrade_trunc), intent(inout)  self,
real(kind=f64), intent(in)  dt,
integer(kind=i32), intent(in)  number_steps 
)
private

Strang splitting propagator.

Strang splitting

Parameters
[in,out]selftime splitting object
[in]dttime step
[in]number_stepsnumber of time steps

Definition at line 59 of file sll_m_time_propagator_pic_vm_3d3v_disgradE_trunc.F90.

    Report Typos and Errors