61 CHARACTER(CHRLEN) :: RCSIdentString = &
62 '$RCSfile: RFLO_ModDegenerateCornEdge.F90,v $ $Revision: 1.3 $'
112 iregtest,icelltest,itest,jtest,ktest )
118 INTEGER :: handlecorn, icount, ireg, ilev
119 INTEGER :: iregtest, icelltest, itest, jtest, ktest
121 TYPE(t_region
),
POINTER :: regions(:)
124 INTEGER :: ipatch, iedge,
i,
j,
k
128 TYPE(t_level
),
POINTER :: level
131 INTEGER :: iregsrc, ipatchsrc, bctype, lbound, jreg, jcell
133 INTEGER :: ibegsrc, iendsrc, jbegsrc, jendsrc, kbegsrc, kendsrc
138 global => regions(1)%global
141 'RFLO_ModDegenerateCornEdge.F90' )
145 level => regions(ireg)%levels(ilev)
149 DO ipatch=1,regions(ireg)%nPatches
150 patch => regions(ireg)%levels(ilev)%patches(ipatch)
151 bctype =
patch%bcType
152 lbound =
patch%lbound
154 IF ((bctype>=bc_regionconf .AND. bctype<=bc_regionconf+bc_range) .OR. &
155 (bctype>=bc_tra_peri .AND. bctype<=bc_tra_peri +bc_range) .OR. &
156 (bctype>=bc_rot_peri .AND. bctype<=bc_rot_peri +bc_range))
THEN
158 iregsrc =
patch%srcRegion
160 IF (iregtest == iregsrc)
THEN
161 ipatchsrc =
patch%srcPatch
162 patchsrc => regions(iregsrc)%levels(ilev)%patches(ipatchsrc)
165 iendsrc,jbegsrc,jendsrc,kbegsrc,kendsrc )
166 nshift = regions(iregsrc)%nDumCells-1
167 IF (patchsrc%lbound==1) iendsrc = iendsrc+nshift
168 IF (patchsrc%lbound==2) ibegsrc = ibegsrc-nshift
169 IF (patchsrc%lbound==3) jendsrc = jendsrc+nshift
170 IF (patchsrc%lbound==4) jbegsrc = jbegsrc-nshift
171 IF (patchsrc%lbound==5) kendsrc = kendsrc+nshift
172 IF (patchsrc%lbound==6) kbegsrc = kbegsrc-nshift
174 IF ((itest>=ibegsrc .AND. itest<=iendsrc) .AND. &
175 (jtest>=jbegsrc .AND. jtest<=jendsrc) .AND. &
176 (ktest>=kbegsrc .AND. ktest<=kendsrc))
THEN
177 IF (handlecorn==0)
THEN
180 level%edgeCells(icount)%degenrt = degenerat_edge_in_patch
184 level%cornerCells(icount)%degenrt = degenerat_corn_in_patch
186 global%degenrtEc = .true.
195 IF (handlecorn==1)
THEN
198 IF (level%edgeCells(iedge)%interact)
THEN
206 jcell = level%edgeCells(iedge)%cells(ijk)%srcCell
207 jreg = level%edgeCells(iedge)%cells(ijk)%srcRegion
208 IF (iregtest==jreg .AND. icelltest==jcell)
THEN
211 level%cornerCells(icount)%degenrt = degenerat_corn_in_edge
212 global%degenrtEc = .true.
250 #include "Indexing.h"
253 TYPE(t_region
),
POINTER :: regions(:)
256 INTEGER :: ireg, ilev, iedge,
icorner,
i,
j,
k
262 INTEGER,
POINTER :: idgen(:)
264 TYPE(t_level
),
POINTER :: level
268 global => regions(1)%global
271 'RFLO_ModDegenerateCornEdge.F90' )
275 DO ireg=1,global%nRegions
276 IF (regions(ireg)%procid==global%myProcid .AND. &
277 regions(ireg)%active==active)
THEN
279 DO ilev=1,regions(ireg)%nGridLevels
280 level => regions(ireg)%levels(ilev)
281 idgen => regions(ireg)%levels(ilev)%grid%ijkDgen
379 IF (level%edgeCells(iedge)%degenrt /= degenerat_none)
THEN
383 ijk = indijk(
i ,
j ,
k ,inoff,ijnoff)
453 IF (level%cornerCells(
icorner)%degenrt /= degenerat_none)
THEN
457 ijk = indijk(
i ,
j ,
k ,inoff,ijnoff)
493 TYPE(t_region
),
POINTER :: regions(:)
496 INTEGER :: ireg, iedge,
icorner
499 CHARACTER(CHRLEN) :: ifilename
501 TYPE(t_level
),
POINTER :: level
503 INTEGER :: ilev, errorflag, ifile
507 global => regions(1)%global
510 'RFLO_ModDegenerateCornEdge.F90')
516 WRITE(ifilename,
'(A)') &
517 trim(global%outDir)//trim(global%casename)//
'.degec'
519 OPEN(ifile,file=ifilename,
form=
"FORMATTED",
status=
"UNKNOWN",iostat=errorflag)
520 global%error = errorflag
522 IF ( global%error /= err_none )
THEN
529 WRITE(ifile,1005)
' ROCFLO degenerated edges and corners'
535 DO ireg=1,global%nRegions
537 ilev = regions(ireg)%currLevel
538 level => regions(ireg)%levels(ilev)
540 WRITE(ifile,1025) ireg
541 WRITE(ifile,1005)
' Edge # Degeneration-type'
544 IF (level%edgeCells(iedge)%degenrt /= degenerat_none) &
545 WRITE(ifile,1015) iedge, level%edgeCells(iedge)%degenrt
548 WRITE(ifile,1005)
' Corner # Degeneration-type'
551 IF (level%cornerCells(
icorner)%degenrt /= degenerat_none) &
560 WRITE(ifile,1005)
' Edge degeneration type:'
561 WRITE(ifile,1030)
' 1 = EDGE IN PATCH (< 4 interior cells meet at the edge)'
562 WRITE(ifile,1030)
' -1 = EDGE DETACHED (> 4 interior cells meet at the edge)'
564 WRITE(ifile,1005)
' Corner degeneration type:'
565 WRITE(ifile,1030)
' 1 = CORNER IN EDGE ( 6 interior cells meet at the corner)'
566 WRITE(ifile,1030)
' 2 = CORNER IN PATCH ( 4 interior cells meet at the corner)'
567 WRITE(ifile,1030)
' -1 = CORNER DETACHED (> 8 interior cells meet at the corner)'
571 CLOSE(ifile,iostat=errorflag)
572 global%error = errorflag
573 IF ( global%error /= err_none )
THEN
582 1000
FORMAT(/,1
x,40(
'-'))
584 1015
FORMAT(i8,8
x,i8)
585 1025
FORMAT(
' Region ',i6,
':')
587 1035
FORMAT(/,1
x,40(
'-'),/)
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
**********************************************************************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 jpnbeg
**********************************************************************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 kpnbeg
subroutine, public rflo_markdegeneratvert(regions)
subroutine registerfunction(global, funName, fileName)
int status() const
Obtain the status of the attribute.
subroutine rflo_getpatchindices(region, patch, iLev, ibeg, iend, jbeg, jend, kbeg, kend)
**********************************************************************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 jpnend
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
**********************************************************************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 ipnbeg
subroutine, public rflo_finddegeneratcell(regions, handleCorn, icount, iReg, iLev, iRegTest, icellTest, iTest, jTest, kTest)
**********************************************************************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
**********************************************************************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 form
subroutine rflo_getdimensphysnodes(region, iLev, ipnbeg, ipnend, jpnbeg, jpnend, kpnbeg, kpnend)
**********************************************************************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
subroutine errorstop(global, errorCode, errorLine, addMessage)
**********************************************************************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
subroutine, public rflo_writedegeneratec(regions)
**********************************************************************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)
**********************************************************************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 ipnend