csr_create Interface

private interface csr_create

Module Procedures

public subroutine csr_create_new(csr_mat, nrows_total, ncols_total, nze_total, nze_local, nrows_local, mp_group, data_type)

Create a new CSR matrix and allocate all internal data (excluding dbcsr_mapping)

Arguments

Type IntentOptional Attributes Name
type(csr_type), intent(out) :: csr_mat

CSR matrix to return

integer, intent(in) :: nrows_total

total number of rows total number of columns

integer, intent(in) :: ncols_total

total number of rows total number of columns

integer(kind=int_8) :: nze_total

total number of non-zero elements

integer, intent(in) :: nze_local

local number of non-zero elements local number of rows

integer, intent(in) :: nrows_local

local number of non-zero elements local number of rows

type(mp_comm_type), intent(in) :: mp_group
integer, intent(in), optional :: data_type

data type of the CSR matrix (default real double prec.)

public subroutine csr_create_template(matrix_b, matrix_a)

Create a new CSR matrix and allocate all internal data using an existing CSR matrix. Copies the indices but no actual matrix data.

Arguments

Type IntentOptional Attributes Name
type(csr_type), intent(out) :: matrix_b

Target CSR matrix

type(csr_type), intent(in) :: matrix_a

Source CSR matrix