Semi-Lagrangian Library
Modular library for kinetic and gyrokinetic simulations of plasmas in fusion energy devices.
|
Base class for Poisson solver for particle methods.
This base class gives an abstract interface to the basic functions for accumulation of charge as well as the evaluation of a function at particle positions.
Try to integrate also general elliptic and quasi neutral solvers.
Allow for more than one weights
Functions to compute derivatives
Derived types and interfaces | |
type | sll_c_pic_poisson |
Basic type of Poisson solver for PIC simulations. More... | |
interface | add_single |
interface | eval_single |
interface | eval_component_single |
interface | empty |
interface | compute_energy |
interface | update_dofs_function |
interface | linear_combination |
Functions/Subroutines | |
subroutine | add_charge_vector (self, n_part, position, marker_charge) |
subroutine | evaluate_rho_vector (self, position, n_part, func_value) |
subroutine | evaluate_phi_vector (self, position, n_part, func_value) |
subroutine | evaluate_field_vector (self, position, n_part, components, func_value) |
subroutine | solve_phi (self) |
Just compute phi, by default it calls the combined procedure solve. More... | |
subroutine | solve_fields (self) |
Just compute the efield, by default it calls the combined procedure solve. More... | |
subroutine sll_m_pic_poisson_base::add_charge_vector | ( | class (sll_c_pic_poisson), intent(inout) | self, |
integer(kind=i32), intent(in) | n_part, | ||
real(kind=f64), dimension(self%dim, n_part), intent(in) | position, | ||
real(kind=f64), dimension(n_part), intent(in) | marker_charge | ||
) |
[in,out] | self | Pic Poisson solver object |
[in] | n_part | Number of particles whos positions are given |
[in] | position | Position of the particle |
[in] | marker_charge | Particle weights times charge |
Definition at line 137 of file sll_m_pic_poisson_base.F90.
|
private |
[in,out] | self | Pic Poisson solver object |
[in] | position | Position of the particle (size (selfdim, n_part)) |
[in] | n_part | Number of particles whos positions are given |
[in] | components | Components of the field to be computed |
[out] | func_value | Value(s) of the electric fields at given positions |
Definition at line 193 of file sll_m_pic_poisson_base.F90.
|
private |
[in,out] | self | Pic Poisson solver object |
[in] | position | Position of the particles(size (selfdim, n_part)) |
[in] | n_part | Number of particles whos positions are given |
[out] | func_value | Value(s) of the electric fields at given position |
Definition at line 174 of file sll_m_pic_poisson_base.F90.
|
private |
[in,out] | self | Pic Poisson solver object |
[in] | position | Position of the particles (size (selfdim, n_part)) |
[in] | n_part | Number of particles whos positions are given |
[out] | func_value | Value(s) of the electric fields at given position |
Definition at line 155 of file sll_m_pic_poisson_base.F90.
|
private |
Just compute the efield, by default it calls the combined procedure solve.
[in,out] | self | Pic Poisson solver object |
Definition at line 220 of file sll_m_pic_poisson_base.F90.
|
private |
Just compute phi, by default it calls the combined procedure solve.
[in,out] | self | Pic Poisson solver object |
Definition at line 212 of file sll_m_pic_poisson_base.F90.