Returns the two corner-node IDs delimiting a given local side using SELF's 2D side convention: Side 1 South = [CN1, CN2] Side 2 East = [CN2, CN3] Side 3 North = [CN4, CN3] Side 4 West = [CN1, CN4]
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | corners(1:4) | |||
| integer, | intent(in) | :: | iSide | |||
| integer, | intent(out) | :: | cN1 | |||
| integer, | intent(out) | :: | cN2 |
subroutine corner_pair_for_side(corners,iSide,cN1,cN2)
!! Returns the two corner-node IDs delimiting a given local side
!! using SELF's 2D side convention:
!! Side 1 South = [CN1, CN2]
!! Side 2 East = [CN2, CN3]
!! Side 3 North = [CN4, CN3]
!! Side 4 West = [CN1, CN4]
implicit none
integer,intent(in) :: corners(1:4)
integer,intent(in) :: iSide
integer,intent(out) :: cN1,cN2
select case(iSide)
case(1); cN1 = corners(1); cN2 = corners(2)
case(2); cN1 = corners(2); cN2 = corners(3)
case(3); cN1 = corners(4); cN2 = corners(3)
case(4); cN1 = corners(1); cN2 = corners(4)
case default; cN1 = 0; cN2 = 0
endselect
endsubroutine corner_pair_for_side