.true. if child c's face s is interior to its parent (its neighbour across s is a sibling): the child sits in the half-cube away from parent face s.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | s | |||
| integer, | intent(in) | :: | c |
pure function oc_internal(s,c) result(isInternal)
!! .true. if child c's face s is interior to its parent (its neighbour across s is a
!! sibling): the child sits in the half-cube away from parent face s.
implicit none
integer,intent(in) :: s,c
logical :: isInternal
select case(s)
case(1) ! Bottom (xi3 = -1) interior for the top-half children
isInternal = (octAzc(c) == 1)
case(2) ! South (xi2 = -1) interior for the north-half children
isInternal = (octAyc(c) == 1)
case(3) ! East (xi1 = +1) interior for the west-half children
isInternal = (octAxc(c) == 0)
case(4) ! North (xi2 = +1) interior for the south-half children
isInternal = (octAyc(c) == 0)
case(5) ! West (xi1 = -1) interior for the east-half children
isInternal = (octAxc(c) == 1)
case default ! Top (xi3 = +1) interior for the bottom-half children
isInternal = (octAzc(c) == 0)
endselect
endfunction oc_internal