Semi-Lagrangian Library
Modular library for kinetic and gyrokinetic simulations of plasmas in fusion energy devices.
|
Regular cartesian two dimensional mesh with periodic bounday conditions.
Numerical method uses Fast Fourier Transform and periodic boundary conditions.
Derived types and interfaces | |
type | sll_t_poisson_2d_periodic_fft |
derived type to sll_o_solve the Poisson equation on 2d regular cartesian mesh with periodic boundary conditions on both sides More... | |
interface | sll_o_initialize |
interface | sll_o_solve |
type | sll_t_poisson_2d_periodic |
Functions/Subroutines | |
real(kind=f64) function | l2norm_squarred_2d_periodic (poisson, coefs_dofs) |
subroutine | compute_rhs_from_function_2d_periodic (poisson, func, coefs_dofs) |
subroutine | delete_2d_periodic (poisson) |
type(sll_t_poisson_2d_periodic) function, pointer, public | sll_f_new_poisson_2d_periodic (eta1_min, eta1_max, nc_eta1, eta2_min, eta2_max, nc_eta2) |
subroutine | initialize_poisson_2d_periodic (poisson, eta1_min, eta1_max, nc_eta1, eta2_min, eta2_max, nc_eta2) |
subroutine | compute_phi_from_rho_2d_fft (poisson, phi, rho) |
solves \( -\Delta phi(x,y) = rho (x,y) \) More... | |
subroutine | compute_e_from_rho_2d_fft (poisson, E1, E2, rho) |
sll_o_solve Poisson equation to compute electric fields More... | |
type(sll_t_poisson_2d_periodic_fft) function, pointer | new_poisson_2d_periodic_fft (x_min, x_max, nc_x, y_min, y_max, nc_y, error) |
Create a sll_o_new solver. More... | |
subroutine | initialize_poisson_2d_periodic_fft (self, x_min, x_max, nc_x, y_min, y_max, nc_y, error) |
sll_o_initialize the Poisson solver More... | |
subroutine | solve_potential_poisson_2d_periodic_fft (self, phi, rho) |
sll_o_solve Poisson equation on 2D mesh with periodic boundary conditions. return potential. More... | |
subroutine | solve_e_fields_poisson_2d_periodic_fft (self, e_x, e_y, rho, nrj) |
sll_o_solve Poisson equation on 2D mesh with periodic boundary conditions. return electric fields. More... | |
subroutine | delete_poisson_2d_periodic_fft (self) |
Delete the Poisson object. More... | |
|
private |
sll_o_solve Poisson equation to compute electric fields
solves
\[ E(x,y) = -\nabla \phi(x,y) \\ -\Delta \phi(x,y) = \rho(x,y) \]
Definition at line 212 of file sll_m_poisson_2d_periodic.F90.
|
private |
solves \( -\Delta phi(x,y) = rho (x,y) \)
Definition at line 195 of file sll_m_poisson_2d_periodic.F90.
|
private |
poisson | Maxwell solver object. | |
func | Function to be projected. | |
[out] | coefs_dofs | Coefficients of the projection. |
Definition at line 121 of file sll_m_poisson_2d_periodic.F90.
|
private |
poisson | Maxwell solver object. |
Definition at line 130 of file sll_m_poisson_2d_periodic.F90.
|
private |
Delete the Poisson object.
Definition at line 386 of file sll_m_poisson_2d_periodic.F90.
|
private |
Definition at line 165 of file sll_m_poisson_2d_periodic.F90.
|
private |
sll_o_initialize the Poisson solver
self | Self data object | |
[in] | x_min | left corner direction x |
[in] | x_max | right corner direction x |
[in] | y_min | left corner direction y |
[in] | y_max | right corner direction y |
error | error code | |
nc_x | number of cells direction x | |
nc_y | number of cells direction y |
Definition at line 250 of file sll_m_poisson_2d_periodic.F90.
|
private |
[in] | poisson | Poisson solver object. |
[in] | coefs_dofs | Values of the coefficient vectors for each DoF |
Definition at line 112 of file sll_m_poisson_2d_periodic.F90.
|
private |
Create a sll_o_new solver.
[in] | nc_x | number of cells direction x |
[in] | nc_y | number of cells direction y |
[in] | x_min | left corner direction x |
[in] | x_max | right corner direction x |
[in] | y_min | left corner direction y |
[in] | y_max | right corner direction y |
[out] | error | error code |
Definition at line 224 of file sll_m_poisson_2d_periodic.F90.
type(sll_t_poisson_2d_periodic) function, pointer, public sll_m_poisson_2d_periodic::sll_f_new_poisson_2d_periodic | ( | real(kind=f64) | eta1_min, |
real(kind=f64) | eta1_max, | ||
integer(kind=i32) | nc_eta1, | ||
real(kind=f64) | eta2_min, | ||
real(kind=f64) | eta2_max, | ||
integer(kind=i32) | nc_eta2 | ||
) |
Definition at line 135 of file sll_m_poisson_2d_periodic.F90.
|
private |
sll_o_solve Poisson equation on 2D mesh with periodic boundary conditions. return electric fields.
[in,out] | self | Self data object |
[in] | rho | Charge density |
[out] | e_x | Electric field x |
[out] | e_y | Electric field y |
nrj | Energy |
Definition at line 342 of file sll_m_poisson_2d_periodic.F90.
|
private |
sll_o_solve Poisson equation on 2D mesh with periodic boundary conditions. return potential.
self | self data object | |
[in] | rho | charge density |
[out] | phi | electric potential |
Definition at line 314 of file sll_m_poisson_2d_periodic.F90.