Structure
CSRSparsity_ is data type for handling CSRMatrix_ in EASIFEM.
It is encapsulated inside CSRMatrix_, and contains only the sparsity pattern not the matrix values, which we can use a single instance of CSRSparsity_ to define several CSRMatrix_.
The structure is given below.
TYPE :: CSRSparsity_
INTEGER( I4B ) :: nnz = 0
INTEGER( I4B ) :: ncol = 0
INTEGER( I4B ) :: nrow = 0
LOGICAL( LGT ) :: isSorted = .FALSE.
LOGICAL( LGT ) :: isInitiated = .FALSE.
LOGICAL( LGT ) :: isSparsityLock = .FALSE.
INTEGER( I4B ), ALLOCATABLE :: IA( : )
INTEGER( I4B ), ALLOCATABLE :: JA( : )
TYPE( IntVector_ ), ALLOCATABLE :: row( : )
TYPE( DOF_ ) :: dof
END TYPE CSRSparsity_
IA: size of IA is number of rows in the sparse matrix. It contains indices for accessing the entries inJA. For example,IA( iRow )toIA( iRow + 1 ) - 1are indices of entries of matrix ofiRow.JA: size ofJAisNNZ.JAcontains the column indices.