tem_build_faceSendBuffers Subroutine

private subroutine tem_build_faceSendBuffers(levelDesc, faces, buf)

current rank has to send information for (before the other ranks 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 send 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_facesendbuffers~~CallsGraph proc~tem_build_facesendbuffers tem_build_faceSendBuffers interface~positionofval~4 positionofval proc~tem_build_facesendbuffers->interface~positionofval~4 proc~tem_abort tem_abort proc~tem_build_facesendbuffers->proc~tem_abort interface~init~15 init proc~tem_build_facesendbuffers->interface~init~15 proc~tem_issendface tem_isSendFace proc~tem_build_facesendbuffers->proc~tem_issendface interface~append~16 append proc~tem_build_facesendbuffers->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_singlega2d_real append_singlega2d_real interface~append~16->proc~append_singlega2d_real proc~append_arrayga2d_real append_arrayga2d_real interface~append~16->proc~append_arrayga2d_real interface~expand~14 expand proc~append_singlega2d_real->interface~expand~14 interface~sortedposofval~4 sortedposofval proc~posofval_label->interface~sortedposofval~4 proc~append_arrayga2d_real->interface~expand~14 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_facesendbuffers~~CalledByGraph proc~tem_build_facesendbuffers tem_build_faceSendBuffers proc~tem_build_facebuffers tem_build_faceBuffers proc~tem_build_facebuffers->proc~tem_build_facesendbuffers 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_parallel_singlelevel_facedesc check_parallel_singlelevel_faceDesc proc~check_parallel_singlelevel_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 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 :: faceIndex
integer, private :: elemAddPos
logical, private :: wasAdded
integer(kind=long_k), private :: elemId
integer(kind=long_k), private :: trgElemId
type(dyn_longarray_type), private :: elemIds(2)
type(grw_intarray_type), private :: elemPositions(2)
type(dyn_intarray_type), private :: trgRank(2)
type(grw_intarray_type), private :: trgRankPos(2)