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_3d_clamped Module Reference

Description

Utilites for Maxwell solver's with spline finite elements using sparse matrices.

Author
Benedikt Perse

Functions/Subroutines

subroutine, public sll_s_spline_fem_mass3d_clamped (n_cells, deg, component, matrix, profile, spline, n_cells_min, n_cells_max)
 Set up 3d clamped mass matrix for specific spline degrees and profile function. More...
 
subroutine sll_s_spline_fem_mass_line_boundary (q, deg, profile, row, n_cells, component, mass_line, xw_gauss_d1, xw_gauss_d2, xw_gauss_d3, bspl_d1, bspl_d2, bspl_d3, spline)
 
subroutine, public sll_s_spline_fem_mixedmass3d_clamped (n_cells, deg1, deg2, component, matrix, profile, spline1, spline2, n_cells_min, n_cells_max)
 Set up 3d clamped mixed mass matrix for specific spline degree and profile function. More...
 
subroutine sll_s_spline_fem_mixedmass_line_boundary (q, deg1, deg2, profile, row, n_cells, component, mass_line, xw_gauss_d1, xw_gauss_d2, xw_gauss_d3, bspl_d1a, bspl_d2a, bspl_d3a, bspl_d1b, bspl_d2b, bspl_d3b, spline1, spline2)
 Computes the mixed mass line for a mass matrix with degree splines. More...
 
subroutine, public sll_s_multiply_g_clamped (n_dofs, delta_x, s_deg_0, field_in, field_out)
 Multiply by dicrete gradient matrix. More...
 
subroutine, public sll_s_multiply_gt_clamped (n_dofs, delta_x, s_deg_0, field_in, field_out)
 Multiply by transpose of dicrete gradient matrix. More...
 
subroutine, public sll_s_multiply_c_clamped (n_dofs, delta_x, s_deg_0, field_in, field_out)
 Multiply by discrete curl matrix. More...
 
subroutine, public sll_s_multiply_ct_clamped (n_dofs, delta_x, s_deg_0, field_in, field_out)
 Multiply by transpose of discrete curl matrix. More...
 
subroutine, public sll_s_multiply_g_clamped_1d (n_dofs, delta_x, s_deg_0, in, out)
 Multiplication of the input vector in by the clamped derivative matrix G. More...
 
subroutine, public sll_s_multiply_gt_clamped_1d (n_dofs, delta_x, s_deg_0, in, out)
 Multiplication of the input vector in by the transposed clamped derivative matrix G^T. More...
 

Function/Subroutine Documentation

◆ sll_s_multiply_c_clamped()

subroutine, public sll_m_spline_fem_utilities_3d_clamped::sll_s_multiply_c_clamped ( dimension(3), intent(in)  n_dofs,
dimension(3), intent(in)  delta_x,
dimension(3), intent(in)  s_deg_0,
dimension(:), intent(in)  field_in,
dimension(:), intent(out)  field_out 
)

Multiply by discrete curl matrix.

Definition at line 776 of file sll_m_spline_fem_utilities_3d_clamped.F90.

Here is the caller graph for this function:

◆ sll_s_multiply_ct_clamped()

subroutine, public sll_m_spline_fem_utilities_3d_clamped::sll_s_multiply_ct_clamped ( dimension(3), intent(in)  n_dofs,
dimension(3), intent(in)  delta_x,
dimension(3), intent(in)  s_deg_0,
dimension(:), intent(in)  field_in,
dimension(:), intent(out)  field_out 
)

Multiply by transpose of discrete curl matrix.

Definition at line 1002 of file sll_m_spline_fem_utilities_3d_clamped.F90.

Here is the caller graph for this function:

◆ sll_s_multiply_g_clamped()

subroutine, public sll_m_spline_fem_utilities_3d_clamped::sll_s_multiply_g_clamped ( dimension(3), intent(in)  n_dofs,
dimension(3), intent(in)  delta_x,
dimension(3), intent(in)  s_deg_0,
dimension(:), intent(in)  field_in,
dimension(:), intent(out)  field_out 
)

Multiply by dicrete gradient matrix.

Definition at line 538 of file sll_m_spline_fem_utilities_3d_clamped.F90.

Here is the caller graph for this function:

◆ sll_s_multiply_g_clamped_1d()

subroutine, public sll_m_spline_fem_utilities_3d_clamped::sll_s_multiply_g_clamped_1d ( intent(in)  n_dofs,
intent(in)  delta_x,
intent(in)  s_deg_0,
dimension(:), intent(in)  in,
dimension(:), intent(out)  out 
)

Multiplication of the input vector in by the clamped derivative matrix G.

Definition at line 1220 of file sll_m_spline_fem_utilities_3d_clamped.F90.

Here is the caller graph for this function:

◆ sll_s_multiply_gt_clamped()

subroutine, public sll_m_spline_fem_utilities_3d_clamped::sll_s_multiply_gt_clamped ( dimension(3), intent(in)  n_dofs,
dimension(3), intent(in)  delta_x,
dimension(3), intent(in)  s_deg_0,
dimension(:), intent(in)  field_in,
dimension(:), intent(out)  field_out 
)

Multiply by transpose of dicrete gradient matrix.

Definition at line 652 of file sll_m_spline_fem_utilities_3d_clamped.F90.

Here is the caller graph for this function:

◆ sll_s_multiply_gt_clamped_1d()

subroutine, public sll_m_spline_fem_utilities_3d_clamped::sll_s_multiply_gt_clamped_1d ( intent(in)  n_dofs,
intent(in)  delta_x,
intent(in)  s_deg_0,
dimension(:), intent(in)  in,
dimension(:), intent(out)  out 
)

Multiplication of the input vector in by the transposed clamped derivative matrix G^T.

Definition at line 1244 of file sll_m_spline_fem_utilities_3d_clamped.F90.

Here is the caller graph for this function:

◆ sll_s_spline_fem_mass3d_clamped()

subroutine, public sll_m_spline_fem_utilities_3d_clamped::sll_s_spline_fem_mass3d_clamped ( dimension(3), intent(in)  n_cells,
dimension(3), intent(in)  deg,
intent(in)  component,
type(sll_t_matrix_csr), intent(out)  matrix,
procedure(sll_i_profile_function profile,
type(sll_t_spline_pp_1d), intent(in)  spline,
dimension(3), intent(in)  n_cells_min,
dimension(3), intent(in)  n_cells_max 
)

Set up 3d clamped mass matrix for specific spline degrees and profile function.

Parameters
[out]matrixsparse mass matrix
profileprofile function
[in]spline1D pp-spline

Definition at line 53 of file sll_m_spline_fem_utilities_3d_clamped.F90.

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

◆ sll_s_spline_fem_mass_line_boundary()

subroutine sll_m_spline_fem_utilities_3d_clamped::sll_s_spline_fem_mass_line_boundary ( dimension(3), intent(in)  q,
dimension(3), intent(in)  deg,
procedure(sll_i_profile_function profile,
dimension(3), intent(in)  row,
dimension(3), intent(in)  n_cells,
intent(in)  component,
dimension((7*deg(1)**2-deg(1)-2)/2*(2*deg(2)+1)*(2*deg(3)+1)), intent(out)  mass_line,
dimension(2, q(1)), intent(in)  xw_gauss_d1,
dimension(2, q(2)), intent(in)  xw_gauss_d2,
dimension(2, q(3)), intent(in)  xw_gauss_d3,
dimension(deg(1)+1, q(1)), intent(in)  bspl_d1,
dimension(deg(2)+1, q(2)), intent(in)  bspl_d2,
dimension(deg(3)+1, q(3)), intent(in)  bspl_d3,
type(sll_t_spline_pp_1d), intent(in)  spline 
)
private
Parameters
profileprofile function
[in]spline1D pp-spline

Definition at line 148 of file sll_m_spline_fem_utilities_3d_clamped.F90.

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

◆ sll_s_spline_fem_mixedmass3d_clamped()

subroutine, public sll_m_spline_fem_utilities_3d_clamped::sll_s_spline_fem_mixedmass3d_clamped ( dimension(3), intent(in)  n_cells,
dimension(3), intent(in)  deg1,
dimension(3), intent(in)  deg2,
dimension(2), intent(in)  component,
type(sll_t_matrix_csr), intent(out)  matrix,
procedure(sll_i_profile_function profile,
type(sll_t_spline_pp_1d), intent(in)  spline1,
type(sll_t_spline_pp_1d), intent(in)  spline2,
dimension(3), intent(in)  n_cells_min,
dimension(3), intent(in)  n_cells_max 
)

Set up 3d clamped mixed mass matrix for specific spline degree and profile function.

Parameters
[out]matrixsparse mass matrix
profileprofile function
[in]spline11D pp-spline
[in]spline21D pp-spline

Definition at line 271 of file sll_m_spline_fem_utilities_3d_clamped.F90.

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

◆ sll_s_spline_fem_mixedmass_line_boundary()

subroutine sll_m_spline_fem_utilities_3d_clamped::sll_s_spline_fem_mixedmass_line_boundary ( dimension(3), intent(in)  q,
dimension(3), intent(in)  deg1,
dimension(3), intent(in)  deg2,
procedure(sll_i_profile_function profile,
dimension(3), intent(in)  row,
dimension(3), intent(in)  n_cells,
dimension(2), intent(in)  component,
dimension(deg1(3)+deg2(3)+1), intent(out)  mass_line,
dimension(2, q(1)), intent(in)  xw_gauss_d1,
dimension(2, q(2)), intent(in)  xw_gauss_d2,
dimension(2, q(3)), intent(in)  xw_gauss_d3,
dimension(deg1(1)+1, q(1)), intent(in)  bspl_d1a,
dimension(deg1(2)+1, q(2)), intent(in)  bspl_d2a,
dimension(deg1(3)+1, q(3)), intent(in)  bspl_d3a,
dimension(deg2(1)+1, q(1)), intent(in)  bspl_d1b,
dimension(deg2(2)+1, q(2)), intent(in)  bspl_d2b,
dimension(deg2(3)+1, q(3)), intent(in)  bspl_d3b,
type(sll_t_spline_pp_1d), intent(in)  spline1,
type(sll_t_spline_pp_1d), intent(in)  spline2 
)
private

Computes the mixed mass line for a mass matrix with degree splines.

Parameters
profileprofile function
[in]spline11D pp-spline
[in]spline21D pp-spline

Definition at line 388 of file sll_m_spline_fem_utilities_3d_clamped.F90.

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