dbcsr_tensor_io Module

DBCSR tensor Input / Output



Variables

Type Visibility Attributes Name Initial
character(len=*), private, parameter :: moduleN = 'dbcsr_tensor_types'

Functions

public function prep_output_unit(unit_nr) result(unit_nr_out)

Arguments

Type IntentOptional Attributes Name
integer, intent(in), optional :: unit_nr

Return Value integer


Subroutines

public subroutine dbcsr_t_write_tensor_info(tensor, unit_nr, full_info)

Write tensor global info: block dimensions, full dimensions and process grid dimensions

Arguments

Type IntentOptional Attributes Name
type(dbcsr_t_type), intent(in) :: tensor
integer, intent(in) :: unit_nr
logical, intent(in), optional :: full_info

Whether to print distribution and block size vectors

public subroutine dbcsr_t_write_tensor_dist(tensor, unit_nr)

Write info on tensor distribution & load balance

Arguments

Type IntentOptional Attributes Name
type(dbcsr_t_type), intent(in) :: tensor
integer, intent(in) :: unit_nr

public subroutine dbcsr_t_write_blocks(tensor, io_unit_master, io_unit_all, write_int)

Write all tensor blocks

Arguments

Type IntentOptional Attributes Name
type(dbcsr_t_type), intent(inout) :: tensor
integer, intent(in) :: io_unit_master

for global output for local output

integer, intent(in) :: io_unit_all

for global output for local output

logical, intent(in), optional :: write_int

convert to integers (useful for testing with integer tensors)

public subroutine dbcsr_t_write_block(name, blk_size, blk_index, proc, unit_nr, blk_values_2, blk_values_3, blk_values_4, write_int)

Write a tensor block

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: name

tensor name

integer, intent(in), DIMENSION(:) :: blk_size

block size

integer, intent(in), DIMENSION(:) :: blk_index

block index

integer, intent(in) :: proc

which process am I

integer, intent(in) :: unit_nr

unit number

real(kind=real_8), intent(in), optional, DIMENSION(blk_size(1), blk_size(2)) :: blk_values_2

block values for 2 dimensions

real(kind=real_8), intent(in), optional, DIMENSION(blk_size(1), blk_size(2), blk_size(3)) :: blk_values_3

block values for 2 dimensions

real(kind=real_8), intent(in), optional, DIMENSION(blk_size(1), blk_size(2), blk_size(3), blk_size(4)) :: blk_values_4

block values for 2 dimensions

logical, intent(in), optional :: write_int

write_int convert values to integers

public subroutine dbcsr_t_write_block_indices(tensor, io_unit_master, io_unit_all)

Arguments

Type IntentOptional Attributes Name
type(dbcsr_t_type), intent(inout) :: tensor
integer, intent(in) :: io_unit_master
integer, intent(in) :: io_unit_all

public subroutine dbcsr_t_write_split_info(pgrid, unit_nr)

Arguments

Type IntentOptional Attributes Name
type(dbcsr_t_pgrid_type), intent(in) :: pgrid
integer, intent(in) :: unit_nr