65 TYPE(t_region
),
POINTER :: regions(:)
67 INTEGER,
INTENT(IN) :: ireg
70 INTEGER ::
i,
icorner, iedge, iface, ijk,
j,
k, ldir
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 :: idirsrc, jdirsrc, kdirsrc, ldirsrc, ifacesrc
90 INTEGER :: srcdir(3),srcface(6)
91 INTEGER :: srcindexmapmat(3,4)
93 REAL(RFREAL),
DIMENSION(3,3) :: sfacecorn, sfaceedge
94 REAL(RFREAL),
POINTER,
DIMENSION(:,:) :: psi, psj, psk, &
95 psisrc, psjsrc, psksrc
97 TYPE(t_region
),
POINTER :: pregion
98 TYPE(t_level
),
POINTER :: plevel
104 '$RCSfile: PLAG_CECellsFaceVectors.F90,v $ $Revision: 1.4 $'
106 global => regions(ireg)%global
109 'PLAG_CECellsFaceVectors.F90' )
113 ilev = regions(ireg)%currLevel
121 pregion => regions(ireg)
122 plevel => regions(ireg)%levels(ilev)
124 psi => regions(ireg)%levels(ilev)%plag%si
125 psj => regions(ireg)%levels(ilev)%plag%sj
126 psk => regions(ireg)%levels(ilev)%plag%sk
138 IF( .NOT. plevel%edgeCells(iedge)%interact ) goto 1999
142 IF( plevel%edgeCells(iedge)%degenrt /= degenerat_none ) goto 1999
154 ijkn = indijk(
i,
j,
k,inoff, ijnoff)
158 iregsrc = plevel%edgeCells(iedge)%cells(ijk)%srcRegion
160 IF ( iregsrc > 0 )
THEN
161 ijkecsrc = plevel%edgeCells(iedge)%cells(ijk)%srcCell
162 ndumcellssrc = regions(iregsrc)%nDumCells
165 CALL
getijk( ijkecsrc,icoffsrc,ijcoffsrc,ndumcellssrc, &
166 iecsrc,jecsrc,kecsrc )
169 ijkensrc = indijk(iecsrc,jecsrc,kecsrc,inoffsrc,ijnoffsrc)
173 srcindexmapmat= plevel%edgeCells(iedge)%cells(ijk)%srcIndexMapMat
177 idirsrc = srcdir(1); jdirsrc = srcdir(2); kdirsrc = srcdir(3);
181 IF ( regions(iregsrc)%procid == global%myProcid )
THEN
185 psisrc => regions(iregsrc)%levels(ilev)%plag%si
186 psjsrc => regions(iregsrc)%levels(ilev)%plag%sj
187 psksrc => regions(iregsrc)%levels(ilev)%plag%sk
195 nodeedge = indijk(
i,
j,
k,inoff, ijnoff)
198 nodeedge = indijk(
i+1,
j,
k,inoff, ijnoff)
201 nodeedge = indijk(
i,
j+1,
k,inoff, ijnoff)
204 nodeedge = indijk(
i,
j,
k+1,inoff, ijnoff)
207 ifacesrc = srcface(iface)
208 SELECT CASE (ifacesrc)
210 nodeedgesrc = indijk(iecsrc,jecsrc,kecsrc,inoffsrc,ijnoffsrc)
213 nodeedgesrc = indijk(iecsrc+1,jecsrc,kecsrc,inoffsrc,ijnoffsrc)
216 nodeedgesrc = indijk(iecsrc,jecsrc+1,kecsrc,inoffsrc,ijnoffsrc)
219 nodeedgesrc = indijk(iecsrc,jecsrc,kecsrc+1,inoffsrc,ijnoffsrc)
226 SELECT CASE (ldirsrc)
228 sfaceedge(xcoord:zcoord,ldirsrc) = psisrc(xcoord:zcoord,nodeedgesrc)
231 sfaceedge(xcoord:zcoord,ldirsrc) = psjsrc(xcoord:zcoord,nodeedgesrc)
234 sfaceedge(xcoord:zcoord,ldirsrc) = psksrc(xcoord:zcoord,nodeedgesrc)
240 psi(xcoord:zcoord,nodeedge) = sfaceedge(xcoord:zcoord,icoord)
241 psj(xcoord:zcoord,nodeedge) = sfaceedge(xcoord:zcoord,jcoord)
242 psk(xcoord:zcoord,nodeedge) = sfaceedge(xcoord:zcoord,kcoord)
262 IF( .NOT. plevel%cornerCells(
icorner)%interact ) goto 2999
266 IF( plevel%cornerCells(
icorner)%degenrt /= degenerat_none ) goto 2999
278 ijkn = indijk(
i,
j,
k,inoff, ijnoff)
282 iregsrc = plevel%cornerCells(
icorner)%cells(ijk)%srcRegion
284 IF ( iregsrc > 0 )
THEN
285 ijkccsrc = plevel%cornerCells(
icorner)%cells(ijk)%srcCell
286 ndumcellssrc = regions(iregsrc)%nDumCells
289 CALL
getijk( ijkccsrc,icoffsrc,ijcoffsrc,ndumcellssrc, &
290 iccsrc,jccsrc,kccsrc )
293 ijkcnsrc = indijk(iccsrc,jccsrc,kccsrc,inoffsrc,ijnoffsrc)
297 srcindexmapmat= plevel%cornerCells(
icorner)%cells(ijk)%srcIndexMapMat
301 idirsrc = srcdir(1); jdirsrc = srcdir(2); kdirsrc = srcdir(3);
305 IF ( regions(iregsrc)%procid == global%myProcid )
THEN
309 psisrc => regions(iregsrc)%levels(ilev)%plag%si
310 psjsrc => regions(iregsrc)%levels(ilev)%plag%sj
311 psksrc => regions(iregsrc)%levels(ilev)%plag%sk
319 nodecorn = indijk(
i,
j,
k,inoff, ijnoff)
322 nodecorn = indijk(
i+1,
j,
k,inoff, ijnoff)
325 nodecorn = indijk(
i,
j+1,
k,inoff, ijnoff)
328 nodecorn = indijk(
i,
j,
k+1,inoff, ijnoff)
331 ifacesrc = srcface(iface)
332 SELECT CASE (ifacesrc)
334 nodecornsrc = indijk(iccsrc,jccsrc,kccsrc,inoffsrc,ijnoffsrc)
337 nodecornsrc = indijk(iccsrc+1,jccsrc,kccsrc,inoffsrc,ijnoffsrc)
340 nodecornsrc = indijk(iccsrc,jccsrc+1,kccsrc,inoffsrc,ijnoffsrc)
343 nodecornsrc = indijk(iccsrc,jccsrc,kccsrc+1,inoffsrc,ijnoffsrc)
350 SELECT CASE (ldirsrc)
352 sfacecorn(xcoord:zcoord,ldirsrc) = psisrc(xcoord:zcoord,nodecornsrc)
355 sfacecorn(xcoord:zcoord,ldirsrc) = psjsrc(xcoord:zcoord,nodecornsrc)
358 sfacecorn(xcoord:zcoord,ldirsrc) = psksrc(xcoord:zcoord,nodecornsrc)
364 psi(xcoord:zcoord,nodecorn) = sfacecorn(xcoord:zcoord,icoord)
365 psj(xcoord:zcoord,nodecorn) = sfacecorn(xcoord:zcoord,jcoord)
366 psk(xcoord:zcoord,nodecorn) = sfacecorn(xcoord:zcoord,kcoord)
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 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 plag_cecellsfacevectors(regions, iReg)
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)