dbcsr_work_type Derived Type

type, public :: dbcsr_work_type

Used for assembling a real matrix.


Components

Type Visibility Attributes Name Initial
type(dbcsr_data_obj), public :: data_area = dbcsr_data_obj()

holds actual values.

integer, public, DIMENSION(:), POINTER, CONTIGUOUS :: row_i => Null()

the row index of all of the blocks.

integer, public, DIMENSION(:), POINTER, CONTIGUOUS :: col_i => Null()

the column index of all of the blocks.

integer, public, DIMENSION(:), POINTER, CONTIGUOUS :: blk_p => Null()

the pointer into the data array of this block.

integer, public :: lastblk = -1

index of the last block entered into the row_i, col_i, and blk_p data structures

integer, public :: datasize = -1

the actual size of data present in the data element

integer, public :: datasize_after_filtering = -1

tree used to index data blocks (alternative to the row_i, col_i, and blk_p indices when index is scattered).

type(dbcsr_mutable_obj), public :: mutable = dbcsr_mutable_obj()

the final bcsr matrix


Source Code

   TYPE dbcsr_work_type
      !! Used for assembling a real matrix.

      TYPE(dbcsr_data_obj)                    :: data_area = dbcsr_data_obj()
         !! holds actual values.
      INTEGER, DIMENSION(:), POINTER, CONTIGUOUS :: row_i => Null()
         !! the row index of all of the blocks.
      INTEGER, DIMENSION(:), POINTER, CONTIGUOUS :: col_i => Null()
         !! the column index of all of the blocks.
      INTEGER, DIMENSION(:), POINTER, CONTIGUOUS :: blk_p => Null()
         !! the pointer into the data array of this block.
      INTEGER                                 :: lastblk = -1
         !! index of the last block entered into the row_i, col_i, and blk_p data structures
      INTEGER                                 :: datasize = -1
         !! the actual size of data present in the data element
      INTEGER                                 :: datasize_after_filtering = -1
      !TYPE(btree_i8_dp2d)                       :: tree = btree_i8_dp2d()
         !! tree used to index data blocks (alternative to the row_i, col_i, and blk_p indices when index is scattered).
      TYPE(dbcsr_mutable_obj)                 :: mutable = dbcsr_mutable_obj()
         !! the final bcsr matrix
   END TYPE dbcsr_work_type