tem_faceDep_verticalUp Subroutine

private subroutine tem_faceDep_verticalUp(fineFaces, coarseFaces)

Arguments

Type IntentOptional Attributes Name
type(tem_face_descriptor_type), intent(inout) :: fineFaces

Face description on the fine level. The dependencies to the coarser level will be appended to this face descriptor.

type(tem_face_descriptor_type), intent(in) :: coarseFaces

Face description on the coarse level.


Calls

proc~~tem_facedep_verticalup~~CallsGraph proc~tem_facedep_verticalup tem_faceDep_verticalUp proc~tem_getface_prp tem_getFace_prp proc~tem_facedep_verticalup->proc~tem_getface_prp proc~tem_adddep_up tem_addDep_up proc~tem_facedep_verticalup->proc~tem_adddep_up proc~tem_reqdep_up tem_reqDep_up proc~tem_facedep_verticalup->proc~tem_reqdep_up interface~tem_parentof tem_ParentOf proc~tem_adddep_up->interface~tem_parentof interface~positionofval~5 positionofval proc~tem_adddep_up->interface~positionofval~5 proc~tem_directparent tem_directParent interface~tem_parentof->proc~tem_directparent proc~tem_parentatlevel tem_ParentAtLevel interface~tem_parentof->proc~tem_parentatlevel proc~posofval_label posofval_label interface~positionofval~5->proc~posofval_label interface~sortedposofval~5 sortedposofval proc~posofval_label->interface~sortedposofval~5 proc~tem_levelof tem_LevelOf proc~tem_parentatlevel->proc~tem_levelof

Called by

proc~~tem_facedep_verticalup~~CalledByGraph proc~tem_facedep_verticalup tem_faceDep_verticalUp proc~tem_facedep_vertical tem_faceDep_vertical proc~tem_facedep_vertical->proc~tem_facedep_verticalup proc~tem_build_face_info tem_build_face_info proc~tem_build_face_info->proc~tem_facedep_vertical

Contents


Source Code

  subroutine tem_faceDep_verticalUp( fineFaces, coarseFaces )
    ! --------------------------------------------------------------------------
    !> Face description on the fine level. The dependencies to the coarser
    !! level will be appended to this face descriptor.
    type(tem_face_descriptor_type), intent(inout) :: fineFaces
    !> Face description on the coarse level.
    type(tem_face_descriptor_type), intent(in) :: coarseFaces
    ! --------------------------------------------------------------------------
    integer :: iFace
    integer :: leftPrp, rightPrp
    ! --------------------------------------------------------------------------

    ! Run over all the faces and add the downward depndency (depending on the
    ! properties of the face).
    faceLoop: do iFace = 1, fineFaces%faceList%faceId%nVals

      ! get its properties from left and right
      call tem_getFace_prp( fineFaces, iFace, leftPrp, rightPrp )

      ! check if this face requires upwards dependencies. If yes, we just add
      ! this dependency to the coarse face descriptor.
      if( tem_reqDep_up(leftPrp, rightPrp) ) then
        call tem_addDep_up( iFace, fineFaces, coarseFaces )
      end if

    end do faceLoop

  end subroutine tem_faceDep_verticalUp