tem_get_faceNeigh Subroutine

private subroutine tem_get_faceNeigh(levelDesc, elemPos, dir, leftOrRight, neighId, neighPos)

Function to get the face neighbor of a certain element in the level descriptor. Even non-existing face neighbors can be handled by this routine.

Arguments

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

The level descriptor the element is located in.

integer, intent(in) :: elemPos

The element position in the level descriptor.

integer, intent(in) :: dir

The spatial direction of the face.

  1. -> x direction
  2. -> y direction
  3. -> z direction
integer, intent(in) :: leftOrRight

Find left or right face neighbor of the element. Use \ref tem_face_module::tem_left or \ref tem_face_module::tem_right.

integer(kind=long_k), intent(out) :: neighId

The treeid of the face neighbor element.

integer, intent(out) :: neighPos

Position of the neighbor in the total list, or 0 if element does not exist.


Calls

proc~~tem_get_faceneigh~~CallsGraph proc~tem_get_faceneigh tem_get_faceNeigh proc~tem_abort tem_abort proc~tem_get_faceneigh->proc~tem_abort proc~tem_coordofid tem_CoordOfId proc~tem_get_faceneigh->proc~tem_coordofid proc~tem_treeidintotal tem_treeIDinTotal proc~tem_get_faceneigh->proc~tem_treeidintotal proc~tem_idofcoord tem_IdOfCoord proc~tem_get_faceneigh->proc~tem_idofcoord mpi_abort mpi_abort proc~tem_abort->mpi_abort proc~tem_levelof tem_LevelOf proc~tem_coordofid->proc~tem_levelof tem_positioninsorted tem_positioninsorted proc~tem_treeidintotal->tem_positioninsorted proc~tem_etypeofid tem_eTypeOfId proc~tem_treeidintotal->proc~tem_etypeofid interface~positionofval~4 positionofval proc~tem_etypeofid->interface~positionofval~4 proc~posofval_label posofval_label interface~positionofval~4->proc~posofval_label

Called by

proc~~tem_get_faceneigh~~CalledByGraph proc~tem_get_faceneigh tem_get_faceNeigh proc~tem_extend_commfromfinerprp tem_extend_commFromFinerPrp proc~tem_extend_commfromfinerprp->proc~tem_get_faceneigh proc~tem_get_faces tem_get_faces proc~tem_get_faces->proc~tem_get_faceneigh proc~tem_extend_commfromcoarserprp tem_extend_commFromCoarserPrp proc~tem_extend_commfromcoarserprp->proc~tem_get_faceneigh proc~tem_extend_remoteprp tem_extend_remotePrp proc~tem_extend_remoteprp->proc~tem_extend_commfromfinerprp proc~tem_extend_remoteprp->proc~tem_extend_commfromcoarserprp proc~tem_collect_faces tem_collect_faces proc~tem_collect_faces->proc~tem_get_faces proc~tem_build_face_info tem_build_face_info proc~tem_build_face_info->proc~tem_extend_remoteprp proc~tem_build_face_info->proc~tem_collect_faces 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

Contents


Variables

TypeVisibilityAttributesNameInitial
integer(kind=long_k), private :: elemId
integer, private :: elemCoord(4)
integer, private :: dirOffset