Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_face_descriptor_type), | intent(inout) | :: | coarseFaces |
Face description on the coarse level. The dependencies to the finer level will be appended to this face descriptor. |
||
type(tem_face_descriptor_type), | intent(in) | :: | fineFaces |
Face description on the finer level. |
||
integer, | intent(in) | :: | dir |
The spatial direction of the face to add the downward dependencies for. 1 --> x direction 2 --> y direction 3 --> z direction |
||
integer, | intent(in) | :: | nEligibleChildren |
The number of eligible children for the vertical face dependency |
subroutine tem_faceDep_verticalDown( coarseFaces, fineFaces, dir, & & nEligibleChildren ) ! -------------------------------------------------------------------------- !> Face description on the coarse level. The dependencies to the finer !! level will be appended to this face descriptor. type(tem_face_descriptor_type), intent(inout) :: coarseFaces !> Face description on the finer level. type(tem_face_descriptor_type), intent(in) :: fineFaces !> The spatial direction of the face to add the downward dependencies for. !! 1 --> x direction !! 2 --> y direction !! 3 --> z direction integer, intent(in) :: dir !> The number of eligible children for the vertical face dependency integer, intent(in) :: nEligibleChildren ! -------------------------------------------------------------------------- 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, coarseFaces%faceList%faceId%nVals ! get its properties from left and right call tem_getFace_prp( coarseFaces, iFace, leftPrp, rightPrp ) ! check if this face requires downwards dependencies. If yes, we just add ! this dependency to the coarse face descriptor. if( tem_reqDep_down(leftPrp, rightPrp) ) then call tem_addDep_down( iFace, coarseFaces, fineFaces, & & dir, nEligibleChildren ) end if end do faceLoop end subroutine tem_faceDep_verticalDown