csr_mapping_data Derived Type

type, private :: csr_mapping_data

Mapping data relating local CSR indices to local indices of a block-row distributed (BRD) DBCSR matrix, and containing the block structure of the original DBCSR matrix from which the CSR matrix was created.


Components

Type Visibility Attributes Name Initial
integer, private, DIMENSION(:), POINTER :: csr_to_brd_ind => NULL()

csr_to_brd_ind(csr_ind) gives the location of a matrix element with CSR index csr_ind (location in nzval_local) inside the data_area of the corresponding BRD matrix. If an element of the DBCSR matrix is treated as 0 in the CSR format, the index of this value is not in csr_to_brd_ind. same as csr_to_brd_ind but inverse mapping. If a given DBCSR index dbcsr_ind points to a zero element, then brd_to_csr_ind(dbcsr_ind) is -1.

integer, private, DIMENSION(:), POINTER :: brd_to_csr_ind => NULL()

csr_to_brd_ind(csr_ind) gives the location of a matrix element with CSR index csr_ind (location in nzval_local) inside the data_area of the corresponding BRD matrix. If an element of the DBCSR matrix is treated as 0 in the CSR format, the index of this value is not in csr_to_brd_ind. same as csr_to_brd_ind but inverse mapping. If a given DBCSR index dbcsr_ind points to a zero element, then brd_to_csr_ind(dbcsr_ind) is -1.

type(dbcsr_type), private :: brd_mat = dbcsr_type()

DBCSR BRD matrix acting as an intermediate step in any conversion from and to DBCSR format.

logical, private :: has_dbcsr_block_data = .FALSE.

whether dbcsr_* fields are defined

integer, private :: dbcsr_nblkcols_total = -1

data from original DBCSR matrix (not block-row distributed), representing the original block structure.

integer, private :: dbcsr_nblkrows_total = -1

data from original DBCSR matrix (not block-row distributed), representing the original block structure.

integer, private :: dbcsr_nblks_local = -1

data from original DBCSR matrix (not block-row distributed), representing the original block structure.

integer, private, DIMENSION(:), POINTER :: dbcsr_row_p => NULL()

data from original DBCSR matrix (not block-row distributed), representing the original block structure.

integer, private, DIMENSION(:), POINTER :: dbcsr_col_i => NULL()

data from original DBCSR matrix (not block-row distributed), representing the original block structure.

integer, private, DIMENSION(:), POINTER :: dbcsr_row_blk_size => NULL()

data from original DBCSR matrix (not block-row distributed), representing the original block structure.

integer, private, DIMENSION(:), POINTER :: dbcsr_col_blk_size => NULL()

data from original DBCSR matrix (not block-row distributed), representing the original block structure.