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

Functions/Subroutines

type(sll_t_csr_matrix) function, pointer, public sll_f_new_csr_matrix_mp (num_rows, num_cols, num_patch, num_elements, local_to_global_row, num_local_dof_row, local_to_global_col, num_local_dof_col)
 allocates the memory space for a new CSR type on the heap, More...
 
subroutine, public sll_s_csr_matrix_mp_init (mat, num_rows, num_cols, num_patch, num_elements, local_to_global_row, num_local_dof_row, local_to_global_col, num_local_dof_col)
 initialization of CSR matrix type More...
 
integer function sll_count_non_zero_elts_mp (ai_nR, ai_nC, ai_npatch, api_nel, LM_Columns, nen_C, LM_Rows, nen_R, api_columns, api_occ)
 
subroutine sll_init_sparsematrix_mp (self, ai_nR, ai_nC, ai_npatch, api_nel, LM_Columns, nen_C, LM_Rows, nen_R, api_columns, api_occ)
 

Function/Subroutine Documentation

◆ sll_count_non_zero_elts_mp()

integer function sll_m_sparse_matrix_mp::sll_count_non_zero_elts_mp ( integer(kind=i32)  ai_nR,
integer(kind=i32)  ai_nC,
integer(kind=i32)  ai_npatch,
integer(kind=i32), dimension(:)  api_nel,
integer(kind=i32), dimension(:, :, :), intent(in)  LM_Columns,
integer(kind=i32), dimension(:), intent(in)  nen_C,
integer(kind=i32), dimension(:, :, :), intent(in)  LM_Rows,
integer(kind=i32), dimension(:), intent(in)  nen_R,
integer(kind=i32), dimension(:, :), pointer  api_columns,
integer(kind=i32), dimension(:), pointer  api_occ 
)
private

Definition at line 185 of file sll_m_sparse_matrix_mp.F90.

Here is the caller graph for this function:

◆ sll_f_new_csr_matrix_mp()

type(sll_t_csr_matrix) function, pointer, public sll_m_sparse_matrix_mp::sll_f_new_csr_matrix_mp ( integer(kind=i32), intent(in)  num_rows,
integer(kind=i32), intent(in)  num_cols,
integer(kind=i32), intent(in)  num_patch,
integer(kind=i32), dimension(:), intent(in)  num_elements,
integer(kind=i32), dimension(:, :, :), intent(in)  local_to_global_row,
integer(kind=i32), dimension(:), intent(in)  num_local_dof_row,
integer(kind=i32), dimension(:, :, :), intent(in)  local_to_global_col,
integer(kind=i32), dimension(:), intent(in)  num_local_dof_col 
)

allocates the memory space for a new CSR type on the heap,

initializes it with the given arguments and returns a pointer to the object. param[in] num_rows : number of rows param[in] num_cols : number of columns parma[in] num_patch: number of patch param[in] num_element : num_element(p) number of elements non zero for each patch param[in] local_to_global_row : local_to_global_row(p,\ell,i) gives the global row index of the matrix, for the element i and local degree of freedom \ell for patch p param[in] num_local_dof_row : num_local_dof_row(p) number of local degrees of freedom for the rows for each patch param[in] local_to_global_col : local_to_global_col(p,\ell,i) gives the global column index of the matrix, for the element i and local degree of freedom \ell for patch p param[in] num_local_dof_col : num_local_dof_col(p) number of local degrees of freedom for the columns for each patch return a pointer to the newly allocated object.

Definition at line 56 of file sll_m_sparse_matrix_mp.F90.

Here is the call graph for this function:

◆ sll_init_sparsematrix_mp()

subroutine sll_m_sparse_matrix_mp::sll_init_sparsematrix_mp ( type(sll_t_csr_matrix self,
integer(kind=i32)  ai_nR,
integer(kind=i32)  ai_nC,
integer(kind=i32)  ai_npatch,
integer(kind=i32), dimension(:)  api_nel,
integer(kind=i32), dimension(:, :, :), intent(in)  LM_Columns,
integer(kind=i32), dimension(:), intent(in)  nen_C,
integer(kind=i32), dimension(:, :, :), intent(in)  LM_Rows,
integer(kind=i32), dimension(:), intent(in)  nen_R,
integer(kind=i32), dimension(:, :), pointer  api_columns,
integer(kind=i32), dimension(:), pointer  api_occ 
)
private

Definition at line 303 of file sll_m_sparse_matrix_mp.F90.

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

◆ sll_s_csr_matrix_mp_init()

subroutine, public sll_m_sparse_matrix_mp::sll_s_csr_matrix_mp_init ( type(sll_t_csr_matrix), intent(inout)  mat,
integer(kind=i32), intent(in)  num_rows,
integer(kind=i32), intent(in)  num_cols,
integer(kind=i32), intent(in)  num_patch,
integer(kind=i32), dimension(:), intent(in)  num_elements,
integer(kind=i32), dimension(:, :, :), intent(in)  local_to_global_row,
integer(kind=i32), dimension(:), intent(in)  num_local_dof_row,
integer(kind=i32), dimension(:, :, :), intent(in)  local_to_global_col,
integer(kind=i32), dimension(:), intent(in)  num_local_dof_col 
)

initialization of CSR matrix type

thanks to the global index of each local dof of each element param[inout] mat : CSR matrix structure param[in] num_rows : number of rows param[in] num_cols : number of columns param[in] num_patch: number of patchs param[in] num_element : num_element(p) number of non zero elements in each patch param[in] local_to_global_row : local_to_global_row(p,\ell,i) gives the global row index of the matrix, for the element i and local degree of freedom \ell for patch p param[in] num_local_dof_row : num_local_dof_row(p) number of local degrees of freedom for the rows for each patch param[in] local_to_global_col : local_to_global_col(p,\ell,i) gives the global column index of the matrix, for the element i and local degree of freedom \ell for patch p param[in] num_local_dof_col : num_local_dof_col(p) number of local degrees of freedom for the columns for each patch

Definition at line 104 of file sll_m_sparse_matrix_mp.F90.

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