tem_communication_type Derived Type

type, public :: tem_communication_type

Description of communication data


Inherits

type~~tem_communication_type~~InheritsGraph type~tem_communication_type tem_communication_type type~grw_intarray_type grw_intarray_type type~tem_communication_type->type~grw_intarray_type elemPos type~tem_intbuffer_type tem_intbuffer_type type~tem_communication_type->type~tem_intbuffer_type buf_int type~tem_longbuffer_type tem_longbuffer_type type~tem_communication_type->type~tem_longbuffer_type buf_long type~tem_realbuffer_type tem_realbuffer_type type~tem_communication_type->type~tem_realbuffer_type buf_real c_ptr c_ptr type~tem_intbuffer_type->c_ptr mem_mpi type~tem_longbuffer_type->c_ptr mem_mpi type~tem_realbuffer_type->c_ptr mem_mpi

Inherited by

type~~tem_communication_type~~InheritedByGraph type~tem_communication_type tem_communication_type type~cpl_value_type cpl_value_type type~cpl_value_type->type~tem_communication_type recvBuffer type~tem_face_descriptor_type tem_face_descriptor_type type~tem_face_descriptor_type->type~tem_communication_type recvBuffer_state, sendBuffer_state, recvBuffer_flux, sendBuffer_flux type~tem_leveldesc_type tem_levelDesc_type type~tem_leveldesc_type->type~tem_communication_type sendBuffer, sendBufferFromCoarser, sendBufferFromFiner, recvBuffer, recvBufferFromCoarser, recvBufferFromFiner type~tem_aps_coupling_type tem_aps_coupling_type type~tem_aps_coupling_type->type~cpl_value_type valOnLvl type~tem_face_type tem_face_type type~tem_face_type->type~tem_face_descriptor_type faces type~tem_face_type->type~tem_leveldesc_type dimByDimDesc type~tem_spacetime_fun_type tem_spacetime_fun_type type~tem_spacetime_fun_type->type~tem_aps_coupling_type aps_coupling type~tem_st_fun_listelem_type tem_st_fun_listElem_type type~tem_st_fun_listelem_type->type~tem_spacetime_fun_type val type~tem_variable_type tem_variable_type type~tem_variable_type->type~tem_spacetime_fun_type st_fun

Components

Type Visibility Attributes Name Initial
integer, public :: nProcs = 0
integer, public, allocatable :: proc(:)

partition MPI rank

integer, public, allocatable :: nElemsProc(:)

How many data elements need to be exchanged with proc (per process).

integer, public, allocatable :: rqHandle(:)

Request handle array

type(grw_intarray_type), public, allocatable :: elemPos(:)

Data element positions in the actual arrays, used to built the pos information in the actual buffers (per process).

type(tem_longbuffer_type), public, allocatable :: buf_long(:)

declare communication buffers for each variable type

type(tem_intbuffer_type), public, allocatable :: buf_int(:)
type(tem_realbuffer_type), public, allocatable :: buf_real(:)

Source Code

  type tem_communication_type

    integer :: nProcs=0     !< amount of partitions to send to

    !> partition MPI rank
    integer,allocatable :: proc(:)

    !> How many data elements need to be exchanged with proc (per process).
    integer,allocatable :: nElemsProc(:)

    !> Request handle array
    integer,allocatable :: rqHandle(:)

    !> Data element positions in the actual arrays, used to built the pos
    !! information in the actual buffers (per process).
    type(grw_intArray_type), allocatable :: elemPos(:)

    !> declare communication buffers for each variable type

    type( tem_longbuffer_type ), allocatable :: buf_long(:)
    type( tem_intbuffer_type ), allocatable :: buf_int(:)
    type( tem_realbuffer_type ), allocatable :: buf_real(:)
  end type tem_communication_type