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

Description

Utilites for Maxwell solver's with spline finite elements using sparse matrix linear solvers.

Author
Katharina Kormann

Functions/Subroutines

subroutine, public sll_s_spline_fem_sparsity_mass (degree, n_cells, spmat)
 Helper function to create sparsity pattern of the mass matrix. More...
 
subroutine assemble_mass (n_cells, degree, mass_line, matrix)
 Assemble sparse matrix for mass matrix. More...
 
subroutine, public sll_s_spline_fem_mass1d (n_cells, s_deg, mass_line, matrix)
 Set up 1d mass matrix (sparsity pattern and values) More...
 
subroutine assemble_mass_full (n_cells, degree, mass_line, matrix, row, ind)
 Assemble the given row of a sparse matrix for a full mass line. More...
 
subroutine, public sll_s_spline_fem_mass1d_full (n_cells, s_deg, matrix, profile)
 Set up 1d mass matrix for specific spline degree and profile function. More...
 
subroutine sll_s_maxwell_spline_fem_sparsity_mixedmass (deg1, deg2, n_cells, spmat)
 Helper function to create sparsity pattern of the mass matrix with mixed degree deg1 and deg2. More...
 
subroutine assemble_mixedmass (n_cells, degree, mass, matrix)
 Assemble the mixed mass matrix. More...
 
subroutine assemble_mixedmass_full (n_cells, deg1, deg2, mass_line, matrix, row, ind)
 Assemble the given row of a mixed mass matrix for a full mass_line. More...
 
subroutine, public sll_s_spline_fem_mixedmass1d (n_cells, s_deg, mass_line, matrix)
 
subroutine, public sll_s_spline_fem_mixedmass1d_full (n_cells, deg1, deg2, matrix, profile)
 
subroutine sll_s_spline_fem_sparsity_mass_clamped (degree, n_cells, spmat)
 Helper function to create sparsity pattern of the clamped mass matrix. More...
 
subroutine assemble_mass_clamped (n_cells, degree, mass_line, mass_line_b, matrix)
 Assemble the clamped mass matrix. More...
 
subroutine, public sll_s_spline_fem_mass1d_clamped (n_cells, s_deg, mass_line, mass_line_b, matrix)
 Set up 1d mass matrix (sparsity pattern and values) More...
 
subroutine assemble_mass_clamped_full (n_cells, deg, mass, mass_b, matrix, row, ind)
 Assemble the given row of a sparse matrix for a full mass line. More...
 
subroutine, public sll_s_spline_fem_mass1d_clamped_full (n_cells, deg, spline, matrix, profile)
 Set up 1d mass matrix for specific spline degree and profile function. More...
 
subroutine sll_s_maxwell_spline_fem_sparsity_mixedmass_clamped (deg1, deg2, n_cells, spmat)
 Helper function to create sparsity pattern of the mass matrix with mixed degree deg1 and deg2. More...
 
subroutine assemble_mixedmass_clamped_full (n_cells, deg1, deg2, mass_line, matrix, row, ind)
 Assemble the given row of a mixed mass matrix for a full mass_line. More...
 
subroutine assemble_mixedmass_clamped_boundary (n_cells, deg1, deg2, mass_line, matrix, row, ind)
 Assemble the boundary part of a mixed mass matrix. More...
 
subroutine, public sll_s_spline_fem_mixedmass1d_clamped_full (n_cells, deg1, deg2, matrix, profile, spline1, spline2)
 Set up 1d mixed mass matrix for specific spline degrees and profile function. More...
 

Function/Subroutine Documentation

◆ assemble_mass()

subroutine sll_m_spline_fem_utilities_sparse::assemble_mass ( intent(in)  n_cells,
intent(in)  degree,
dimension(degree+1), intent(in)  mass_line,
type(sll_t_matrix_csr), intent(inout)  matrix 
)
private

Assemble sparse matrix for mass matrix.

Parameters
[in,out]matrixsparse matrix (mass matrix on output)

Definition at line 127 of file sll_m_spline_fem_utilities_sparse.F90.

Here is the caller graph for this function:

◆ assemble_mass_clamped()

subroutine sll_m_spline_fem_utilities_sparse::assemble_mass_clamped ( intent(in)  n_cells,
intent(in)  degree,
dimension(degree+1), intent(in)  mass_line,
dimension((degree+1)*degree), intent(in)  mass_line_b,
type(sll_t_matrix_csr), intent(inout)  matrix 
)
private

Assemble the clamped mass matrix.

Parameters
[in,out]matrixsparse matrix (mass matrix on output)

Definition at line 534 of file sll_m_spline_fem_utilities_sparse.F90.

Here is the caller graph for this function:

◆ assemble_mass_clamped_full()

subroutine sll_m_spline_fem_utilities_sparse::assemble_mass_clamped_full ( intent(in)  n_cells,
intent(in)  deg,
dimension(2*deg+1), intent(in)  mass,
dimension((7*deg**2-deg-2)/2), intent(in)  mass_b,
type(sll_t_matrix_csr), intent(inout)  matrix,
intent(in)  row,
intent(inout)  ind 
)
private

Assemble the given row of a sparse matrix for a full mass line.

Parameters
[in,out]matrixsparse matrix

Definition at line 629 of file sll_m_spline_fem_utilities_sparse.F90.

Here is the caller graph for this function:

◆ assemble_mass_full()

subroutine sll_m_spline_fem_utilities_sparse::assemble_mass_full ( intent(in)  n_cells,
intent(in)  degree,
dimension(2*degree+1), intent(in)  mass_line,
type(sll_t_matrix_csr), intent(inout)  matrix,
intent(in)  row,
intent(inout)  ind 
)
private

Assemble the given row of a sparse matrix for a full mass line.

Parameters
[in,out]matrixsparse matrix

Definition at line 203 of file sll_m_spline_fem_utilities_sparse.F90.

Here is the caller graph for this function:

◆ assemble_mixedmass()

subroutine sll_m_spline_fem_utilities_sparse::assemble_mixedmass ( intent(in)  n_cells,
intent(in)  degree,
dimension(degree*2), intent(in)  mass,
type(sll_t_matrix_csr), intent(inout)  matrix 
)
private

Assemble the mixed mass matrix.

Definition at line 342 of file sll_m_spline_fem_utilities_sparse.F90.

Here is the caller graph for this function:

◆ assemble_mixedmass_clamped_boundary()

subroutine sll_m_spline_fem_utilities_sparse::assemble_mixedmass_clamped_boundary ( intent(in)  n_cells,
intent(in)  deg1,
intent(in)  deg2,
dimension( (deg1+deg2)**2+(2*deg2+deg1-deg1**2)/2 ), intent(in)  mass_line,
type(sll_t_matrix_csr), intent(inout)  matrix,
intent(in)  row,
intent(inout)  ind 
)
private

Assemble the boundary part of a mixed mass matrix.

Parameters
[in,out]matrixsparse matrix

Definition at line 800 of file sll_m_spline_fem_utilities_sparse.F90.

Here is the caller graph for this function:

◆ assemble_mixedmass_clamped_full()

subroutine sll_m_spline_fem_utilities_sparse::assemble_mixedmass_clamped_full ( intent(in)  n_cells,
intent(in)  deg1,
intent(in)  deg2,
dimension(deg1+deg2+1), intent(in)  mass_line,
type(sll_t_matrix_csr), intent(inout)  matrix,
intent(in)  row,
intent(inout)  ind 
)
private

Assemble the given row of a mixed mass matrix for a full mass_line.

Parameters
[in,out]matrixsparse matrix

Definition at line 781 of file sll_m_spline_fem_utilities_sparse.F90.

Here is the caller graph for this function:

◆ assemble_mixedmass_full()

subroutine sll_m_spline_fem_utilities_sparse::assemble_mixedmass_full ( intent(in)  n_cells,
intent(in)  deg1,
intent(in)  deg2,
dimension(deg1+deg2+1), intent(in)  mass_line,
type(sll_t_matrix_csr), intent(inout)  matrix,
intent(in)  row,
intent(inout)  ind 
)
private

Assemble the given row of a mixed mass matrix for a full mass_line.

Parameters
[in,out]matrixsparse matrix

Definition at line 382 of file sll_m_spline_fem_utilities_sparse.F90.

Here is the caller graph for this function:

◆ sll_s_maxwell_spline_fem_sparsity_mixedmass()

subroutine sll_m_spline_fem_utilities_sparse::sll_s_maxwell_spline_fem_sparsity_mixedmass ( intent(in)  deg1,
intent(in)  deg2,
intent(in)  n_cells,
type(sll_t_matrix_csr), intent(out)  spmat 
)
private

Helper function to create sparsity pattern of the mass matrix with mixed degree deg1 and deg2.

Parameters
[out]spmatsparse matrix

Definition at line 277 of file sll_m_spline_fem_utilities_sparse.F90.

Here is the caller graph for this function:

◆ sll_s_maxwell_spline_fem_sparsity_mixedmass_clamped()

subroutine sll_m_spline_fem_utilities_sparse::sll_s_maxwell_spline_fem_sparsity_mixedmass_clamped ( intent(in)  deg1,
intent(in)  deg2,
intent(in)  n_cells,
type(sll_t_matrix_csr), intent(out)  spmat 
)
private

Helper function to create sparsity pattern of the mass matrix with mixed degree deg1 and deg2.

Parameters
[out]spmatsparse matrix

Definition at line 723 of file sll_m_spline_fem_utilities_sparse.F90.

Here is the caller graph for this function:

◆ sll_s_spline_fem_mass1d()

subroutine, public sll_m_spline_fem_utilities_sparse::sll_s_spline_fem_mass1d ( intent(in)  n_cells,
intent(in)  s_deg,
dimension(:), intent(in)  mass_line,
type(sll_t_matrix_csr matrix 
)

Set up 1d mass matrix (sparsity pattern and values)

Parameters
matrixsparse matrix (containing mass matrix on output)

Definition at line 190 of file sll_m_spline_fem_utilities_sparse.F90.

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

◆ sll_s_spline_fem_mass1d_clamped()

subroutine, public sll_m_spline_fem_utilities_sparse::sll_s_spline_fem_mass1d_clamped ( intent(in)  n_cells,
intent(in)  s_deg,
dimension(:), intent(in)  mass_line,
dimension(:), intent(in)  mass_line_b,
type(sll_t_matrix_csr matrix 
)

Set up 1d mass matrix (sparsity pattern and values)

Parameters
matrixsparse matrix (containing mass matrix on output)

Definition at line 614 of file sll_m_spline_fem_utilities_sparse.F90.

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

◆ sll_s_spline_fem_mass1d_clamped_full()

subroutine, public sll_m_spline_fem_utilities_sparse::sll_s_spline_fem_mass1d_clamped_full ( intent(in)  n_cells,
intent(in)  deg,
type(sll_t_spline_pp_1d), intent(in)  spline,
type(sll_t_matrix_csr), intent(out)  matrix,
procedure(sll_i_profile_function_1d profile 
)

Set up 1d mass matrix for specific spline degree and profile function.

Parameters
[in]splinepp-spline
[out]matrixsparse matrix (containing mass matrix on output)
profileprofile function

Definition at line 678 of file sll_m_spline_fem_utilities_sparse.F90.

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

◆ sll_s_spline_fem_mass1d_full()

subroutine, public sll_m_spline_fem_utilities_sparse::sll_s_spline_fem_mass1d_full ( intent(in)  n_cells,
intent(in)  s_deg,
type(sll_t_matrix_csr), intent(out)  matrix,
procedure(sll_i_profile_function_1d profile 
)

Set up 1d mass matrix for specific spline degree and profile function.

Parameters
[out]matrixsparse matrix (containing mass matrix on output)
profileprofile function

Definition at line 256 of file sll_m_spline_fem_utilities_sparse.F90.

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

◆ sll_s_spline_fem_mixedmass1d()

subroutine, public sll_m_spline_fem_utilities_sparse::sll_s_spline_fem_mixedmass1d ( intent(in)  n_cells,
intent(in)  s_deg,
dimension(:), intent(in)  mass_line,
type(sll_t_matrix_csr matrix 
)
Parameters
matrixsparse matrix (containing mass matrix on output)

Definition at line 435 of file sll_m_spline_fem_utilities_sparse.F90.

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

◆ sll_s_spline_fem_mixedmass1d_clamped_full()

subroutine, public sll_m_spline_fem_utilities_sparse::sll_s_spline_fem_mixedmass1d_clamped_full ( intent(in)  n_cells,
intent(in)  deg1,
intent(in)  deg2,
type(sll_t_matrix_csr), intent(out)  matrix,
procedure(sll_i_profile_function_1d profile,
type(sll_t_spline_pp_1d), intent(in)  spline1,
type(sll_t_spline_pp_1d), intent(in)  spline2 
)

Set up 1d mixed mass matrix for specific spline degrees and profile function.

Parameters
[out]matrixsparse matrix (containing mass matrix on output)
profileprofile function
[in]spline11D pp-spline
[in]spline21D pp-spline

Definition at line 845 of file sll_m_spline_fem_utilities_sparse.F90.

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

◆ sll_s_spline_fem_mixedmass1d_full()

subroutine, public sll_m_spline_fem_utilities_sparse::sll_s_spline_fem_mixedmass1d_full ( intent(in)  n_cells,
intent(in)  deg1,
intent(in)  deg2,
type(sll_t_matrix_csr), intent(out)  matrix,
procedure(sll_i_profile_function_1d profile 
)
Parameters
[out]matrixsparse matrix (containing mass matrix on output)
profileprofile function

Definition at line 448 of file sll_m_spline_fem_utilities_sparse.F90.

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

◆ sll_s_spline_fem_sparsity_mass()

subroutine, public sll_m_spline_fem_utilities_sparse::sll_s_spline_fem_sparsity_mass ( intent(in)  degree,
intent(in)  n_cells,
type(sll_t_matrix_csr), intent(out)  spmat 
)

Helper function to create sparsity pattern of the mass matrix.

Parameters
[out]spmatsparse matrix

Definition at line 52 of file sll_m_spline_fem_utilities_sparse.F90.

Here is the caller graph for this function:

◆ sll_s_spline_fem_sparsity_mass_clamped()

subroutine sll_m_spline_fem_utilities_sparse::sll_s_spline_fem_sparsity_mass_clamped ( intent(in)  degree,
intent(in)  n_cells,
type(sll_t_matrix_csr), intent(out)  spmat 
)
private

Helper function to create sparsity pattern of the clamped mass matrix.

Parameters
[out]spmatsparse matrix

Definition at line 471 of file sll_m_spline_fem_utilities_sparse.F90.

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