tem_collect_faces Subroutine

private subroutine tem_collect_faces(levelDesc, minLevel, maxLevel, faces)

element that exists in the level descriptor.

Arguments

Type IntentOptional Attributes Name
type(tem_levelDesc_type), intent(in) :: levelDesc(1:3,minLevel:maxLevel)

Level descriptor for each spatial direction and each level of your mesh.

integer, intent(in) :: minLevel

Minimum level of your mesh.

integer, intent(in) :: maxLevel

Maximum level of your mesh.

type(tem_face_type), intent(inout) :: faces(minLevel:maxLevel)

Face descriptor where the faces will be appended to.


Source Code

  subroutine tem_collect_faces(levelDesc, minLevel, maxLevel, faces )
    ! --------------------------------------------------------------------------
    !> Minimum level of your mesh.
    integer, intent(in) :: minLevel
    !> Maximum level of your mesh.
    integer, intent(in) :: maxLevel
    !> Level descriptor for each spatial direction and each level of your mesh.
    type(tem_levelDesc_type), intent(in) :: levelDesc(1:3,minLevel:maxLevel)
    !> Face descriptor where the faces will be appended to.
    type(tem_face_type),intent(inout)  :: faces(minLevel:maxLevel)
    ! --------------------------------------------------------------------------
    integer :: iLevel, iDir
    ! --------------------------------------------------------------------------

    levelLoop: do iLevel = minLevel, maxLevel
      directionLoop: do iDir = 1, 3

        ! For this level and this direction we collect all the faces.
        call tem_get_faces( levelDesc = levelDesc(iDir, iLevel),  &
          &                 direction = iDir,                     &
          &                 faces     = faces(iLevel)%faces(iDir) )

      end do directionLoop
    end do levelLoop

  end subroutine tem_collect_faces