Semi-Lagrangian Library
Modular library for kinetic and gyrokinetic simulations of plasmas in fusion energy devices.
|
PIC Poisson solver 2d. More...
Private Member Functions | |
procedure | add_charge_single => add_charge_single_2d |
Add contribution of one particle to the charge density. More... | |
procedure | reset => reset_2d |
Reset accumulated charge density to zero. More... | |
procedure | evaluate_rho_single => evaluate_rho_single_2d |
Evaluate charge density at given position. More... | |
procedure | evaluate_phi_single => evaluate_phi_single_2d |
Evaluate potential at given position. More... | |
procedure | evaluate_field_single => evaluate_field_single_2d |
Evaluate field components at given positions. More... | |
procedure | solve => solve_2d |
Solve Poisson's equation for potential and E-fields. More... | |
procedure | solve_phi => solve_phi_2d |
Solve Poisson's equation for potential. More... | |
procedure | solve_fields => solve_fields_2d |
Solve for the electric field. More... | |
procedure | add_analytic_charge => add_analytic_charge_2d |
!< Set charge as linear combination of previously accumulated charge and previously set analytic charge. More... | |
procedure | set_analytic_charge => set_analytic_charge_2d |
Set the value of the analytic charge contribution from a given function. More... | |
procedure | compute_field_energy => compute_field_energy_2d |
Compute the field energy. More... | |
procedure | init => init_pic_poisson_2d |
Initialize the type. More... | |
procedure | free => free_pic_poisson_2d |
finalization More... | |
procedure | add_charge_vector |
Add the contribution of a number of particles to the charge density. More... | |
procedure | evaluate_field_vector |
Evaluate given components of the field at given positions. More... | |
procedure | evaluate_rho_vector |
Evaluate charge density at given positions. More... | |
procedure | evaluate_phi_vector |
Evaluate potential at given positions. More... | |
generic | add_charge => add_charge_single, add_charge_vector |
generic | evaluate_field => evaluate_field_single, evaluate_field_vector |
generic | evaluate_rho => evaluate_rho_single, evaluate_rho_vector |
generic | evaluate_phi => evaluate_phi_single, evaluate_phi_vector |
Private Attributes | |
integer(kind=i32), dimension(2) | no_gridpts |
integer(kind=i32) | no_dofs |
class(sll_c_particle_mesh_coupling_1d), pointer | kernel |
Kernel smoother taking care of charge deposition and field evaluation. More... | |
class(sll_c_poisson_2d_base), pointer | poisson |
Poisson solver. More... | |
real(kind=f64), dimension(:), allocatable | rho_dofs |
Coefficients of expansion of rho (MPI global version) More... | |
real(kind=f64), dimension(:), allocatable | rho_dofs_local |
Coefficients of expansion of rho (MPI local version) More... | |
real(kind=f64), dimension(:), allocatable | rho_analyt_dofs |
Analytic contribution to the coefficients of expansion of rho (for delta f) More... | |
real(kind=f64), dimension(:,:), allocatable | efield_dofs |
Coefficients of expansion of electric field. More... | |
real(kind=f64), dimension(:), allocatable | phi_dofs |
Coefficients of expansion of potential. More... | |
real(kind=f64), dimension(:,:), allocatable | rho2d |
2d version of rho_dofs to adjust to field solver format More... | |
real(kind=f64), dimension(:,:), allocatable | efield1 |
2d version of efield_dofs(:,1) to adjust to field solver format More... | |
real(kind=f64), dimension(:,:), allocatable | efield2 |
2d version of efield_dofs(:,2) to adjust to field solver format More... | |
real(kind=f64), dimension(:,:), allocatable | phi2d |
2d version of phi_dofs to adjust to field solver format More... | |
logical | rho_collected |
Flag to indicate if charge deposition has been finished. More... | |
integer(kind=i32) | dim |
Dimension. More... | |
integer(kind=i32) | no_weights = 1 |
Number of weights used for accumulation (one per default) More... | |
PIC Poisson solver 2d.
Definition at line 30 of file sll_m_pic_poisson_2d.F90.
|
private |
!< Set charge as linear combination of previously accumulated charge and previously set analytic charge.
Definition at line 58 of file sll_m_pic_poisson_2d.F90.
|
privateinherited |
|
private |
Add contribution of one particle to the charge density.
Definition at line 50 of file sll_m_pic_poisson_2d.F90.
|
privateinherited |
Add the contribution of a number of particles to the charge density.
Definition at line 28 of file sll_m_pic_poisson_base.F90.
|
private |
Compute the field energy.
Definition at line 60 of file sll_m_pic_poisson_2d.F90.
|
privateinherited |
|
private |
Evaluate field components at given positions.
Definition at line 54 of file sll_m_pic_poisson_2d.F90.
|
privateinherited |
Evaluate given components of the field at given positions.
Definition at line 30 of file sll_m_pic_poisson_base.F90.
|
privateinherited |
|
private |
Evaluate potential at given position.
Definition at line 53 of file sll_m_pic_poisson_2d.F90.
|
privateinherited |
Evaluate potential at given positions.
Definition at line 34 of file sll_m_pic_poisson_base.F90.
|
privateinherited |
|
private |
Evaluate charge density at given position.
Definition at line 52 of file sll_m_pic_poisson_2d.F90.
|
privateinherited |
Evaluate charge density at given positions.
Definition at line 32 of file sll_m_pic_poisson_base.F90.
|
private |
finalization
Definition at line 62 of file sll_m_pic_poisson_2d.F90.
|
private |
Initialize the type.
Definition at line 61 of file sll_m_pic_poisson_2d.F90.
|
private |
Reset accumulated charge density to zero.
Definition at line 51 of file sll_m_pic_poisson_2d.F90.
|
private |
Set the value of the analytic charge contribution from a given function.
Definition at line 59 of file sll_m_pic_poisson_2d.F90.
|
private |
Solve Poisson's equation for potential and E-fields.
Definition at line 55 of file sll_m_pic_poisson_2d.F90.
|
private |
Solve for the electric field.
Definition at line 57 of file sll_m_pic_poisson_2d.F90.
|
private |
Solve Poisson's equation for potential.
Definition at line 56 of file sll_m_pic_poisson_2d.F90.
|
privateinherited |
Dimension.
Definition at line 23 of file sll_m_pic_poisson_base.F90.
|
private |
2d version of efield_dofs(:,1) to adjust to field solver format
Definition at line 43 of file sll_m_pic_poisson_2d.F90.
|
private |
2d version of efield_dofs(:,2) to adjust to field solver format
Definition at line 44 of file sll_m_pic_poisson_2d.F90.
|
private |
Coefficients of expansion of electric field.
Definition at line 40 of file sll_m_pic_poisson_2d.F90.
|
private |
Kernel smoother taking care of charge deposition and field evaluation.
Definition at line 35 of file sll_m_pic_poisson_2d.F90.
|
private |
Definition at line 33 of file sll_m_pic_poisson_2d.F90.
|
private |
Definition at line 32 of file sll_m_pic_poisson_2d.F90.
|
privateinherited |
Number of weights used for accumulation (one per default)
Definition at line 24 of file sll_m_pic_poisson_base.F90.
|
private |
2d version of phi_dofs to adjust to field solver format
Definition at line 45 of file sll_m_pic_poisson_2d.F90.
|
private |
Coefficients of expansion of potential.
Definition at line 41 of file sll_m_pic_poisson_2d.F90.
|
private |
Poisson solver.
Definition at line 36 of file sll_m_pic_poisson_2d.F90.
|
private |
2d version of rho_dofs to adjust to field solver format
Definition at line 42 of file sll_m_pic_poisson_2d.F90.
|
private |
Analytic contribution to the coefficients of expansion of rho (for delta f)
Definition at line 39 of file sll_m_pic_poisson_2d.F90.
|
private |
Flag to indicate if charge deposition has been finished.
Definition at line 47 of file sll_m_pic_poisson_2d.F90.
|
private |
Coefficients of expansion of rho (MPI global version)
Definition at line 37 of file sll_m_pic_poisson_2d.F90.
|
private |
Coefficients of expansion of rho (MPI local version)
Definition at line 38 of file sll_m_pic_poisson_2d.F90.