dbcsr_create Interface

public interface dbcsr_create

Module Procedures

private subroutine dbcsr_create_new(matrix, name, dist, matrix_type, row_blk_size, col_blk_size, row_blk_size_obj, col_blk_size_obj, nze, data_type, data_buffer, data_memory_type, index_memory_type, max_rbs, max_cbs, row_blk_offset, col_blk_offset, thread_dist, reuse, reuse_arrays, mutable_work, make_index, replication_type)

Creates a matrix, allocating the essentials.

Read more…

Arguments

Type IntentOptional Attributes Name
type(dbcsr_type), intent(inout) :: matrix

new matrix

character(len=*), intent(in) :: name
type(dbcsr_distribution_obj), intent(in) :: dist

distribution_2d distribution

character(len=1), intent(in) :: matrix_type

'N' for normal, 'T' for transposed, 'S' for symmetric, and 'A' for antisymmetric

integer, intent(inout), optional, DIMENSION(:), POINTER, CONTIGUOUS :: row_blk_size
integer, intent(inout), optional, DIMENSION(:), POINTER, CONTIGUOUS :: col_blk_size
type(array_i1d_obj), intent(in), optional :: row_blk_size_obj
type(array_i1d_obj), intent(in), optional :: col_blk_size_obj
integer, intent(in), optional :: nze

number of elements type of data from 'rRcC' for single/double precision real/complex, default is 'R'

integer, intent(in), optional :: data_type

number of elements type of data from 'rRcC' for single/double precision real/complex, default is 'R'

type(dbcsr_data_obj), intent(in), optional :: data_buffer
type(dbcsr_memtype_type), intent(in), optional :: data_memory_type

allocate indices and data using special memory allocate indices using special memory

type(dbcsr_memtype_type), intent(in), optional :: index_memory_type

allocate indices and data using special memory allocate indices using special memory

integer, intent(in), optional :: max_rbs
integer, intent(in), optional :: max_cbs
type(array_i1d_obj), intent(in), optional :: row_blk_offset
type(array_i1d_obj), intent(in), optional :: col_blk_offset
type(dbcsr_distribution_obj), intent(in), optional :: thread_dist
logical, intent(in), optional :: reuse

reuses an existing matrix, default is to create a fresh one uses the mutable data for working and not the append-only data; default is append-only

logical, intent(in), optional :: reuse_arrays

reuses an existing matrix, default is to create a fresh one uses the mutable data for working and not the append-only data; default is append-only

logical, intent(in), optional :: mutable_work

reuses an existing matrix, default is to create a fresh one uses the mutable data for working and not the append-only data; default is append-only

logical, intent(in), optional :: make_index

reuses an existing matrix, default is to create a fresh one uses the mutable data for working and not the append-only data; default is append-only

character(len=1), intent(in), optional :: replication_type

replication to be used for this matrix; default is dbcsr_repl_none

private subroutine dbcsr_create_template(matrix, template, name, dist, matrix_type, row_blk_size, col_blk_size, row_blk_size_obj, col_blk_size_obj, nze, data_type, data_buffer, data_memory_type, index_memory_type, max_rbs, max_cbs, row_blk_offset, col_blk_offset, reuse_arrays, mutable_work, make_index, replication_type)

Arguments

Type IntentOptional Attributes Name
type(dbcsr_type), intent(inout) :: matrix
type(dbcsr_type), intent(in) :: template
character(len=*), intent(in), optional :: name
type(dbcsr_distribution_obj), intent(in), optional :: dist
character(len=1), intent(in), optional :: matrix_type
integer, intent(inout), optional, DIMENSION(:), POINTER, CONTIGUOUS :: row_blk_size
integer, intent(inout), optional, DIMENSION(:), POINTER, CONTIGUOUS :: col_blk_size
type(array_i1d_obj), intent(in), optional :: row_blk_size_obj
type(array_i1d_obj), intent(in), optional :: col_blk_size_obj
integer, intent(in), optional :: nze
integer, intent(in), optional :: data_type
type(dbcsr_data_obj), intent(in), optional :: data_buffer
type(dbcsr_memtype_type), intent(in), optional :: data_memory_type
type(dbcsr_memtype_type), intent(in), optional :: index_memory_type
integer, intent(in), optional :: max_rbs
integer, intent(in), optional :: max_cbs
type(array_i1d_obj), intent(in), optional :: row_blk_offset
type(array_i1d_obj), intent(in), optional :: col_blk_offset
logical, intent(in), optional :: reuse_arrays
logical, intent(in), optional :: mutable_work
logical, intent(in), optional :: make_index
character(len=1), intent(in), optional :: replication_type