Report Typos and Errors    
Semi-Lagrangian Library
Modular library for kinetic and gyrokinetic simulations of plasmas in fusion energy devices.
Data Types | Modules | Functions/Subroutines
sll_m_maxwell_3d_trafo.F90 File Reference

Go to the source code of this file.

Data Types

type  sll_t_maxwell_3d_trafo
 

Modules

module  sll_m_maxwell_3d_trafo
 Module interface to solve Maxwell's equations with coordinate transformation in 3D.
 

Functions/Subroutines

subroutine sll_s_compute_e_from_b_3d_trafo (self, delta_t, field_in, field_out)
 compute E from B using weak Ampere formulation More...
 
subroutine sll_s_compute_b_from_e_3d_trafo (self, delta_t, field_in, field_out)
 Compute B from E using strong 3D Faraday equation for spline coefficients. More...
 
subroutine sll_s_compute_curl_part_3d_trafo (self, delta_t, efield, bfield, betar)
 Solve curl part of Maxwell's equations. More...
 
subroutine sll_s_compute_e_from_rho_3d_trafo (self, field_in, field_out)
 Compute E_i from rho_i integrated over the time interval using weak Poisson's equation. More...
 
subroutine sll_s_compute_rho_from_e_3d_trafo (self, field_in, field_out)
 compute rho from e using weak Gauss law ( rho = G^T M_1 e ) More...
 
subroutine sll_s_compute_e_from_j_3d_trafo (self, current, E, component)
 Compute E_i from j_i integrated over the time interval using weak Ampere formulation, delta_t is already included. More...
 
subroutine sll_s_compute_phi_from_rho_3d_trafo (self, field_in, field_out, efield_dofs)
 Compute phi from rho_i integrated over the time interval. More...
 
subroutine sll_s_compute_phi_from_j_3d_trafo (self, field_in, field_out, efield_dofs)
 Compute phi from j_i integrated over the time interval, delta_t is already included. More...
 
subroutine sll_s_compute_rhs_trafo (self, form, component, coefs_dofs, func1, func2, func3)
 Compute the FEM right-hand-side for a given function f and periodic splines of given degree Its components are $\int f(F(\xi)) N_i(F(\xi)) J_F d\xi$ where $N_i$ is the B-spline starting at $\xi_i$. More...
 
subroutine rhs_zeroform (self, deg, func, coefs_dofs)
 Compute $\int f(F(\xi)) N_i(\xi) J_F(\xi) d\xi$ for scalar function f, where $N_i$ is the B-spline starting at $\xi_i$, replace modulo(a,b) by a-floor(a/b)*b. More...
 
subroutine rhs_oneform (self, deg, func1, func2, func3, component, coefs_dofs)
 Compute $\int f(F(\xi))\cdot DF^{-T}(\xi) N_i(\xi) J_F(\xi) d\xi$ for vector function f, where $N_i$ is the B-spline starting at $\xi_i$. More...
 
subroutine rhs_twoform (self, deg, func1, func2, func3, component, coefs_dofs)
 Compute $\int f(F(\xi))\cdot DF(\xi) N_i(\xi) d\xi$ for vector function f, where $N_i$ is the B-spline starting at $\xi_i$. More...
 
subroutine rhs_threeform (self, deg, func, coefs_dofs)
 Compute $\int f(F(\xi)) N_i(\xi) d\xi$ for scalar function f, where $N_i$ is the B-spline starting at $\xi_i$. More...
 
subroutine l2projection_3d_trafo (self, form, component, coefs_dofs, func1, func2, func3)
 Compute the L2 projection of a given function f on periodic splines of given degree. More...
 
real(kind=f64) function l2norm_squared_3d_trafo (self, coefs, form, component)
 Compute square of the L2norm. More...
 
real(kind=f64) function inner_product_3d_trafo (self, coefs1, coefs2, form, component)
 Compute inner product. More...
 
subroutine init_3d_trafo (self, domain, n_dofs, s_deg_0, map, mass_tolerance, poisson_tolerance, solver_tolerance, adiabatic_electrons, profile)
 Initialization. More...
 
real(kind=f64) function profile_m0 (x, component)
 
real(kind=f64) function profile_0 (x, component)
 
real(kind=f64) function profile_1 (x, component)
 
real(kind=f64) function profile_2 (x, component)
 
real(kind=f64) function profile_m1 (x, component)
 
real(kind=f64) function profile_m2 (x, component)
 
subroutine init_from_file_3d_trafo (self, domain, n_dofs, s_deg_0, map, nml_file, adiabatic_electrons, profile)
 Initialization from nml file. More...
 
subroutine free_3d_trafo (self)
 Finalization. More...
 
subroutine multiply_g (self, field_in, field_out)
 Multiply by dicrete gradient matrix. More...
 
subroutine multiply_gt (self, field_in, field_out)
 Multiply by transpose of dicrete gradient matrix. More...
 
subroutine multiply_c (self, field_in, field_out)
 Multiply by discrete curl matrix. More...
 
subroutine multiply_ct (self, field_in, field_out)
 Multiply by transpose of discrete curl matrix. More...
 
subroutine multiply_mass_trafo (self, deg, coefs_in, coefs_out)
 Multiply by the mass matrix. More...
 
subroutine multiply_mass_inverse_trafo (self, form, coefs_in, coefs_out)
 Multiply by the inverse mass matrix. More...
 

Function/Subroutine Documentation

◆ profile_0()

real(kind=f64) function init_3d_trafo::profile_0 ( real(kind=f64), dimension(3), intent(in)  x,
integer(kind=i32), dimension(:), intent(in), optional  component 
)
private

Definition at line 923 of file sll_m_maxwell_3d_trafo.F90.

Here is the call graph for this function:

◆ profile_1()

real(kind=f64) function init_3d_trafo::profile_1 ( real(kind=f64), dimension(3), intent(in)  x,
integer(kind=i32), dimension(:), intent(in), optional  component 
)
private

Definition at line 932 of file sll_m_maxwell_3d_trafo.F90.

Here is the call graph for this function:

◆ profile_2()

real(kind=f64) function init_3d_trafo::profile_2 ( real(kind=f64), dimension(3), intent(in)  x,
integer(kind=i32), dimension(:), intent(in), optional  component 
)
private

Definition at line 941 of file sll_m_maxwell_3d_trafo.F90.

Here is the caller graph for this function:

◆ profile_m0()

real(kind=f64) function init_3d_trafo::profile_m0 ( real(kind=f64), dimension(3), intent(in)  x,
integer(kind=i32), dimension(:), intent(in), optional  component 
)
private

Definition at line 914 of file sll_m_maxwell_3d_trafo.F90.

Here is the call graph for this function:

◆ profile_m1()

real(kind=f64) function init_3d_trafo::profile_m1 ( real(kind=f64), dimension(3), intent(in)  x,
integer(kind=i32), dimension(:), intent(in), optional  component 
)
private

Definition at line 950 of file sll_m_maxwell_3d_trafo.F90.

Here is the caller graph for this function:

◆ profile_m2()

real(kind=f64) function init_3d_trafo::profile_m2 ( real(kind=f64), dimension(3), intent(in)  x,
integer(kind=i32), dimension(:), intent(in), optional  component 
)
private

Definition at line 958 of file sll_m_maxwell_3d_trafo.F90.

Here is the caller graph for this function:
    Report Typos and Errors