Report Typos and Errors    
Semi-Lagrangian Library
Modular library for kinetic and gyrokinetic simulations of plasmas in fusion energy devices.
Private Member Functions | Private Attributes | List of all members
sll_t_pic_poisson_2d Type Reference

PIC Poisson solver 2d. More...

Inheritance diagram for sll_t_pic_poisson_2d:
Collaboration diagram for sll_t_pic_poisson_2d:

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...
 

Detailed Description

PIC Poisson solver 2d.

Definition at line 30 of file sll_m_pic_poisson_2d.F90.

Member Function/Subroutine Documentation

◆ add_analytic_charge()

procedure add_analytic_charge
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.

◆ add_charge()

generic add_charge
privateinherited

Definition at line 46 of file sll_m_pic_poisson_base.F90.

Here is the call graph for this function:

◆ add_charge_single()

procedure add_charge_single
private

Add contribution of one particle to the charge density.

Definition at line 50 of file sll_m_pic_poisson_2d.F90.

◆ add_charge_vector()

procedure add_charge_vector
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.

◆ compute_field_energy()

procedure compute_field_energy
private

Compute the field energy.

Definition at line 60 of file sll_m_pic_poisson_2d.F90.

◆ evaluate_field()

generic evaluate_field
privateinherited

Definition at line 47 of file sll_m_pic_poisson_base.F90.

Here is the call graph for this function:

◆ evaluate_field_single()

procedure evaluate_field_single
private

Evaluate field components at given positions.

Definition at line 54 of file sll_m_pic_poisson_2d.F90.

◆ evaluate_field_vector()

procedure evaluate_field_vector
privateinherited

Evaluate given components of the field at given positions.

Definition at line 30 of file sll_m_pic_poisson_base.F90.

◆ evaluate_phi()

generic evaluate_phi
privateinherited

Definition at line 49 of file sll_m_pic_poisson_base.F90.

Here is the call graph for this function:

◆ evaluate_phi_single()

procedure evaluate_phi_single
private

Evaluate potential at given position.

Definition at line 53 of file sll_m_pic_poisson_2d.F90.

◆ evaluate_phi_vector()

procedure evaluate_phi_vector
privateinherited

Evaluate potential at given positions.

Definition at line 34 of file sll_m_pic_poisson_base.F90.

◆ evaluate_rho()

generic evaluate_rho
privateinherited

Definition at line 48 of file sll_m_pic_poisson_base.F90.

Here is the call graph for this function:

◆ evaluate_rho_single()

procedure evaluate_rho_single
private

Evaluate charge density at given position.

Definition at line 52 of file sll_m_pic_poisson_2d.F90.

◆ evaluate_rho_vector()

procedure evaluate_rho_vector
privateinherited

Evaluate charge density at given positions.

Definition at line 32 of file sll_m_pic_poisson_base.F90.

◆ free()

procedure free
private

finalization

Definition at line 62 of file sll_m_pic_poisson_2d.F90.

◆ init()

procedure init
private

Initialize the type.

Definition at line 61 of file sll_m_pic_poisson_2d.F90.

◆ reset()

procedure reset
private

Reset accumulated charge density to zero.

Definition at line 51 of file sll_m_pic_poisson_2d.F90.

◆ set_analytic_charge()

procedure set_analytic_charge
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.

◆ solve()

procedure solve
private

Solve Poisson's equation for potential and E-fields.

Definition at line 55 of file sll_m_pic_poisson_2d.F90.

◆ solve_fields()

procedure solve_fields
private

Solve for the electric field.

Definition at line 57 of file sll_m_pic_poisson_2d.F90.

◆ solve_phi()

procedure solve_phi
private

Solve Poisson's equation for potential.

Definition at line 56 of file sll_m_pic_poisson_2d.F90.

Member Data Documentation

◆ dim

integer(kind=i32) dim
privateinherited

Dimension.

Definition at line 23 of file sll_m_pic_poisson_base.F90.

◆ efield1

real(kind=f64), dimension(:,:), allocatable efield1
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.

◆ efield2

real(kind=f64), dimension(:,:), allocatable efield2
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.

◆ efield_dofs

real(kind=f64), dimension(:,:), allocatable efield_dofs
private

Coefficients of expansion of electric field.

Definition at line 40 of file sll_m_pic_poisson_2d.F90.

◆ kernel

class(sll_c_particle_mesh_coupling_1d), pointer kernel
private

Kernel smoother taking care of charge deposition and field evaluation.

Definition at line 35 of file sll_m_pic_poisson_2d.F90.

◆ no_dofs

integer(kind=i32) no_dofs
private

Definition at line 33 of file sll_m_pic_poisson_2d.F90.

◆ no_gridpts

integer(kind=i32), dimension(2) no_gridpts
private

Definition at line 32 of file sll_m_pic_poisson_2d.F90.

◆ no_weights

integer(kind=i32) no_weights = 1
privateinherited

Number of weights used for accumulation (one per default)

Definition at line 24 of file sll_m_pic_poisson_base.F90.

◆ phi2d

real(kind=f64), dimension(:,:), allocatable phi2d
private

2d version of phi_dofs to adjust to field solver format

Definition at line 45 of file sll_m_pic_poisson_2d.F90.

◆ phi_dofs

real(kind=f64), dimension(:), allocatable phi_dofs
private

Coefficients of expansion of potential.

Definition at line 41 of file sll_m_pic_poisson_2d.F90.

◆ poisson

class(sll_c_poisson_2d_base), pointer poisson
private

Poisson solver.

Definition at line 36 of file sll_m_pic_poisson_2d.F90.

◆ rho2d

real(kind=f64), dimension(:,:), allocatable rho2d
private

2d version of rho_dofs to adjust to field solver format

Definition at line 42 of file sll_m_pic_poisson_2d.F90.

◆ rho_analyt_dofs

real(kind=f64), dimension(:), allocatable rho_analyt_dofs
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.

◆ rho_collected

logical rho_collected
private

Flag to indicate if charge deposition has been finished.

Definition at line 47 of file sll_m_pic_poisson_2d.F90.

◆ rho_dofs

real(kind=f64), dimension(:), allocatable rho_dofs
private

Coefficients of expansion of rho (MPI global version)

Definition at line 37 of file sll_m_pic_poisson_2d.F90.

◆ rho_dofs_local

real(kind=f64), dimension(:), allocatable rho_dofs_local
private

Coefficients of expansion of rho (MPI local version)

Definition at line 38 of file sll_m_pic_poisson_2d.F90.

    Report Typos and Errors