Semi-Lagrangian Library
Modular library for kinetic and gyrokinetic simulations of plasmas in fusion energy devices.
|
Particle pusher based on Lapentas splitting in Ecsim for 1d2v Vlasov-Poisson.
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_ecsim2o |
Hamiltonian splitting type for Vlasov-Maxwell 1d2v. More... | |
Functions/Subroutines | |
subroutine | strang_splitting_pic_vm_1d2v_ecsim2o (self, dt, number_steps) |
Finalization. More... | |
subroutine | lie_splitting_pic_vm_1d2v_ecsim2o (self, dt, number_steps) |
Lie splitting. More... | |
subroutine | lie_splitting_back_pic_vm_1d2v_ecsim2o (self, dt, number_steps) |
Lie splitting. More... | |
subroutine | advect_x_pic_vm_1d2v_ecsim2o (self, dt) |
subroutine | advect_eb_pic_vm_1d2v_ecsim2o (self, dt) |
subroutine | advect_ev_pic_vm_1d2v_ecsim2o (self, dt) |
subroutine | add_particle_mass_mixed_spline_1d (self, kernel_smoother, degree1, degree2, position, marker_charge, particle_mass) |
Add charge of one particle for splines of different degrees. More... | |
subroutine | righthandside_eb (self, dt, rhs) |
calculation of the righthandside of the system of maxwellequations More... | |
subroutine | righthandside_ev (self, dt, rhs) |
calculation of the righthandside of the system of maxwellequations More... | |
subroutine | initialize_pic_vm_1d2v_ecsim2o (self, kernel_smoother_0, kernel_smoother_1, particle_group, efield_dofs, bfield_dofs, x_min, Lx, solver_tolerance) |
Constructor. More... | |
subroutine | delete_pic_vm_1d2v_ecsim2o (self) |
Destructor. More... | |
|
private |
Add charge of one particle for splines of different degrees.
[in,out] | self | Time splitting object |
[in] | kernel_smoother | Kernel smoother |
[in] | degree1 | Degrees of first spline |
[in] | degree2 | Degree of second spline |
[in] | position | Position of the particle |
[in] | marker_charge | Particle weights time charge |
[in,out] | particle_mass | Coefficient vector of the charge distribution |
Definition at line 320 of file sll_m_time_propagator_pic_vm_1d2v_ecsim2o.F90.
|
private |
[in,out] | self | time splitting object |
[in] | dt | time step |
Definition at line 179 of file sll_m_time_propagator_pic_vm_1d2v_ecsim2o.F90.
|
private |
[in,out] | self | time splitting object |
[in] | dt | time step |
Definition at line 199 of file sll_m_time_propagator_pic_vm_1d2v_ecsim2o.F90.
|
private |
[in,out] | self | time splitting object |
[in] | dt | time step |
Definition at line 157 of file sll_m_time_propagator_pic_vm_1d2v_ecsim2o.F90.
|
private |
Destructor.
[in,out] | self | time splitting object |
Definition at line 545 of file sll_m_time_propagator_pic_vm_1d2v_ecsim2o.F90.
|
private |
Constructor.
[out] | self | time splitting object |
[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] | solver_tolerance | solver tolerance |
Definition at line 451 of file sll_m_time_propagator_pic_vm_1d2v_ecsim2o.F90.
|
private |
Lie splitting.
[in,out] | self | time splitting object |
[in] | dt | time step |
[in] | number_steps | number of time steps |
Definition at line 141 of file sll_m_time_propagator_pic_vm_1d2v_ecsim2o.F90.
|
private |
Lie splitting.
[in,out] | self | time splitting object |
[in] | dt | time step |
[in] | number_steps | number of time steps |
Definition at line 124 of file sll_m_time_propagator_pic_vm_1d2v_ecsim2o.F90.
|
private |
calculation of the righthandside of the system of maxwellequations
[in,out] | self | Time splitting object |
[in] | dt | Timestep |
[out] | rhs | Righthandside of the equationsystem |
Definition at line 358 of file sll_m_time_propagator_pic_vm_1d2v_ecsim2o.F90.
|
private |
calculation of the righthandside of the system of maxwellequations
[in,out] | self | Time splitting object |
[in] | dt | Timestep |
[out] | rhs | Righthandside of the equationsystem |
Definition at line 400 of file sll_m_time_propagator_pic_vm_1d2v_ecsim2o.F90.
|
private |
Finalization.
Strang splitting
[in,out] | self | time splitting object |
[in] | dt | time step |
[in] | number_steps | number of time steps |
Definition at line 104 of file sll_m_time_propagator_pic_vm_1d2v_ecsim2o.F90.