dbcsr_tas_dist_t Derived Type

type, private, extends(dbcsr_tas_distribution) :: dbcsr_tas_dist_t


Components

Type Visibility Attributes Name Initial
integer, public :: nprowcol
integer(kind=int_8), public :: nmrowcol
integer, public, DIMENSION(:), ALLOCATABLE :: dims
integer, public, DIMENSION(:), ALLOCATABLE :: dims_grid
type(array_list), public :: nd_dist

Constructor

private interface dbcsr_tas_dist_t

  • private function new_dbcsr_tas_dist_t(nd_dist, map_blks, map_grid, which_dim)

    Create distribution object for one matrix dimension \return distribution object

    Arguments

    Type IntentOptional Attributes Name
    type(array_list), intent(in) :: nd_dist

    arrays for distribution vectors along all dimensions

    type(nd_to_2d_mapping), intent(in) :: map_blks

    tensor to matrix mapping object for blocks tensor to matrix mapping object for process grid

    type(nd_to_2d_mapping), intent(in) :: map_grid

    tensor to matrix mapping object for blocks tensor to matrix mapping object for process grid

    integer, intent(in) :: which_dim

    for which dimension (1 or 2) distribution should be created

    Return Value type(dbcsr_tas_dist_t)


Type-Bound Procedures

procedure, public :: dist => tas_dist_t

  • private function tas_dist_t(t, rowcol)

    Arguments

    Type IntentOptional Attributes Name
    class(dbcsr_tas_dist_t), intent(in) :: t
    integer(kind=int_8), intent(in) :: rowcol

    Return Value integer

procedure, public :: rowcols => tas_rowcols_t

  • private function tas_rowcols_t(t, dist)

    Arguments

    Type IntentOptional Attributes Name
    class(dbcsr_tas_dist_t), intent(in) :: t
    integer, intent(in) :: dist

    Return Value integer(kind=int_8), DIMENSION(:), ALLOCATABLE