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

Maxwell solver class. More...

Inheritance diagram for sll_t_maxwell_1d_fem:
Collaboration diagram for sll_t_maxwell_1d_fem:

Private Member Functions

procedure compute_e_from_b => sll_s_compute_e_from_b_1d_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_1d_fem
 Solve Faraday equation with E constant in time. More...
 
procedure compute_curl_part => sll_s_compute_curl_part_1d_fem
 Solve source-free Maxwell's equations. More...
 
procedure compute_e_from_rho => sll_s_compute_e_from_rho_1d_fem
 Solve E from rho using Poisson. More...
 
procedure compute_rho_from_e => compute_rho_from_e_1d_fem
 Compute rho from E. More...
 
procedure compute_e_from_j => choose_interpolation
 choose compute_E_from_j_1d_fem or compute_E_from_j_1d_fem_shape More...
 
procedure compute_phi_from_rho => compute_phi_from_rho_1d_fem
 Compute phi from rho (by solving the quasi-neutrality equation) More...
 
procedure compute_phi_from_j => compute_phi_from_j_1d_fem
 Compute phi from j (dynamic of quasi-neutrality equation for adiabatic electrons) More...
 
procedure compute_rhs_from_function => sll_s_compute_fem_rhs
 Compute integral over given function tested by the basis. More...
 
procedure l2projection => l2projection_1d_fem
 Compute L_2 projection of a given function. More...
 
procedure l2norm_squared => l2norm_squared_1d_fem
 Compute the square of the L2 norm of a given vector. More...
 
procedure inner_product => inner_product_1d_fem
 Inner product of two dof-vectors with mass matrix. More...
 
procedure init => init_1d_fem
 Initialize the Maxwell class. More...
 
procedure free => free_1d_fem
 Free Maxwell class. More...
 
procedure multiply_g
 Multiplication with gradient matrix. More...
 
procedure multiply_gt
 Multiplication with divergence matrix. More...
 
procedure invert_mass => invert_mass_1d_fem
 Invert mass matrix. More...
 
procedure multiply_mass => multiply_mass_1d_fem
 Product with the mass matrix. More...
 
procedure transform_dofs => transform_dofs_1d_fem
 
procedure multiply_interpolation_inverse_transpose
 
procedure solve_e_b => solve_e_b_1d_fem
 

Private Attributes

type(sll_t_linear_operator_schur_eb_1dlinear_op_schur_eb
 Schur complement operator for advect_eb. More...
 
type(sll_t_linear_solver_mgmreslinear_solver_schur_eb
 Schur complement solver for advect_eb. More...
 
type(sll_t_matrix_csrmass0
 0-form mass matrix More...
 
type(sll_t_matrix_csrmass1
 1-form mass matrix More...
 
type(sll_t_matrix_csrmixed_mass
 mixed mass matrix More...
 
type(sll_t_fftplan_fw
 fft plan (forward) More...
 
type(sll_t_fftplan_bw
 fft plan (backward) More...
 
logical adiabatic_electrons
 Set true if solver with adiabatic electrions. More...
 
logical strong_ampere = .false.
 flag to switch between strong and weak Ampere formulation More...
 

Detailed Description

Maxwell solver class.

Definition at line 67 of file sll_m_maxwell_1d_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 106 of file sll_m_maxwell_1d_fem.F90.

◆ compute_curl_part()

procedure compute_curl_part
private

Solve source-free Maxwell's equations.

Definition at line 108 of file sll_m_maxwell_1d_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 104 of file sll_m_maxwell_1d_fem.F90.

◆ compute_e_from_j()

procedure compute_e_from_j
private

choose compute_E_from_j_1d_fem or compute_E_from_j_1d_fem_shape

Definition at line 114 of file sll_m_maxwell_1d_fem.F90.

◆ compute_e_from_rho()

procedure compute_e_from_rho
private

Solve E from rho using Poisson.

Definition at line 110 of file sll_m_maxwell_1d_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 118 of file sll_m_maxwell_1d_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 116 of file sll_m_maxwell_1d_fem.F90.

◆ compute_rho_from_e()

procedure compute_rho_from_e
private

Compute rho from E.

Definition at line 112 of file sll_m_maxwell_1d_fem.F90.

◆ compute_rhs_from_function()

procedure compute_rhs_from_function
private

Compute integral over given function tested by the basis.

Definition at line 120 of file sll_m_maxwell_1d_fem.F90.

◆ free()

procedure free
private

Free Maxwell class.

Definition at line 130 of file sll_m_maxwell_1d_fem.F90.

◆ init()

procedure init
private

Initialize the Maxwell class.

Definition at line 128 of file sll_m_maxwell_1d_fem.F90.

◆ inner_product()

procedure inner_product
private

Inner product of two dof-vectors with mass matrix.

Definition at line 126 of file sll_m_maxwell_1d_fem.F90.

◆ invert_mass()

procedure invert_mass
private

Invert mass matrix.

Definition at line 136 of file sll_m_maxwell_1d_fem.F90.

◆ l2norm_squared()

procedure l2norm_squared
private

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

Definition at line 124 of file sll_m_maxwell_1d_fem.F90.

◆ l2projection()

procedure l2projection
private

Compute L_2 projection of a given function.

Definition at line 122 of file sll_m_maxwell_1d_fem.F90.

◆ multiply_g()

procedure multiply_g
private

Multiplication with gradient matrix.

Definition at line 132 of file sll_m_maxwell_1d_fem.F90.

◆ multiply_gt()

procedure multiply_gt
private

Multiplication with divergence matrix.

Definition at line 134 of file sll_m_maxwell_1d_fem.F90.

◆ multiply_interpolation_inverse_transpose()

procedure multiply_interpolation_inverse_transpose
private

Definition at line 142 of file sll_m_maxwell_1d_fem.F90.

◆ multiply_mass()

procedure multiply_mass
private

Product with the mass matrix.

Definition at line 138 of file sll_m_maxwell_1d_fem.F90.

◆ solve_e_b()

procedure solve_e_b
private

Definition at line 144 of file sll_m_maxwell_1d_fem.F90.

◆ transform_dofs()

procedure transform_dofs
private

Definition at line 140 of file sll_m_maxwell_1d_fem.F90.

Member Data Documentation

◆ adiabatic_electrons

logical adiabatic_electrons
private

Set true if solver with adiabatic electrions.

Definition at line 100 of file sll_m_maxwell_1d_fem.F90.

◆ linear_op_schur_eb

type( sll_t_linear_operator_schur_eb_1d ) linear_op_schur_eb
private

Schur complement operator for advect_eb.

Definition at line 69 of file sll_m_maxwell_1d_fem.F90.

◆ linear_solver_schur_eb

type( sll_t_linear_solver_mgmres ) linear_solver_schur_eb
private

Schur complement solver for advect_eb.

Definition at line 70 of file sll_m_maxwell_1d_fem.F90.

◆ mass0

type(sll_t_matrix_csr) mass0
private

0-form mass matrix

Definition at line 72 of file sll_m_maxwell_1d_fem.F90.

◆ mass1

type(sll_t_matrix_csr) mass1
private

1-form mass matrix

Definition at line 73 of file sll_m_maxwell_1d_fem.F90.

◆ mixed_mass

type(sll_t_matrix_csr) mixed_mass
private

mixed mass matrix

Definition at line 74 of file sll_m_maxwell_1d_fem.F90.

◆ plan_bw

type(sll_t_fft) plan_bw
private

fft plan (backward)

Definition at line 95 of file sll_m_maxwell_1d_fem.F90.

◆ plan_fw

type(sll_t_fft) plan_fw
private

fft plan (forward)

Definition at line 94 of file sll_m_maxwell_1d_fem.F90.

◆ strong_ampere

logical strong_ampere = .false.
privateinherited

flag to switch between strong and weak Ampere formulation

tolerance for the field solver

Definition at line 35 of file sll_m_maxwell_1d_base.F90.

    Report Typos and Errors