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_maxwell_3d_fem Type Reference
Inheritance diagram for sll_t_maxwell_3d_fem:
Collaboration diagram for sll_t_maxwell_3d_fem:

Private Member Functions

procedure compute_e_from_b => sll_s_compute_e_from_b_3d_fem
 Solve E and B part of Amperes law with B constant in time. More...
 
procedure compute_b_from_e => sll_s_compute_b_from_e_3d_fem
 Solve Faraday equation with E constant in time. More...
 
procedure compute_curl_part => sll_s_compute_curl_part_3d_fem
 Solve source-free Maxwell's equations. More...
 
procedure compute_e_from_rho => sll_s_compute_e_from_rho_3d_fem
 Solve E from rho using Poisson. More...
 
procedure compute_rho_from_e => sll_s_compute_rho_from_e_3d_fem
 Compute rho from E (by Poisson matrix multiply) More...
 
procedure compute_e_from_j => sll_s_compute_e_from_j_3d_fem
 Compute E from the current j. More...
 
procedure compute_phi_from_rho => sll_s_compute_phi_from_rho_3d_fem
 Compute phi from rho (by solving the quasi-neutrality equation) More...
 
procedure compute_phi_from_j => sll_s_compute_phi_from_j_3d_fem
 Compute phi from j (dynamic of quasi-neutrality equation for adiabatic electrons) More...
 
procedure compute_rhs_from_function => sll_s_compute_rhs_fem
 Compute integral over given function tested by the basis. More...
 
procedure l2projection => l2projection_3d_fem
 Compute L_2 projection of a given function. More...
 
procedure l2norm_squared => l2norm_squared_3d_fem
 Compute the square of the L2 norm of a given vector. More...
 
procedure inner_product => inner_product_3d_fem
 Inner product of two dof-vectors with mass matrix. More...
 
procedure init => init_3d_fem
 Initialize the Maxwell class. More...
 
procedure init_from_file => init_from_file_3d_fem
 Initialize the Maxwell class with parameters read from nml-file. More...
 
procedure free => free_3d_fem
 Free Maxwell class. More...
 
procedure multiply_g
 Multiplication with gradient matrix. More...
 
procedure multiply_gt
 Multiplication with transposed gradient matrix. More...
 
procedure multiply_c
 Multiplication with curl matrix. More...
 
procedure multiply_ct
 Multiplication with transposed curl matrix. More...
 
procedure multiply_mass => multiply_mass_3d_fem
 Product with the mass matrix. More...
 
procedure multiply_mass_inverse => multiply_mass_inverse_3dkron
 Invert mass matrix. More...
 
procedure compute_field_energy
 Compute field energy. More...
 

Private Attributes

type(sll_t_matrix_csrmass0
 0-form mass matrix More...
 
type(sll_t_matrix_csr), dimension(3, 3) mass1d
 1D mass matrices More...
 
type(sll_t_linear_solver_cg), dimension(2, 3) mass1d_solver
 1D mass matrix solvers More...
 
type(sll_t_linear_solver_kron), dimension(3) mass_1_solver
 Tensorproduct solver for 3D 1-form mass matrices. More...
 
type(sll_t_linear_solver_kron), dimension(3) mass_2_solver
 Tensorproduct solver for 3D 2-form mass matrices. More...
 
type(sll_t_linear_operator_kron), dimension(3) mass1
 Tensorproduct 1-form mass matrix. More...
 
type(sll_t_linear_operator_kron), dimension(3) mass2
 Tensorproduct 2-form mass matrix. More...
 
type(sll_t_linear_operator_blockmass1_operator
 block mass matrix More...
 
type(sll_t_linear_operator_blockmass2_operator
 block mass matrix More...
 
type(sll_t_linear_solver_cgmass0_solver
 mass matrix solver More...
 
type(sll_t_linear_solver_cgmass1_solver
 mass matrix solver More...
 
type(sll_t_preconditioner_fftpreconditioner_fft
 preconditioner for mass matrices More...
 
type(sll_t_linear_operator_poisson_3dpoisson_matrix
 Poisson matrix. More...
 
type(sll_t_linear_operator_penalizedpoisson_operator
 Poisson matrix with constraint on constant vector. More...
 
type(sll_t_linear_solver_cgpoisson_solver
 CG solver to invert Poisson matrix. More...
 
type(sll_t_linear_operator_schur_eb_3dlinear_op_schur_eb
 Schur complement operator for advect_eb. More...
 
type(sll_t_linear_solver_cglinear_solver_schur_eb
 Schur complement solver for advect_eb. More...
 
logical adiabatic_electrons = .false.
 flag if adiabatic electrons are used More...
 
type(sll_t_profile_functionsprofile
 temperature and density profiles More...
 

Detailed Description

Definition at line 86 of file sll_m_maxwell_3d_fem.F90.

Member Function/Subroutine Documentation

◆ compute_b_from_e()

procedure compute_b_from_e
private

Solve Faraday equation with E constant in time.

Definition at line 121 of file sll_m_maxwell_3d_fem.F90.

◆ compute_curl_part()

procedure compute_curl_part
private

Solve source-free Maxwell's equations.

Definition at line 123 of file sll_m_maxwell_3d_fem.F90.

◆ compute_e_from_b()

procedure compute_e_from_b
private

Solve E and B part of Amperes law with B constant in time.

Definition at line 119 of file sll_m_maxwell_3d_fem.F90.

◆ compute_e_from_j()

procedure compute_e_from_j
private

Compute E from the current j.

Definition at line 129 of file sll_m_maxwell_3d_fem.F90.

◆ compute_e_from_rho()

procedure compute_e_from_rho
private

Solve E from rho using Poisson.

Definition at line 125 of file sll_m_maxwell_3d_fem.F90.

◆ compute_field_energy()

procedure compute_field_energy
private

Compute field energy.

Definition at line 161 of file sll_m_maxwell_3d_fem.F90.

◆ compute_phi_from_j()

procedure compute_phi_from_j
private

Compute phi from j (dynamic of quasi-neutrality equation for adiabatic electrons)

Definition at line 133 of file sll_m_maxwell_3d_fem.F90.

◆ compute_phi_from_rho()

procedure compute_phi_from_rho
private

Compute phi from rho (by solving the quasi-neutrality equation)

Definition at line 131 of file sll_m_maxwell_3d_fem.F90.

◆ compute_rho_from_e()

procedure compute_rho_from_e
private

Compute rho from E (by Poisson matrix multiply)

Definition at line 127 of file sll_m_maxwell_3d_fem.F90.

◆ compute_rhs_from_function()

procedure compute_rhs_from_function
private

Compute integral over given function tested by the basis.

Definition at line 135 of file sll_m_maxwell_3d_fem.F90.

◆ free()

procedure free
private

Free Maxwell class.

Definition at line 147 of file sll_m_maxwell_3d_fem.F90.

◆ init()

procedure init
private

Initialize the Maxwell class.

Definition at line 143 of file sll_m_maxwell_3d_fem.F90.

◆ init_from_file()

procedure init_from_file
private

Initialize the Maxwell class with parameters read from nml-file.

Definition at line 145 of file sll_m_maxwell_3d_fem.F90.

◆ inner_product()

procedure inner_product
private

Inner product of two dof-vectors with mass matrix.

Definition at line 141 of file sll_m_maxwell_3d_fem.F90.

◆ l2norm_squared()

procedure l2norm_squared
private

Compute the square of the L2 norm of a given vector.

Definition at line 139 of file sll_m_maxwell_3d_fem.F90.

◆ l2projection()

procedure l2projection
private

Compute L_2 projection of a given function.

Definition at line 137 of file sll_m_maxwell_3d_fem.F90.

◆ multiply_c()

procedure multiply_c
private

Multiplication with curl matrix.

Definition at line 153 of file sll_m_maxwell_3d_fem.F90.

◆ multiply_ct()

procedure multiply_ct
private

Multiplication with transposed curl matrix.

Definition at line 155 of file sll_m_maxwell_3d_fem.F90.

◆ multiply_g()

procedure multiply_g
private

Multiplication with gradient matrix.

Definition at line 149 of file sll_m_maxwell_3d_fem.F90.

◆ multiply_gt()

procedure multiply_gt
private

Multiplication with transposed gradient matrix.

Definition at line 151 of file sll_m_maxwell_3d_fem.F90.

◆ multiply_mass()

procedure multiply_mass
private

Product with the mass matrix.

Definition at line 157 of file sll_m_maxwell_3d_fem.F90.

◆ multiply_mass_inverse()

procedure multiply_mass_inverse
private

Invert mass matrix.

Definition at line 159 of file sll_m_maxwell_3d_fem.F90.

Member Data Documentation

◆ adiabatic_electrons

logical adiabatic_electrons = .false.
private

flag if adiabatic electrons are used

Definition at line 116 of file sll_m_maxwell_3d_fem.F90.

◆ linear_op_schur_eb

type( sll_t_linear_operator_schur_eb_3d ) linear_op_schur_eb
private

Schur complement operator for advect_eb.

Definition at line 114 of file sll_m_maxwell_3d_fem.F90.

◆ linear_solver_schur_eb

type( sll_t_linear_solver_cg ) linear_solver_schur_eb
private

Schur complement solver for advect_eb.

Definition at line 115 of file sll_m_maxwell_3d_fem.F90.

◆ mass0

type(sll_t_matrix_csr) mass0
private

0-form mass matrix

Definition at line 98 of file sll_m_maxwell_3d_fem.F90.

◆ mass0_solver

type(sll_t_linear_solver_cg) mass0_solver
private

mass matrix solver

Definition at line 108 of file sll_m_maxwell_3d_fem.F90.

◆ mass1

type(sll_t_linear_operator_kron), dimension(3) mass1
private

Tensorproduct 1-form mass matrix.

Definition at line 104 of file sll_m_maxwell_3d_fem.F90.

◆ mass1_operator

type(sll_t_linear_operator_block) mass1_operator
private

block mass matrix

Definition at line 106 of file sll_m_maxwell_3d_fem.F90.

◆ mass1_solver

type(sll_t_linear_solver_cg) mass1_solver
private

mass matrix solver

Definition at line 109 of file sll_m_maxwell_3d_fem.F90.

◆ mass1d

type(sll_t_matrix_csr), dimension(3,3) mass1d
private

1D mass matrices

Definition at line 99 of file sll_m_maxwell_3d_fem.F90.

◆ mass1d_solver

type(sll_t_linear_solver_cg), dimension(2,3) mass1d_solver
private

1D mass matrix solvers

Definition at line 100 of file sll_m_maxwell_3d_fem.F90.

◆ mass2

type(sll_t_linear_operator_kron), dimension(3) mass2
private

Tensorproduct 2-form mass matrix.

Definition at line 105 of file sll_m_maxwell_3d_fem.F90.

◆ mass2_operator

type(sll_t_linear_operator_block) mass2_operator
private

block mass matrix

Definition at line 107 of file sll_m_maxwell_3d_fem.F90.

◆ mass_1_solver

type(sll_t_linear_solver_kron), dimension(3) mass_1_solver
private

Tensorproduct solver for 3D 1-form mass matrices.

Definition at line 101 of file sll_m_maxwell_3d_fem.F90.

◆ mass_2_solver

type(sll_t_linear_solver_kron), dimension(3) mass_2_solver
private

Tensorproduct solver for 3D 2-form mass matrices.

Definition at line 102 of file sll_m_maxwell_3d_fem.F90.

◆ poisson_matrix

type(sll_t_linear_operator_poisson_3d) poisson_matrix
private

Poisson matrix.

Definition at line 111 of file sll_m_maxwell_3d_fem.F90.

◆ poisson_operator

type(sll_t_linear_operator_penalized) poisson_operator
private

Poisson matrix with constraint on constant vector.

Definition at line 112 of file sll_m_maxwell_3d_fem.F90.

◆ poisson_solver

type(sll_t_linear_solver_cg) poisson_solver
private

CG solver to invert Poisson matrix.

Definition at line 113 of file sll_m_maxwell_3d_fem.F90.

◆ preconditioner_fft

type(sll_t_preconditioner_fft) preconditioner_fft
private

preconditioner for mass matrices

Definition at line 110 of file sll_m_maxwell_3d_fem.F90.

◆ profile

type(sll_t_profile_functions) profile
privateinherited

temperature and density profiles

Definition at line 42 of file sll_m_maxwell_3d_base.F90.

    Report Typos and Errors