Semi-Lagrangian Library
Modular library for kinetic and gyrokinetic simulations of plasmas in fusion energy devices.
|
module for Compressed Sparse Row Matrix (CSR)
Maintainer ARA Modified by Benedikt Perse Stability stable
Derived types and interfaces | |
type | sll_t_matrix_csr |
class for a csr matrix More... | |
Functions/Subroutines | |
subroutine | create_matrix_csr (self, n_rows, n_cols, n_nnz, n_block_rows, n_block_cols) |
creates a csr matrix More... | |
subroutine | allocate_matrix_csr (self, n_rows, n_cols, n_nnz, n_block_rows, n_block_cols) |
allocates a csr matrix More... | |
subroutine | free_matrix_csr (self) |
destroys the current object More... | |
subroutine | dot_matrix_csr (self, x, y) |
apply the dot operation of real vector More... | |
subroutine | dot_vector_default (self, x, y) |
sequential dot operation More... | |
subroutine | add_values_matrix_csr (self, i_row, i_col, arr_x) |
adds values to the matrix More... | |
subroutine | set_values_matrix_csr (self, i_row, i_col, arr_x) |
sets values to the matrix More... | |
subroutine | get_diagonal_default_matrix_csr (self, diag, i_diag) |
extracts a specified diagonal from a matrix IMPORTANT: diag is a 1-rank array More... | |
subroutine | get_diagonal_block_matrix_csr (self, diag, i_diag) |
extracts a specified block diagonal from a matrix IMPORTANT: diag is a 3-rank array More... | |
subroutine | print_info_matrix_csr (self) |
prints the current object More... | |
subroutine | multiply_matrix_csr (self, mat_a, mat_b) |
performs the matrix by matrix product More... | |
|
private |
adds values to the matrix
[in,out] | self | the current object |
[in] | i_row | row index |
[in] | i_col | col index |
[in] | arr_x | values to add |
Definition at line 343 of file sll_m_matrix_csr.F90.
|
private |
allocates a csr matrix
[in,out] | self | the current object |
[in] | n_rows | number of rows |
[in] | n_cols | number of cols |
[in] | n_nnz | number of nonzero elements |
[in,out] | self | param[inout] self : csr matrix structure |
param[in] n_cols : number of columns
param[in] n_rows : number of rows
param[in] n_nnz : number of non zero elements
Definition at line 134 of file sll_m_matrix_csr.F90.
|
private |
creates a csr matrix
[in,out] | self | the current object |
[in] | n_rows | number of rows |
[in] | n_cols | number of cols |
[in] | n_nnz | number of nonzero elements |
[in] | n_block_rows | [optional] number of rows blocks, default value: 1 |
[in] | n_block_cols | [optional] number of cols blocks, default value: 1 |
[in,out] | self | param[inout] self : csr matrix structure |
param[in] n_cols : number of columns
param[in] n_rows : number of rows
param[in] n_nnz : number of non zero elements
Definition at line 69 of file sll_m_matrix_csr.F90.
|
private |
apply the dot operation of real vector
[in,out] | self | the current object |
[in] | x | a real valued vector |
[out] | y | a real valued vector |
Definition at line 227 of file sll_m_matrix_csr.F90.
|
private |
sequential dot operation
[in,out] | self | the current object |
[in] | x | a real valued vector |
[in,out] | y | a real valued vector |
Definition at line 245 of file sll_m_matrix_csr.F90.
|
private |
destroys the current object
[in,out] | self | the current object |
Definition at line 195 of file sll_m_matrix_csr.F90.
|
private |
extracts a specified block diagonal from a matrix IMPORTANT: diag is a 3-rank array
[in] | self | the current object |
[in,out] | diag | the extracted diagonal (3-rank array) |
[in] | i_diag | diagonal index |
Definition at line 466 of file sll_m_matrix_csr.F90.
|
private |
extracts a specified diagonal from a matrix IMPORTANT: diag is a 1-rank array
[in] | self | the current object |
[in,out] | diag | the extracted diagonal (1-rank array) |
[in] | i_diag | diagonal index |
Definition at line 400 of file sll_m_matrix_csr.F90.
|
private |
performs the matrix by matrix product
[in] | self | the current object |
[in] | mat_a | csr matrix (A) |
[in,out] | mat_b | csr matrix (B) |
Definition at line 560 of file sll_m_matrix_csr.F90.
|
private |
prints the current object
[in] | self | the current object |
Definition at line 535 of file sll_m_matrix_csr.F90.
|
private |
sets values to the matrix
[in,out] | self | the current object |
[in] | i_row | row index |
[in] | i_col | col index |
[in] | arr_x | values to set |
Definition at line 372 of file sll_m_matrix_csr.F90.