csr_type Derived Type

type, public :: csr_type

Type for CSR matrices


Components

Type Visibility Attributes Name Initial
integer, public :: nrows_total = -1

total number of rows total number of columns local number of nonzero elements local number of rows

integer, public :: ncols_total = -1

total number of rows total number of columns local number of nonzero elements local number of rows

integer, public :: nze_local = -1

total number of rows total number of columns local number of nonzero elements local number of rows

integer, public :: nrows_local = -1

total number of rows total number of columns local number of nonzero elements local number of rows

type(mp_comm_type), public :: mp_group = mp_comm_type()

message-passing group ID

integer(kind=int_8), public :: nze_total = -1_int_8

total number of nonzero elements

integer, public, DIMENSION(:), POINTER :: rowptr_local => NULL()

indices of elements inside nzval_local starting a row column indices of elements inside nzval_local

integer, public, DIMENSION(:), POINTER :: colind_local => NULL()

indices of elements inside nzval_local starting a row column indices of elements inside nzval_local

integer, public, DIMENSION(:), POINTER :: nzerow_local => NULL()

indices of elements inside nzval_local starting a row column indices of elements inside nzval_local

type(csr_data_area_type), public :: nzval_local = csr_data_area_type()

values of local non-zero elements, row-wise ordering.

type(csr_mapping_data), public :: dbcsr_mapping = csr_mapping_data()

mapping data relating indices of nzval_local to indices of a block-row distributed DBCSR matrix

logical, public :: has_mapping = .FALSE.

whether dbcsr_mapping is defined

logical, public :: valid = .FALSE.

whether essential data (excluding dbcsr_mapping) is completely allocated

logical, public :: has_indices = .FALSE.

whether rowptr_local and colind_local are defined


Source Code

   TYPE csr_type
      !! Type for CSR matrices

      INTEGER                                  :: nrows_total = -1, ncols_total = -1, &
                                                  nze_local = -1, nrows_local = -1
         !! total number of rows
         !! total number of columns
         !! local number of nonzero elements
         !! local number of rows
      TYPE(mp_comm_type)                       :: mp_group = mp_comm_type()
         !! message-passing group ID
      INTEGER(KIND=int_8)                      :: nze_total = -1_int_8
         !! total number of nonzero elements
      INTEGER, DIMENSION(:), POINTER           :: rowptr_local => NULL(), &
                                                  colind_local => NULL(), &
                                                  nzerow_local => NULL()
         !! indices of elements inside nzval_local starting a row
         !! column indices of elements inside nzval_local
      TYPE(csr_data_area_type)                 :: nzval_local = csr_data_area_type()
         !! values of local non-zero elements, row-wise ordering.
      TYPE(csr_mapping_data)                   :: dbcsr_mapping = csr_mapping_data()
         !! mapping data relating indices of nzval_local to indices of a block-row distributed DBCSR matrix
      LOGICAL                                  :: has_mapping = .FALSE.
         !! whether dbcsr_mapping is defined
      LOGICAL                                  :: valid = .FALSE.
         !! whether essential data (excluding dbcsr_mapping) is completely allocated
      LOGICAL                                  :: has_indices = .FALSE.
         !! whether rowptr_local and colind_local are defined
   END TYPE csr_type