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_c_pic_poisson Type Reference

Basic type of Poisson solver for PIC simulations. More...

Inheritance diagram for sll_c_pic_poisson:
Collaboration diagram for sll_c_pic_poisson:

Private Member Functions

procedure(add_single), deferred add_charge_single
 Add the contribution of one particle to the charge density. More...
 
procedure add_charge_vector
 Add the contribution of a number of particles to the charge density. More...
 
procedure(eval_component_single), deferred evaluate_field_single
 Evaluate given components of the field at a given position. More...
 
procedure evaluate_field_vector
 Evaluate given components of the field at given positions. More...
 
procedure(eval_single), deferred evaluate_rho_single
 Evaluate charge density at given position. More...
 
procedure evaluate_rho_vector
 Evaluate charge density at given positions. More...
 
procedure(eval_single), deferred evaluate_phi_single
 Evaluate potential at given position. More...
 
procedure evaluate_phi_vector
 Evaluate potential at given positions. More...
 
procedure(empty), deferred reset
 Reset the accumulated charge to zero. More...
 
procedure(empty), deferred solve
 Solve for the electric potential and field. More...
 
procedure solve_phi
 Solve for phi. More...
 
procedure solve_fields
 solve for electric field More...
 
procedure(compute_energy), deferred compute_field_energy
 Compute the L2 norm of one field component. More...
 
procedure(linear_combination), deferred add_analytic_charge
 Set charge as linear combination of previously accumulated charge and previously set analytic charge. More...
 
procedure(update_dofs_function), deferred set_analytic_charge
 Set the value of the analytic charge contribution from a given function. More...
 
procedure(empty), deferred free
 
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) dim
 Dimension. More...
 
integer(kind=i32) no_weights = 1
 Number of weights used for accumulation (one per default) More...
 

Detailed Description

Basic type of Poisson solver for PIC simulations.

Definition at line 22 of file sll_m_pic_poisson_base.F90.

Member Function/Subroutine Documentation

◆ add_analytic_charge()

procedure(linear_combination), deferred add_analytic_charge
private

Set charge as linear combination of previously accumulated charge and previously set analytic charge.

Definition at line 40 of file sll_m_pic_poisson_base.F90.

◆ add_charge()

generic add_charge
private

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_single), deferred add_charge_single
private

Add the contribution of one particle to the charge density.

Definition at line 27 of file sll_m_pic_poisson_base.F90.

◆ add_charge_vector()

procedure add_charge_vector
private

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_energy), deferred compute_field_energy
private

Compute the L2 norm of one field component.

Definition at line 39 of file sll_m_pic_poisson_base.F90.

◆ evaluate_field()

generic evaluate_field
private

Definition at line 47 of file sll_m_pic_poisson_base.F90.

Here is the call graph for this function:

◆ evaluate_field_single()

procedure(eval_component_single), deferred evaluate_field_single
private

Evaluate given components of the field at a given position.

Definition at line 29 of file sll_m_pic_poisson_base.F90.

◆ evaluate_field_vector()

procedure evaluate_field_vector
private

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
private

Definition at line 49 of file sll_m_pic_poisson_base.F90.

Here is the call graph for this function:

◆ evaluate_phi_single()

procedure(eval_single), deferred evaluate_phi_single
private

Evaluate potential at given position.

Definition at line 33 of file sll_m_pic_poisson_base.F90.

◆ evaluate_phi_vector()

procedure evaluate_phi_vector
private

Evaluate potential at given positions.

Definition at line 34 of file sll_m_pic_poisson_base.F90.

◆ evaluate_rho()

generic evaluate_rho
private

Definition at line 48 of file sll_m_pic_poisson_base.F90.

Here is the call graph for this function:

◆ evaluate_rho_single()

procedure(eval_single), deferred evaluate_rho_single
private

Evaluate charge density at given position.

Definition at line 31 of file sll_m_pic_poisson_base.F90.

◆ evaluate_rho_vector()

procedure evaluate_rho_vector
private

Evaluate charge density at given positions.

Definition at line 32 of file sll_m_pic_poisson_base.F90.

◆ free()

procedure(empty), deferred free
private

Definition at line 43 of file sll_m_pic_poisson_base.F90.

◆ reset()

procedure(empty), deferred reset
private

Reset the accumulated charge to zero.

Definition at line 35 of file sll_m_pic_poisson_base.F90.

◆ set_analytic_charge()

procedure(update_dofs_function), deferred set_analytic_charge
private

Set the value of the analytic charge contribution from a given function.

Definition at line 41 of file sll_m_pic_poisson_base.F90.

◆ solve()

procedure(empty), deferred solve
private

Solve for the electric potential and field.

Definition at line 36 of file sll_m_pic_poisson_base.F90.

◆ solve_fields()

procedure solve_fields
private

solve for electric field

Definition at line 38 of file sll_m_pic_poisson_base.F90.

◆ solve_phi()

procedure solve_phi
private

Solve for phi.

Definition at line 37 of file sll_m_pic_poisson_base.F90.

Member Data Documentation

◆ dim

integer(kind=i32) dim
private

Dimension.

Definition at line 23 of file sll_m_pic_poisson_base.F90.

◆ no_weights

integer(kind=i32) no_weights = 1
private

Number of weights used for accumulation (one per default)

Definition at line 24 of file sll_m_pic_poisson_base.F90.

    Report Typos and Errors