Semi-Lagrangian Library
Modular library for kinetic and gyrokinetic simulations of plasmas in fusion energy devices.
|
Helper for spline finite elements utilites.
Functions/Subroutines | |
subroutine, public | sll_s_spline_fem_sparsity_mass3d (deg, n_cells, spmat) |
Helper function to create sparsity pattern of the 3d mass matrix. More... | |
subroutine | loop2 (i, j, shift, deg, n_cells, ind, spmat) |
subroutine | loop1 (i, shift, deg, n_cells, ind, spmat) |
subroutine, public | sll_s_spline_fem_sparsity_mass3d_clamped (deg, n_cells, spmat) |
Helper function to create sparsity pattern of the 3d clamped mass matrix. More... | |
subroutine | loop2_clamped (i, j, shift, deg, n_cells, ind, spmat) |
subroutine | loop1_clamped (i, shift, deg, n_cells, ind, spmat) |
subroutine, public | sll_s_spline_fem_sparsity_mixedmass3d (deg1, deg2, n_cells, spmat) |
Helper function to create sparsity pattern of the 3d mass matrix. More... | |
subroutine | mloop2 (i, j, shift, deg1, deg2, n_cells, ind, spmat) |
subroutine | mloop1 (i, shift, deg1, deg2, n_cells, ind, spmat) |
subroutine, public | sll_s_spline_fem_sparsity_mixedmass3d_clamped (deg1, deg2, n_cells, spmat) |
Helper function to create sparsity pattern of the 3d clamped mixed mass matrix. More... | |
subroutine | mloop2_clamped (i, j, shift, deg1, deg2, n_cells, ind, spmat) |
subroutine | mloop1_clamped (i, shift, deg1, deg2, n_cells, ind, spmat) |
subroutine, public | assemble_mass3d (deg, n_cells, mass_line, matrix, row, ind) |
Assemble the given row of the 3d mass matrix. More... | |
subroutine | assemble2 (deg, n_cells, mass_line, matrix, row, ind, shift) |
subroutine | assemble1 (deg, n_cells, mass_line, matrix, row, ind, shift) |
subroutine, public | assemble_mass3d_clamped (deg, n_cells, mass_line, matrix, row, ind) |
Assemble the given row of the clamped mass matrix. More... | |
subroutine | assemble2_clamped (deg, n_cells, mass_line, matrix, row, ind, shift) |
subroutine | assemble1_clamped (deg, n_cells, mass_line, matrix, row, ind, shift) |
subroutine, public | assemble_mass3d_clamped_boundary (deg, n_cells, mass_line, matrix, row, ind) |
Assemble the boundary part of the clamped mass matrix. More... | |
subroutine | assemble2_clamped_boundary (deg, n_cells, mass_line, matrix, row, ind, shift) |
subroutine | assemble1_clamped_boundary (deg, n_cells, mass_line, matrix, row, ind, shift) |
subroutine, public | assemble_mixedmass3d (deg1, deg2, n_cells, mass_line, matrix, row, ind) |
Assemble the given row of the mixed mass matrix. More... | |
subroutine | massemble2 (deg1, deg2, n_cells, mass_line, matrix, row, ind, shift) |
subroutine | massemble1 (deg1, deg2, n_cells, mass_line, matrix, row, ind, shift) |
subroutine, public | assemble_mixedmass3d_clamped (deg1, deg2, n_cells, mass_line, matrix, row, ind) |
Assemble the given row of the clamped mixed mass matrix. More... | |
subroutine | massemble2_clamped (deg1, deg2, n_cells, mass_line, matrix, row, ind, shift) |
subroutine | massemble1_clamped (deg1, deg2, n_cells, mass_line, matrix, row, ind, shift) |
subroutine, public | assemble_mixedmass3d_clamped_boundary (deg1, deg2, n_cells, mass_line, matrix, row, ind) |
Assemble the boundary part of the clamped mixed mass matrix. More... | |
subroutine | massemble2_clamped_boundary (deg1, deg2, n_cells, mass_line, matrix, row, ind, shift) |
subroutine | massemble1_clamped_boundary (deg1, deg2, n_cells, mass_line, matrix, row, ind, shift) |
|
private |
[in] | deg | spline degree for every direction |
[in] | n_cells | number of cells in the first direction |
[in] | mass_line | massline for one row of the sparse mass matrix |
[in,out] | matrix | sparse matrix |
[in] | row | current row in the first direction |
[in,out] | ind | index |
[in] | shift | shift in the second direction |
Definition at line 827 of file sll_m_spline_fem_utilities_3d_helper.F90.
|
private |
[in] | deg | spline degree for every direction |
[in] | n_cells | number of cells in the first direction |
[in] | mass_line | massline for one row of the sparse mass matrix |
[in,out] | matrix | sparse matrix |
[in] | row | current row in the first direction |
[in,out] | ind | index |
[in] | shift | shift in the second direction |
Definition at line 992 of file sll_m_spline_fem_utilities_3d_helper.F90.
|
private |
[in] | deg | spline degree for every direction |
[in] | n_cells | number of cells in the first direction |
[in] | mass_line | boundary massline for the sparse mass matrix |
[in,out] | matrix | sparse matrix |
[in] | row | current row in the first direction |
[in,out] | ind | index |
[in] | shift | shift in the second direction |
Definition at line 1120 of file sll_m_spline_fem_utilities_3d_helper.F90.
|
private |
[in] | deg | spline degree for every direction |
[in] | n_cells | number of cells (and grid points) |
[in] | mass_line | massline for one row of the sparse mass matrix |
[in,out] | matrix | sparse matrix |
[in] | row | current row of the sparse matrix |
[in,out] | ind | index |
[in] | shift | shift in the third direction |
Definition at line 772 of file sll_m_spline_fem_utilities_3d_helper.F90.
|
private |
[in] | deg | spline degree for every direction |
[in] | n_cells | number of cells (and grid points) |
[in] | mass_line | massline for one row of the sparse mass matrix |
[in,out] | matrix | sparse matrix |
[in] | row | current row of the sparse matrix |
[in,out] | ind | index |
[in] | shift | shift in the third direction |
Definition at line 938 of file sll_m_spline_fem_utilities_3d_helper.F90.
|
private |
[in] | deg | spline degree for every direction |
[in] | n_cells | number of cells (and grid points) |
[in] | mass_line | boundary massline for the sparse mass matrix |
[in,out] | matrix | sparse matrix |
[in] | row | current row of the sparse matrix |
[in,out] | ind | index |
[in] | shift | shift in the third direction |
Definition at line 1064 of file sll_m_spline_fem_utilities_3d_helper.F90.
subroutine, public sll_m_spline_fem_utilities_3d_helper::assemble_mass3d | ( | integer(kind=i32), dimension(3), intent(in) | deg, |
integer(kind=i32), dimension(3), intent(in) | n_cells, | ||
real(kind=f64), dimension((2*deg(1)+1)*(2*deg(2)+1)*(2*deg(3)+1)), intent(in) | mass_line, | ||
type(sll_t_matrix_csr), intent(inout) | matrix, | ||
integer(kind=i32), dimension(3), intent(in) | row, | ||
integer(kind=i32), intent(inout) | ind | ||
) |
Assemble the given row of the 3d mass matrix.
[in] | deg | spline degree for every direction |
[in] | n_cells | number of cells (and grid points) |
[in] | mass_line | massline for one row of the sparse mass matrix |
[in,out] | matrix | sparse mass matrix |
[in] | row | current row of the sparse matrix |
[in,out] | ind | index in the vector containing the entries of the sparse matrix |
Definition at line 714 of file sll_m_spline_fem_utilities_3d_helper.F90.
subroutine, public sll_m_spline_fem_utilities_3d_helper::assemble_mass3d_clamped | ( | integer(kind=i32), dimension(3), intent(in) | deg, |
integer(kind=i32), dimension(3), intent(in) | n_cells, | ||
real(kind=f64), dimension((2*deg(1)+1)*(2*deg(2)+1)*(2*deg(3)+1)), intent(in) | mass_line, | ||
type(sll_t_matrix_csr), intent(inout) | matrix, | ||
integer(kind=i32), dimension(3), intent(in) | row, | ||
integer(kind=i32), intent(inout) | ind | ||
) |
Assemble the given row of the clamped mass matrix.
[in] | deg | spline degree for every direction |
[in] | n_cells | number of rows (and grid points) |
[in] | mass_line | massline for one row of the sparse mass matrix |
[in,out] | matrix | sparse mass matrix |
[in] | row | current row of the sparse matrix |
[in,out] | ind | index in the vector containing the entries of the sparse matrix |
Definition at line 879 of file sll_m_spline_fem_utilities_3d_helper.F90.
subroutine, public sll_m_spline_fem_utilities_3d_helper::assemble_mass3d_clamped_boundary | ( | integer(kind=i32), dimension(3), intent(in) | deg, |
integer(kind=i32), dimension(3), intent(in) | n_cells, | ||
real(kind=f64), dimension((7*deg(1)**2-deg(1)-2)/2*(2*deg(2)+1)*(2*deg(3)+1)), intent(in) | mass_line, | ||
type(sll_t_matrix_csr), intent(inout) | matrix, | ||
integer(kind=i32), dimension(3), intent(in) | row, | ||
integer(kind=i32), intent(inout) | ind | ||
) |
Assemble the boundary part of the clamped mass matrix.
[in] | deg | spline degree for every direction |
[in] | n_cells | number of rows (and grid points) |
[in] | mass_line | boundary massline for the sparse mass matrix |
[in,out] | matrix | sparse mass matrix |
[in] | row | current row of the sparse matrix |
[in,out] | ind | index in the vector containing the entries of the sparse matrix |
Definition at line 1012 of file sll_m_spline_fem_utilities_3d_helper.F90.
subroutine, public sll_m_spline_fem_utilities_3d_helper::assemble_mixedmass3d | ( | integer(kind=i32), dimension(3), intent(in) | deg1, |
integer(kind=i32), dimension(3), intent(in) | deg2, | ||
integer(kind=i32), dimension(3), intent(in) | n_cells, | ||
real(kind=f64), dimension((deg1(1)+deg2(1)+1)*(deg1(2)+ deg2(2)+1)*(deg1(3)+ deg2(3)+1)), intent(in) | mass_line, | ||
type(sll_t_matrix_csr), intent(inout) | matrix, | ||
integer(kind=i32), dimension(3), intent(in) | row, | ||
integer(kind=i32), intent(inout) | ind | ||
) |
Assemble the given row of the mixed mass matrix.
[in] | deg2 | spline deg for every direction |
[in] | n_cells | number of rows (and grid points) |
[in] | mass_line | massline for one row of the sparse mass matrix |
[in,out] | matrix | sparse mass matrix |
[in] | row | current row of the sparse matrix |
[in,out] | ind | index in the vector containing the entries of the sparse matrix |
Definition at line 1166 of file sll_m_spline_fem_utilities_3d_helper.F90.
subroutine, public sll_m_spline_fem_utilities_3d_helper::assemble_mixedmass3d_clamped | ( | integer(kind=i32), dimension(3), intent(in) | deg1, |
integer(kind=i32), dimension(3), intent(in) | deg2, | ||
integer(kind=i32), dimension(3), intent(in) | n_cells, | ||
real(kind=f64), dimension((deg1(1)+deg2(1)+1)*(deg1(2)+ deg2(2)+1)*(deg1(3)+ deg2(3)+1)), intent(in) | mass_line, | ||
type(sll_t_matrix_csr), intent(inout) | matrix, | ||
integer(kind=i32), dimension(3), intent(in) | row, | ||
integer(kind=i32), intent(inout) | ind | ||
) |
Assemble the given row of the clamped mixed mass matrix.
[in] | deg2 | spline degrees for every direction |
[in] | n_cells | number of rows (and grid points) |
[in] | mass_line | massline for one row of the sparse mass matrix |
[in,out] | matrix | sparse mass matrix |
[in] | row | current row of the sparse matrix |
[in,out] | ind | index in the vector containing the entries of the sparse matrix |
Definition at line 1331 of file sll_m_spline_fem_utilities_3d_helper.F90.
subroutine, public sll_m_spline_fem_utilities_3d_helper::assemble_mixedmass3d_clamped_boundary | ( | integer(kind=i32), dimension(3), intent(in) | deg1, |
integer(kind=i32), dimension(3), intent(in) | deg2, | ||
integer(kind=i32), dimension(3), intent(in) | n_cells, | ||
real(kind=f64), dimension(deg1(3)+deg2(3)+1), intent(in) | mass_line, | ||
type(sll_t_matrix_csr), intent(inout) | matrix, | ||
integer(kind=i32), dimension(3), intent(in) | row, | ||
integer(kind=i32), intent(inout) | ind | ||
) |
Assemble the boundary part of the clamped mixed mass matrix.
[in] | deg2 | spline degrees for every direction |
[in] | n_cells | number of rows (and grid points) |
[in] | mass_line | boundary massline for the sparse mass matrix |
[in,out] | matrix | sparse mass matrix |
[in] | row | current row of the sparse matrix |
[in,out] | ind | index in the vector containing the entries of the sparse matrix |
Definition at line 1464 of file sll_m_spline_fem_utilities_3d_helper.F90.
|
private |
[in] | i | row in first direction |
[in] | shift | shift in the second direction |
[in] | deg | spline degree in first direction |
[in] | n_cells | number of cells in the first direction |
[in,out] | ind | index |
[in,out] | spmat | sparse matrix |
Definition at line 163 of file sll_m_spline_fem_utilities_3d_helper.F90.
|
private |
[in] | i | row in first direction |
[in] | shift | shift in the second direction |
[in] | deg | spline degree in first direction |
[in] | n_cells | number of cells in the first direction |
[in,out] | ind | index |
[in,out] | spmat | sparse matrix |
Definition at line 345 of file sll_m_spline_fem_utilities_3d_helper.F90.
|
private |
[in] | i | row in first direction |
[in] | j | row in second direction |
[in] | shift | shift in the third direction |
[in] | deg | spline degree for every direction |
[in] | n_cells | number of cells (and grid points) |
[in,out] | ind | index |
[in,out] | spmat | sparse matrix |
Definition at line 119 of file sll_m_spline_fem_utilities_3d_helper.F90.
|
private |
[in] | i | row in first direction |
[in] | j | row in second direction |
[in] | shift | shift in the third direction |
[in] | deg | spline degree for every direction |
[in] | n_cells | number of cells (and grid points) |
[in,out] | ind | index |
[in,out] | spmat | sparse matrix |
Definition at line 298 of file sll_m_spline_fem_utilities_3d_helper.F90.
|
private |
[in] | deg2 | spline degrees for every direction |
[in] | n_cells | number of cells in the first direction |
[in] | mass_line | massline for one row of the sparse mass matrix |
[in,out] | matrix | sparse matrix |
[in] | row | current row in the first direction |
[in,out] | ind | index |
[in] | shift | shift in the second direction |
Definition at line 1280 of file sll_m_spline_fem_utilities_3d_helper.F90.
|
private |
[in] | deg2 | spline degrees for every direction |
[in] | n_cells | number of cells in the first direction |
[in] | mass_line | massline for one row of the sparse mass matrix |
[in,out] | matrix | sparse matrix |
[in] | row | current row in the first direction |
[in,out] | ind | index |
[in] | shift | shift in the second direction |
Definition at line 1444 of file sll_m_spline_fem_utilities_3d_helper.F90.
|
private |
[in] | deg2 | spline degrees for every direction |
[in] | n_cells | number of cells in the first direction |
[in] | mass_line | boundary massline for the sparse mass matrix |
[in,out] | matrix | sparse matrix |
[in] | row | current row in the first direction |
[in,out] | ind | index |
[in] | shift | shift in the second direction |
Definition at line 1574 of file sll_m_spline_fem_utilities_3d_helper.F90.
|
private |
[in] | deg2 | spline degrees for every direction |
[in] | n_cells | number of cells (and grid points) |
[in] | mass_line | massline for one row of the sparse mass matrix |
[in,out] | matrix | sparse matrix |
[in] | row | current row of the sparse matrix |
[in,out] | ind | index |
[in] | shift | shift in the third direction |
Definition at line 1225 of file sll_m_spline_fem_utilities_3d_helper.F90.
|
private |
[in] | deg2 | spline degrees for every direction |
[in] | n_cells | number of cells (and grid points) |
[in] | mass_line | massline for one row of the sparse mass matrix |
[in,out] | matrix | sparse matrix |
[in] | row | current row of the sparse matrix |
[in,out] | ind | index |
[in] | shift | shift in the third direction |
Definition at line 1389 of file sll_m_spline_fem_utilities_3d_helper.F90.
|
private |
[in] | deg2 | spline degrees for every direction |
[in] | n_cells | number of cells (and grid points) |
[in] | mass_line | boundary massline for the sparse mass matrix |
[in,out] | matrix | sparse matrix |
[in] | row | current row of the sparse matrix |
[in,out] | ind | index |
[in] | shift | shift in the third direction |
Definition at line 1519 of file sll_m_spline_fem_utilities_3d_helper.F90.
|
private |
[in] | i | row in first direction |
[in] | shift | shift in the second direction |
[in] | deg2 | spline degrees in first direction |
[in] | n_cells | number of cells in the first direction |
[in,out] | ind | index |
[in,out] | spmat | sparse matrix |
Definition at line 504 of file sll_m_spline_fem_utilities_3d_helper.F90.
|
private |
[in] | i | row in first direction |
[in] | shift | shift in the second direction |
[in] | deg2 | spline degrees in first direction |
[in] | n_cells | number of cells in the first direction |
[in,out] | ind | index |
[in,out] | spmat | sparse matrix |
Definition at line 680 of file sll_m_spline_fem_utilities_3d_helper.F90.
|
private |
[in] | i | row in first direction |
[in] | j | row in second direction |
[in] | shift | shift in the third direction |
[in] | deg2 | spline degrees for every direction |
[in] | n_cells | number of cells (and grid points) |
[in,out] | ind | index |
[in,out] | spmat | sparse matrix |
Definition at line 460 of file sll_m_spline_fem_utilities_3d_helper.F90.
|
private |
[in] | i | row in first direction |
[in] | j | row in second direction |
[in] | shift | shift in the third direction |
[in] | deg2 | spline degrees for every direction |
[in] | n_cells | number of cells (and grid points) |
[in,out] | ind | index |
[in,out] | spmat | sparse matrix |
Definition at line 636 of file sll_m_spline_fem_utilities_3d_helper.F90.
subroutine, public sll_m_spline_fem_utilities_3d_helper::sll_s_spline_fem_sparsity_mass3d | ( | integer(kind=i32), dimension(3), intent(in) | deg, |
integer(kind=i32), dimension(3), intent(in) | n_cells, | ||
type(sll_t_matrix_csr), intent(out) | spmat | ||
) |
Helper function to create sparsity pattern of the 3d mass matrix.
[in] | deg | spline degree for every direction |
[in] | n_cells | number of cells (and grid points) |
[out] | spmat | sparse matrix |
Definition at line 39 of file sll_m_spline_fem_utilities_3d_helper.F90.
subroutine, public sll_m_spline_fem_utilities_3d_helper::sll_s_spline_fem_sparsity_mass3d_clamped | ( | integer(kind=i32), dimension(3), intent(in) | deg, |
integer(kind=i32), dimension(3), intent(in) | n_cells, | ||
type(sll_t_matrix_csr), intent(out) | spmat | ||
) |
Helper function to create sparsity pattern of the 3d clamped mass matrix.
[in] | deg | spline deg for every direction |
[in] | n_cells | number of cells (and grid points) |
[out] | spmat | sparse matrix |
Definition at line 206 of file sll_m_spline_fem_utilities_3d_helper.F90.
subroutine, public sll_m_spline_fem_utilities_3d_helper::sll_s_spline_fem_sparsity_mixedmass3d | ( | integer(kind=i32), dimension(3), intent(in) | deg1, |
integer(kind=i32), dimension(3), intent(in) | deg2, | ||
integer(kind=i32), dimension(3), intent(in) | n_cells, | ||
type(sll_t_matrix_csr), intent(out) | spmat | ||
) |
Helper function to create sparsity pattern of the 3d mass matrix.
[in] | deg2 | spline deg for every direction |
[in] | n_cells | number of cells (and grid points) |
[out] | spmat | sparse matrix |
Definition at line 382 of file sll_m_spline_fem_utilities_3d_helper.F90.
subroutine, public sll_m_spline_fem_utilities_3d_helper::sll_s_spline_fem_sparsity_mixedmass3d_clamped | ( | integer(kind=i32), dimension(3), intent(in) | deg1, |
integer(kind=i32), dimension(3), intent(in) | deg2, | ||
integer(kind=i32), dimension(3), intent(in) | n_cells, | ||
type(sll_t_matrix_csr), intent(out) | spmat | ||
) |
Helper function to create sparsity pattern of the 3d clamped mixed mass matrix.
[in] | deg2 | spline degrees for every direction |
[in] | n_cells | number of cells (and grid points) |
[out] | spmat | sparse matrix |
Definition at line 547 of file sll_m_spline_fem_utilities_3d_helper.F90.