Semi-Lagrangian Library
Modular library for kinetic and gyrokinetic simulations of plasmas in fusion energy devices.
|
Particle pusher based on antisymmetric splitting with AVF for 1d2v Vlasov-Poisson with coordinate transformation.
MPI parallelization by domain cloning. Periodic boundaries. Spline DoFs numerated by the point the spline starts.
Derived types and interfaces | |
type | sll_t_time_propagator_pic_vm_1d2v_disgrade_trafo |
Hamiltonian splitting type for Vlasov-Maxwell 1d2v. More... | |
Functions/Subroutines | |
subroutine | strang_splitting_pic_vm_1d2v (self, dt, number_steps) |
Finalization. More... | |
subroutine | lie_splitting_pic_vm_1d2v (self, dt, number_steps) |
Lie splitting. More... | |
subroutine | lie_splitting_back_pic_vm_1d2v (self, dt, number_steps) |
Lie splitting. More... | |
subroutine | initialize_pic_vm_1d2v (self, maxwell_solver, kernel_smoother_0, kernel_smoother_1, particle_group, efield_dofs, bfield_dofs, x_min, Lx, map, boundary_particles, solver_tolerance, iter_tolerance, max_iter, force_sign, electrostatic, jmean) |
Constructor. More... | |
subroutine | initialize_file_pic_vm_1d2v (self, maxwell_solver, kernel_smoother_0, kernel_smoother_1, particle_group, efield_dofs, bfield_dofs, x_min, Lx, map, filename, boundary_particles, force_sign, electrostatic, jmean) |
Constructor. More... | |
subroutine | delete_pic_vm_1d2v (self) |
Destructor. More... | |
|
private |
Destructor.
[in,out] | self | time propagator object |
Definition at line 329 of file sll_m_time_propagator_pic_vm_1d2v_disgradE_trafo.F90.
|
private |
Constructor.
[out] | self | time propagator object |
[in] | maxwell_solver | Maxwell solver |
[in] | kernel_smoother_0 | Kernel smoother |
[in] | kernel_smoother_1 | Kernel smoother |
[in] | particle_group | Particle group |
[in] | efield_dofs | array for the coefficients of the efields |
[in] | bfield_dofs | array for the coefficients of the bfield |
[in] | x_min | Lower bound of x domain |
[in] | lx | Length of the domain in x direction. |
[in] | map | Coordinate transformation |
[in] | boundary_particles | particle boundary conditions |
[in] | force_sign | sign of particle force |
[in] | electrostatic | true for electrostatic simulation |
[in] | jmean | logical for mean value of current |
Definition at line 250 of file sll_m_time_propagator_pic_vm_1d2v_disgradE_trafo.F90.
|
private |
Constructor.
[out] | self | time propagator object |
[in] | maxwell_solver | Maxwell solver |
[in] | kernel_smoother_0 | Kernel smoother |
[in] | kernel_smoother_1 | Kernel smoother |
[in] | particle_group | Particle group |
[in] | efield_dofs | array for the coefficients of the efields |
[in] | bfield_dofs | array for the coefficients of the bfield |
[in] | x_min | Lower bound of x domain |
[in] | lx | Length of the domain in x direction. |
[in] | map | Coordinate transformation |
[in] | boundary_particles | particle boundary conditions |
[in] | solver_tolerance | solver tolerance |
[in] | iter_tolerance | iteration tolerance |
[in] | max_iter | maximal number of iterations |
[in] | force_sign | sign of particle force |
[in] | electrostatic | true for electrostatic simulation |
[in] | jmean | logical for mean value of current |
Definition at line 150 of file sll_m_time_propagator_pic_vm_1d2v_disgradE_trafo.F90.
|
private |
Lie splitting.
[in,out] | self | time propagator object |
[in] | dt | time step |
[in] | number_steps | number of time steps |
Definition at line 123 of file sll_m_time_propagator_pic_vm_1d2v_disgradE_trafo.F90.
|
private |
Lie splitting.
[in,out] | self | time propagator object |
[in] | dt | time step |
[in] | number_steps | number of time steps |
Definition at line 97 of file sll_m_time_propagator_pic_vm_1d2v_disgradE_trafo.F90.
|
private |
Finalization.
Strang splitting
[in,out] | self | time propagator object |
[in] | dt | time step |
[in] | number_steps | number of time steps |
Definition at line 66 of file sll_m_time_propagator_pic_vm_1d2v_disgradE_trafo.F90.