65 TYPE(t_region
),
POINTER :: regions(:)
67 INTEGER,
INTENT(IN) :: ireg
73 CHARACTER(CHRLEN) :: rcsidentstring
76 INTEGER :: icoff, ijcoff, inoff, ijnoff
77 INTEGER :: icoffsrc, ijcoffsrc, iregsrc
79 INTEGER :: ijkc, ijkccsrc, ijkecsrc
81 INTEGER :: iccsrc, jccsrc, kccsrc
82 INTEGER :: iecsrc, jecsrc, kecsrc
83 INTEGER :: ndumcellssrc
85 INTEGER :: inoffsrc, ijnoffsrc, ijkn, ijkcnsrc, ijkensrc
86 INTEGER :: icnsrc, jcnsrc, kcnsrc
87 INTEGER :: iensrc, jensrc, kensrc
88 INTEGER :: nodecorn, nodecornsrc, nodeedge, nodeedgesrc
89 INTEGER :: ifacesrc, idirsrc, jdirsrc, kdirsrc
90 INTEGER :: srcdir(3),srcface(6)
91 INTEGER :: srcindexmapmat(3,4)
93 REAL(RFREAL),
POINTER,
DIMENSION(:,:,:) :: pfc, pfcsrc
95 TYPE(t_region
),
POINTER :: pregion
96 TYPE(t_level
),
POINTER :: plevel
102 '$RCSfile: PLAG_CECellsFaceCentroids.F90,v $ $Revision: 1.4 $'
104 global => regions(ireg)%global
107 'PLAG_CECellsFaceCentroids.F90' )
111 ilev = regions(ireg)%currLevel
118 pregion => regions(ireg)
119 plevel => regions(ireg)%levels(ilev)
120 pfc => regions(ireg)%levels(ilev)%plag%fc
132 IF( .NOT. plevel%edgeCells(iedge)%interact ) goto 1999
136 IF( plevel%edgeCells(iedge)%degenrt /= degenerat_none ) goto 1999
148 ijkn = indijk(
i,
j,
k,inoff, ijnoff)
152 iregsrc = plevel%edgeCells(iedge)%cells(ijk)%srcRegion
154 IF ( iregsrc > 0 )
THEN
155 ijkecsrc = plevel%edgeCells(iedge)%cells(ijk)%srcCell
156 ndumcellssrc = regions(iregsrc)%nDumCells
159 CALL
getijk( ijkecsrc,icoffsrc,ijcoffsrc,ndumcellssrc, &
160 iecsrc,jecsrc,kecsrc )
163 ijkensrc = indijk(iecsrc,jecsrc,kecsrc,inoffsrc,ijnoffsrc)
167 srcindexmapmat= plevel%edgeCells(iedge)%cells(ijk)%srcIndexMapMat
171 idirsrc = srcdir(1); jdirsrc = srcdir(2); kdirsrc = srcdir(3);
175 IF ( regions(iregsrc)%procid == global%myProcid )
THEN
179 pfcsrc => regions(iregsrc)%levels(ilev)%plag%fc
187 nodeedge = indijk(
i,
j,
k,inoff, ijnoff)
190 nodeedge = indijk(
i+1,
j,
k,inoff, ijnoff)
193 nodeedge = indijk(
i,
j+1,
k,inoff, ijnoff)
196 nodeedge = indijk(
i,
j,
k+1,inoff, ijnoff)
199 ifacesrc = srcface(iface)
200 SELECT CASE (ifacesrc)
202 nodeedgesrc = indijk(iecsrc,jecsrc,kecsrc,inoffsrc,ijnoffsrc)
205 nodeedgesrc = indijk(iecsrc+1,jecsrc,kecsrc,inoffsrc,ijnoffsrc)
208 nodeedgesrc = indijk(iecsrc,jecsrc+1,kecsrc,inoffsrc,ijnoffsrc)
211 nodeedgesrc = indijk(iecsrc,jecsrc,kecsrc+1,inoffsrc,ijnoffsrc)
214 pfc(1:3,icoord,nodeedge) = pfcsrc(1:3,idirsrc,nodeedgesrc)
215 pfc(1:3,jcoord,nodeedge) = pfcsrc(1:3,jdirsrc,nodeedgesrc)
216 pfc(1:3,kcoord,nodeedge) = pfcsrc(1:3,kdirsrc,nodeedgesrc)
237 IF( .NOT. plevel%cornerCells(
icorner)%interact ) goto 2999
241 IF( plevel%cornerCells(
icorner)%degenrt /= degenerat_none ) goto 2999
253 ijkn = indijk(
i,
j,
k,inoff, ijnoff)
257 iregsrc = plevel%cornerCells(
icorner)%cells(ijk)%srcRegion
259 IF ( iregsrc > 0 )
THEN
260 ijkccsrc = plevel%cornerCells(
icorner)%cells(ijk)%srcCell
261 ndumcellssrc = regions(iregsrc)%nDumCells
264 CALL
getijk( ijkccsrc,icoffsrc,ijcoffsrc,ndumcellssrc, &
265 iccsrc,jccsrc,kccsrc )
268 ijkcnsrc = indijk(iccsrc,jccsrc,kccsrc,inoffsrc,ijnoffsrc)
272 srcindexmapmat= plevel%cornerCells(
icorner)%cells(ijk)%srcIndexMapMat
276 idirsrc = srcdir(1); jdirsrc = srcdir(2); kdirsrc = srcdir(3);
280 IF ( regions(iregsrc)%procid == global%myProcid )
THEN
284 pfcsrc => regions(iregsrc)%levels(ilev)%plag%fc
292 nodecorn = indijk(
i,
j,
k,inoff, ijnoff)
295 nodecorn = indijk(
i+1,
j,
k,inoff, ijnoff)
298 nodecorn = indijk(
i,
j+1,
k,inoff, ijnoff)
301 nodecorn = indijk(
i,
j,
k+1,inoff, ijnoff)
304 ifacesrc = srcface(iface)
305 SELECT CASE (ifacesrc)
307 nodecornsrc = indijk(iccsrc,jccsrc,kccsrc,inoffsrc,ijnoffsrc)
310 nodecornsrc = indijk(iccsrc+1,jccsrc,kccsrc,inoffsrc,ijnoffsrc)
313 nodecornsrc = indijk(iccsrc,jccsrc+1,kccsrc,inoffsrc,ijnoffsrc)
316 nodecornsrc = indijk(iccsrc,jccsrc,kccsrc+1,inoffsrc,ijnoffsrc)
319 pfc(1:3,icoord,nodecorn) = pfcsrc(1:3,idirsrc,nodecornsrc)
320 pfc(1:3,jcoord,nodecorn) = pfcsrc(1:3,jdirsrc,nodecornsrc)
321 pfc(1:3,kcoord,nodecorn) = pfcsrc(1:3,kdirsrc,nodecornsrc)
subroutine plag_rflo_getfacemapping(mapMat, srcDir, srcFace)
subroutine rflo_getedgecellsindices(region, iLev, iedge, iebeg, ieend, jebeg, jeend, kebeg, keend)
**********************************************************************Rocstar Simulation Suite Illinois Rocstar LLC All rights reserved ****Illinois Rocstar LLC IL **www illinoisrocstar com **sales illinoisrocstar com WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **Arising OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE **********************************************************************INTERFACE SUBROUTINE ibeg
subroutine plag_cecellsfacecentroids(regions, iReg)
subroutine registerfunction(global, funName, fileName)
subroutine rflo_getnodeoffset(region, iLev, iNodeOffset, ijNodeOffset)
**********************************************************************Rocstar Simulation Suite Illinois Rocstar LLC All rights reserved ****Illinois Rocstar LLC IL **www illinoisrocstar com **sales illinoisrocstar com WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **Arising OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE **********************************************************************INTERFACE SUBROUTINE knode iend
subroutine rflo_getcelloffset(region, iLev, iCellOffset, ijCellOffset)
**********************************************************************Rocstar Simulation Suite Illinois Rocstar LLC All rights reserved ****Illinois Rocstar LLC IL **www illinoisrocstar com **sales illinoisrocstar com WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **Arising OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE **********************************************************************INTERFACE SUBROUTINE icorner
subroutine rflo_getcornercellsindices(region, iLev, icorner, icbeg, icend, jcbeg, jcend, kcbeg, kcend)
**********************************************************************Rocstar Simulation Suite Illinois Rocstar LLC All rights reserved ****Illinois Rocstar LLC IL **www illinoisrocstar com **sales illinoisrocstar com WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **Arising OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE **********************************************************************INTERFACE SUBROUTINE knode jend
**********************************************************************Rocstar Simulation Suite Illinois Rocstar LLC All rights reserved ****Illinois Rocstar LLC IL **www illinoisrocstar com **sales illinoisrocstar com WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **Arising OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE **********************************************************************INTERFACE SUBROUTINE knode jbeg
**********************************************************************Rocstar Simulation Suite Illinois Rocstar LLC All rights reserved ****Illinois Rocstar LLC IL **www illinoisrocstar com **sales illinoisrocstar com WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **Arising OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE **********************************************************************INTERFACE SUBROUTINE knode kbeg
subroutine deregisterfunction(global)
subroutine getijk(ijk, iOffset, ijOffset, nDumCells, i, j, k)