tem_build_faceRecvBuffers Subroutine

private subroutine tem_build_faceRecvBuffers(levelDesc, faces, buf)

process will receive information for (before it can make the compute step).

Arguments

TypeIntentOptionalAttributesName
type(tem_levelDesc_type), intent(in) :: levelDesc

Dimension-by-dimension level descriptor for the current level and direction.

type(tem_face_descriptor_type), intent(inout) :: faces

The communication pattern you want use for the buffer. The created face descriptor.

type(tem_communication_type), intent(out) :: buf(2)

The created receive buffer. Size is two, due to left and right limes of the face values. To access it use tem_left and tem_right.


Calls

proc~~tem_build_facerecvbuffers~~CallsGraph proc~tem_build_facerecvbuffers tem_build_faceRecvBuffers interface~positionofval~4 positionofval proc~tem_build_facerecvbuffers->interface~positionofval~4 proc~tem_isrecvface tem_isRecvFace proc~tem_build_facerecvbuffers->proc~tem_isrecvface proc~tem_abort tem_abort proc~tem_build_facerecvbuffers->proc~tem_abort interface~init~15 init proc~tem_build_facerecvbuffers->interface~init~15 interface~append~16 append proc~tem_build_facerecvbuffers->interface~append~16 proc~posofval_label posofval_label interface~positionofval~4->proc~posofval_label mpi_abort mpi_abort proc~tem_abort->mpi_abort proc~init_ga2d_real init_ga2d_real interface~init~15->proc~init_ga2d_real proc~append_arrayga2d_real append_arrayga2d_real interface~append~16->proc~append_arrayga2d_real proc~append_singlega2d_real append_singlega2d_real interface~append~16->proc~append_singlega2d_real interface~expand~14 expand proc~append_arrayga2d_real->interface~expand~14 proc~append_singlega2d_real->interface~expand~14 interface~sortedposofval~4 sortedposofval proc~posofval_label->interface~sortedposofval~4 proc~expand_ga2d_real expand_ga2d_real interface~expand~14->proc~expand_ga2d_real proc~sortposofval_label sortposofval_label interface~sortedposofval~4->proc~sortposofval_label

Called by

proc~~tem_build_facerecvbuffers~~CalledByGraph proc~tem_build_facerecvbuffers tem_build_faceRecvBuffers proc~tem_build_facebuffers tem_build_faceBuffers proc~tem_build_facebuffers->proc~tem_build_facerecvbuffers proc~tem_build_face_info tem_build_face_info proc~tem_build_face_info->proc~tem_build_facebuffers proc~check_serial_multilevel_facedesc check_serial_multilevel_faceDesc proc~check_serial_multilevel_facedesc->proc~tem_build_face_info proc~check_serial_singlelevel_facedesc check_serial_singlelevel_faceDesc proc~check_serial_singlelevel_facedesc->proc~tem_build_face_info proc~check_parallel_singlelevel_facedesc check_parallel_singlelevel_faceDesc proc~check_parallel_singlelevel_facedesc->proc~tem_build_face_info program~tem_face_test~3 tem_face_test program~tem_face_test~3->proc~check_parallel_singlelevel_facedesc program~tem_face_test tem_face_test program~tem_face_test->proc~check_serial_singlelevel_facedesc program~tem_face_test~2 tem_face_test program~tem_face_test~2->proc~check_serial_multilevel_facedesc

Contents


Variables

TypeVisibilityAttributesNameInitial
integer, private :: iFace
integer, private :: iProc
integer, private :: iSide
integer, private :: elemPos
integer, private :: faceSide
integer, private :: tIdPos
integer, private :: rank
integer, private :: rankPos
integer, private :: elemAddPos
integer, private :: faceIndex
logical, private :: wasAdded
integer(kind=long_k), private :: elemId
type(dyn_longarray_type), private :: elemIds(2)
type(grw_intarray_type), private :: elemPositions(2)
type(dyn_intarray_type), private :: srcRank(2)
type(grw_intarray_type), private :: srcRankPos(2)