Semi-Lagrangian Library
Modular library for kinetic and gyrokinetic simulations of plasmas in fusion energy devices.
|
Derived types and interfaces | |
type | sll_t_time_propagator_pic_vm_3d3v_trafo_helper |
Helper for implicit time propagator for 3d3v Vlasov-Maxwell with coordinate transformation. More... | |
Functions/Subroutines | |
subroutine | advect_x_pic_vm_3d3v_trafo (self, dt) |
Finalization. More... | |
subroutine | sll_s_compute_particle_boundary (self, xold, xnew, vi) |
Helper function for advect_x. More... | |
subroutine | advect_vb_pic_vm_3d3v_trafo (self, dt) |
advect_vb: Equations to be solved $(\mathbb{I}-\Delta \frac{\Delta t q}{2 m} DF^{-\top} \mathbb{B}(\Xi^n,b^n) DF^{-1}) V^{n+1}=(\mathbb{I}+ \frac{\Delta t q}{2 m} DF^{-\top} \mathbb{B}(\Xi^n,b^n) DF^{-1}) V^n$ More... | |
subroutine | advect_eb_pic_vm_3d3v_trafo (self, dt) |
advect_eb: Equations to be solved Solution with Schur complement: $ S=M_1+\frac{\Delta t^2}{4} C^\top M_2 C $ $ e^{n+1}=S^{-1}( (M_1-\frac{\Delta t^2}{4} C^\top M_2 C)e^n+\Delta t C^\top M_2 b^n) $ $ b^{n+1}=b^n-\frac{\Delta t}{2} C(e^n+e^{n+1}) $ More... | |
subroutine | advect_e_pic_vm_3d3v_trafo (self, dt) |
advect_e: Equations to be solved Solution with Schur complement: $ S_{+}=M_1+\frac{\Delta t^2 q^2}{4 m} (\mathbb{\Lambda}^1)^T DF^{-1} DF^{-T} \mathbb{\Lambda}^1 $ $e^{n+1}=S_{+}^{-1}\left(S_{-}e^n-\Delta t (\mathbb{\Lambda}^1)^\top DF^{-1}\mathbb{W}_q V^n \right)$ $V^{n+1}=V^n+\frac{\Delta t}{2} \mathbb{W}_{\frac{q}{m}} DF^{-\top} \mathbb{\Lambda}^1(e^{n+1}+e^n)$ More... | |
subroutine | advect_ex_pic_vm_3d3v_trafo (self, dt) |
advect_ex: Equations to be solved $\frac{\Xi^{n+1}-\Xi^n}{\Delta t}=\frac{DF^{-1}(\Xi^{n+1})+DF^{-1}(\Xi^n)}{2} \frac{V^{n+1}+V^n}{2}$ $\frac{V^{n+1}-V^n}{\Delta t}=\mathbb{W}_{\frac{q}{m}} \frac{DF^{-\top}(\Xi^{n+1})+DF^{-\top}(\Xi^n)}{2} \frac{1}{\Delta t}\int_{t^n}^{t^{n+1}} \mathbb{\Lambda}^1(\Xi(\tau)) d\tau \frac{e^{n+1}+e^n}{2}$ $\frac{M_1 e^{n+1}-M_1 e^n}{\Delta t} = - \frac{1}{\Delta t} \int_{t^n}^{t^{n+1}} \mathbb{\Lambda}^1(\Xi(\tau))^\top d\tau \frac{DF^{-1}(\Xi^{n+1})+DF^{-1}(\Xi^n)}{2} \mathbb{W}_q\frac{V^{n+1}+V^n}{2}$ More... | |
subroutine | compute_particle_boundary_current_evaluate_iter (self, xi, xnew, vi, wi, sign) |
Helper function for advect_ex. More... | |
subroutine | compute_particle_boundary_current_evaluate (self, xi, xnew, vi, wi, sign) |
Helper function for advect_ex. More... | |
subroutine | initialize_pic_vm_3d3v_trafo (self, maxwell_solver, particle_mesh_coupling, particle_group, phi_dofs, efield_dofs, bfield_dofs, x_min, Lx, map, boundary_particles, solver_tolerance, iter_tolerance, max_iter, betar, force_sign, rhob, control_variate, jmean) |
Constructor. More... | |
subroutine | initialize_file_pic_vm_3d3v_trafo (self, maxwell_solver, particle_mesh_coupling, particle_group, phi_dofs, efield_dofs, bfield_dofs, x_min, Lx, map, filename, boundary_particles, betar, force_sign, rhob, control_variate, jmean) |
Constructor. More... | |
subroutine | delete_pic_vm_3d3v_trafo (self) |
Destructor. More... | |
|
private |
advect_e: Equations to be solved Solution with Schur complement: $ S_{+}=M_1+\frac{\Delta t^2 q^2}{4 m} (\mathbb{\Lambda}^1)^T DF^{-1} DF^{-T} \mathbb{\Lambda}^1 $ $e^{n+1}=S_{+}^{-1}\left(S_{-}e^n-\Delta t (\mathbb{\Lambda}^1)^\top DF^{-1}\mathbb{W}_q V^n \right)$ $V^{n+1}=V^n+\frac{\Delta t}{2} \mathbb{W}_{\frac{q}{m}} DF^{-\top} \mathbb{\Lambda}^1(e^{n+1}+e^n)$
[in,out] | self | time propagator object |
[in] | dt | time step |
Definition at line 378 of file sll_m_time_propagator_pic_vm_3d3v_trafo_helper.F90.
|
private |
advect_eb: Equations to be solved Solution with Schur complement: $ S=M_1+\frac{\Delta t^2}{4} C^\top M_2 C $ $ e^{n+1}=S^{-1}( (M_1-\frac{\Delta t^2}{4} C^\top M_2 C)e^n+\Delta t C^\top M_2 b^n) $ $ b^{n+1}=b^n-\frac{\Delta t}{2} C(e^n+e^{n+1}) $
[in,out] | self | time propagator object |
[in] | dt | time step |
Definition at line 364 of file sll_m_time_propagator_pic_vm_3d3v_trafo_helper.F90.
|
private |
advect_ex: Equations to be solved $\frac{\Xi^{n+1}-\Xi^n}{\Delta t}=\frac{DF^{-1}(\Xi^{n+1})+DF^{-1}(\Xi^n)}{2} \frac{V^{n+1}+V^n}{2}$ $\frac{V^{n+1}-V^n}{\Delta t}=\mathbb{W}_{\frac{q}{m}} \frac{DF^{-\top}(\Xi^{n+1})+DF^{-\top}(\Xi^n)}{2} \frac{1}{\Delta t}\int_{t^n}^{t^{n+1}} \mathbb{\Lambda}^1(\Xi(\tau)) d\tau \frac{e^{n+1}+e^n}{2}$ $\frac{M_1 e^{n+1}-M_1 e^n}{\Delta t} = - \frac{1}{\Delta t} \int_{t^n}^{t^{n+1}} \mathbb{\Lambda}^1(\Xi(\tau))^\top d\tau \frac{DF^{-1}(\Xi^{n+1})+DF^{-1}(\Xi^n)}{2} \mathbb{W}_q\frac{V^{n+1}+V^n}{2}$
[in,out] | self | time propagator object |
[in] | dt | time step |
Definition at line 654 of file sll_m_time_propagator_pic_vm_3d3v_trafo_helper.F90.
|
private |
advect_vb: Equations to be solved $(\mathbb{I}-\Delta \frac{\Delta t q}{2 m} DF^{-\top} \mathbb{B}(\Xi^n,b^n) DF^{-1}) V^{n+1}=(\mathbb{I}+ \frac{\Delta t q}{2 m} DF^{-\top} \mathbb{B}(\Xi^n,b^n) DF^{-1}) V^n$
[in,out] | self | time propagator object |
[in] | dt | time step |
Definition at line 306 of file sll_m_time_propagator_pic_vm_3d3v_trafo_helper.F90.
|
private |
Finalization.
advect_x: Equations to be solved $\Xi^{n+1}=\Xi^n+ \frac{\Delta t}{2} (DF^{-1}(\Xi^{n+1})+DF^{-1}(\Xi^n)) V^n$
[in,out] | self | time propagator object |
[in] | dt | time step |
Definition at line 192 of file sll_m_time_propagator_pic_vm_3d3v_trafo_helper.F90.
|
private |
Helper function for advect_ex.
[in,out] | self | time splitting object |
Definition at line 964 of file sll_m_time_propagator_pic_vm_3d3v_trafo_helper.F90.
|
private |
Helper function for advect_ex.
[in,out] | self | time splitting object |
Definition at line 871 of file sll_m_time_propagator_pic_vm_3d3v_trafo_helper.F90.
|
private |
Destructor.
[in,out] | self | time propagator object |
Definition at line 1622 of file sll_m_time_propagator_pic_vm_3d3v_trafo_helper.F90.
|
private |
Constructor.
[out] | self | time propagator object |
[in] | maxwell_solver | Maxwell solver |
[in] | particle_mesh_coupling | Particle mesh coupling |
[in] | particle_group | Particle group |
[in] | phi_dofs | array for the coefficients of the scalar potential |
[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,out] | map | Coordinate transformation |
[in] | boundary_particles | particle boundary conditions |
[in] | betar | reciprocal plasma beta |
[in] | force_sign | sign of particle force |
[in] | rhob | charge at the boundary |
[in] | control_variate | Control variate (if delta f) |
[in] | jmean | logical for mean value of current |
Definition at line 1285 of file sll_m_time_propagator_pic_vm_3d3v_trafo_helper.F90.
|
private |
Constructor.
[out] | self | time propagator object |
[in] | maxwell_solver | Maxwell solver |
[in] | particle_mesh_coupling | Particle mesh coupling |
[in] | particle_group | Particle group |
[in] | phi_dofs | array for the coefficients of the scalar potential |
[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,out] | 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] | betar | reciprocal plasma beta |
[in] | force_sign | sign of particle force |
[in] | rhob | charge at the boundary |
[in] | control_variate | Control variate (if delta f) |
[in] | jmean | logical for mean value of current |
Definition at line 1051 of file sll_m_time_propagator_pic_vm_3d3v_trafo_helper.F90.
|
private |
Helper function for advect_x.
Definition at line 250 of file sll_m_time_propagator_pic_vm_3d3v_trafo_helper.F90.