Semi-Lagrangian Library
Modular library for kinetic and gyrokinetic simulations of plasmas in fusion energy devices.
|
Utilites for Maxwell solver's with spline finite elements using sparse matrix linear solvers.
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... | |
|
private |
Assemble sparse matrix for mass matrix.
[in,out] | matrix | sparse matrix (mass matrix on output) |
Definition at line 127 of file sll_m_spline_fem_utilities_sparse.F90.
|
private |
Assemble the clamped mass matrix.
[in,out] | matrix | sparse matrix (mass matrix on output) |
Definition at line 534 of file sll_m_spline_fem_utilities_sparse.F90.
|
private |
Assemble the given row of a sparse matrix for a full mass line.
[in,out] | matrix | sparse matrix |
Definition at line 629 of file sll_m_spline_fem_utilities_sparse.F90.
|
private |
Assemble the given row of a sparse matrix for a full mass line.
[in,out] | matrix | sparse matrix |
Definition at line 203 of file sll_m_spline_fem_utilities_sparse.F90.
|
private |
Assemble the mixed mass matrix.
Definition at line 342 of file sll_m_spline_fem_utilities_sparse.F90.
|
private |
Assemble the boundary part of a mixed mass matrix.
[in,out] | matrix | sparse matrix |
Definition at line 800 of file sll_m_spline_fem_utilities_sparse.F90.
|
private |
Assemble the given row of a mixed mass matrix for a full mass_line.
[in,out] | matrix | sparse matrix |
Definition at line 781 of file sll_m_spline_fem_utilities_sparse.F90.
|
private |
Assemble the given row of a mixed mass matrix for a full mass_line.
[in,out] | matrix | sparse matrix |
Definition at line 382 of file sll_m_spline_fem_utilities_sparse.F90.
|
private |
Helper function to create sparsity pattern of the mass matrix with mixed degree deg1 and deg2.
[out] | spmat | sparse matrix |
Definition at line 277 of file sll_m_spline_fem_utilities_sparse.F90.
|
private |
Helper function to create sparsity pattern of the mass matrix with mixed degree deg1 and deg2.
[out] | spmat | sparse matrix |
Definition at line 723 of file sll_m_spline_fem_utilities_sparse.F90.
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)
matrix | sparse matrix (containing mass matrix on output) |
Definition at line 190 of file sll_m_spline_fem_utilities_sparse.F90.
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)
matrix | sparse matrix (containing mass matrix on output) |
Definition at line 614 of file sll_m_spline_fem_utilities_sparse.F90.
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.
[in] | spline | pp-spline |
[out] | matrix | sparse matrix (containing mass matrix on output) |
profile | profile function |
Definition at line 678 of file sll_m_spline_fem_utilities_sparse.F90.
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.
[out] | matrix | sparse matrix (containing mass matrix on output) |
profile | profile function |
Definition at line 256 of file sll_m_spline_fem_utilities_sparse.F90.
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 | ||
) |
matrix | sparse matrix (containing mass matrix on output) |
Definition at line 435 of file sll_m_spline_fem_utilities_sparse.F90.
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.
[out] | matrix | sparse matrix (containing mass matrix on output) |
profile | profile function | |
[in] | spline1 | 1D pp-spline |
[in] | spline2 | 1D pp-spline |
Definition at line 845 of file sll_m_spline_fem_utilities_sparse.F90.
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 | ||
) |
[out] | matrix | sparse matrix (containing mass matrix on output) |
profile | profile function |
Definition at line 448 of file sll_m_spline_fem_utilities_sparse.F90.
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.
[out] | spmat | sparse matrix |
Definition at line 52 of file sll_m_spline_fem_utilities_sparse.F90.
|
private |
Helper function to create sparsity pattern of the clamped mass matrix.
[out] | spmat | sparse matrix |
Definition at line 471 of file sll_m_spline_fem_utilities_sparse.F90.