Report Typos and Errors    
Semi-Lagrangian Library
Modular library for kinetic and gyrokinetic simulations of plasmas in fusion energy devices.
Derived types and interfaces | Functions/Subroutines
sll_m_linear_operator_maxwell_eb_schur Module Reference

Description

This linear operator implements the compatible spline FEM operator for the curl part of Maxwell's equation (Schur complement operator) on uniform periodic grid The operator is implemented based on its diagonal form in Fouier space It also contains a dot_inverse that applies the inverse of the matrix (by inversion in Fouier space.

Author
Katharina Kormann

Derived types and interfaces

type  sll_t_linear_operator_maxwell_eb_schur
 

Functions/Subroutines

subroutine create_maxwell_eb (self, eig_values_mass_0_1, eig_values_mass_0_2, eig_values_mass_0_3, eig_values_mass_1_1, eig_values_mass_1_2, eig_values_mass_1_3, n_dofs, delta_x)
 
subroutine free_maxwell_eb (self)
 
subroutine fft3d (self, array1d_x, array1d_y, array1d_z, n_dofs, inde, x, scratch1)
 Helper function. More...
 
subroutine ifft3d (self, array1d_x, array1d_y, array1d_z, n_dofs, inde, scratch, y)
 Helper function. More...
 
subroutine dot_maxwell_eb_fourier (self, x, y)
 
subroutine inverse_dot_maxwell_eb_fourier (self, x, y)
 
subroutine print_info_maxwell_eb (self)
 
subroutine invert3d (mat, mat_inv)
 Helper function to invert 3x3 matrix. More...
 

Function/Subroutine Documentation

◆ create_maxwell_eb()

subroutine sll_m_linear_operator_maxwell_eb_schur::create_maxwell_eb ( class(sll_t_linear_operator_maxwell_eb_schur), intent(inout)  self,
  eig_values_mass_0_1,
  eig_values_mass_0_2,
  eig_values_mass_0_3,
  eig_values_mass_1_1,
  eig_values_mass_1_2,
  eig_values_mass_1_3,
  n_dofs,
  delta_x 
)
private
Parameters
[in,out]selfnumber of degrees of freedom
[in,out]selfcell size

Definition at line 64 of file sll_m_linear_operator_maxwell_eb_schur.F90.

Here is the call graph for this function:

◆ dot_maxwell_eb_fourier()

subroutine sll_m_linear_operator_maxwell_eb_schur::dot_maxwell_eb_fourier ( class(sll_t_linear_operator_maxwell_eb_schur), intent(in)  self,
dimension(:), intent(in)  x,
dimension(:), intent(out)  y 
)
private

Definition at line 275 of file sll_m_linear_operator_maxwell_eb_schur.F90.

Here is the call graph for this function:

◆ fft3d()

subroutine sll_m_linear_operator_maxwell_eb_schur::fft3d ( class(sll_t_linear_operator_maxwell_eb_schur), intent(in)  self,
dimension(:), intent(inout)  array1d_x,
dimension(:), intent(inout)  array1d_y,
dimension(:), intent(inout)  array1d_z,
dimension(3), intent(in)  n_dofs,
intent(in)  inde,
dimension(:), intent(in)  x,
dimension(:,:,:,:), intent(out)  scratch1 
)
private

Helper function.

Definition at line 169 of file sll_m_linear_operator_maxwell_eb_schur.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ free_maxwell_eb()

subroutine sll_m_linear_operator_maxwell_eb_schur::free_maxwell_eb ( class( sll_t_linear_operator_maxwell_eb_schur), intent(inout)  self)
private

Definition at line 163 of file sll_m_linear_operator_maxwell_eb_schur.F90.

◆ ifft3d()

subroutine sll_m_linear_operator_maxwell_eb_schur::ifft3d ( class(sll_t_linear_operator_maxwell_eb_schur), intent(in)  self,
dimension(:), intent(inout)  array1d_x,
dimension(:), intent(inout)  array1d_y,
dimension(:), intent(inout)  array1d_z,
dimension(3), intent(in)  n_dofs,
intent(in)  inde,
dimension(:,:,:,:), intent(inout)  scratch,
dimension(:), intent(out)  y 
)
private

Helper function.

Definition at line 221 of file sll_m_linear_operator_maxwell_eb_schur.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ inverse_dot_maxwell_eb_fourier()

subroutine sll_m_linear_operator_maxwell_eb_schur::inverse_dot_maxwell_eb_fourier ( class(sll_t_linear_operator_maxwell_eb_schur), intent(in)  self,
dimension(:), intent(in)  x,
dimension(:), intent(out)  y 
)
private

Definition at line 372 of file sll_m_linear_operator_maxwell_eb_schur.F90.

Here is the call graph for this function:

◆ invert3d()

subroutine sll_m_linear_operator_maxwell_eb_schur::invert3d ( dimension(3,3), intent(in)  mat,
dimension(3,3), intent(out)  mat_inv 
)
private

Helper function to invert 3x3 matrix.

Definition at line 545 of file sll_m_linear_operator_maxwell_eb_schur.F90.

Here is the caller graph for this function:

◆ print_info_maxwell_eb()

subroutine sll_m_linear_operator_maxwell_eb_schur::print_info_maxwell_eb ( class(sll_t_linear_operator_maxwell_eb_schur), intent(in)  self)
private

Definition at line 537 of file sll_m_linear_operator_maxwell_eb_schur.F90.

    Report Typos and Errors