![]() |
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.
1.9.1