44 SUBROUTINE splitgrid( splitDirection,regionsOld,regionsNew )
58 INTEGER :: splitdirection
60 TYPE(t_region
),
POINTER :: regionsold(:), regionsnew(:)
63 INTEGER :: ireg,
i,
j,
k
67 INTEGER :: idnbegold, idnendold, jdnbegold, jdnendold, kdnbegold, kdnendold, &
68 inoffold, ijnoffold, errorflag
69 INTEGER :: ibn, ien, ijkn, ijknold, ii, jj, kk, ncells, npatches
72 TYPE(t_grid),
POINTER :: gridold, gridnew
76 globalnew => regionsnew(1)%global
79 'SPLT_SplitGrid.F90' )
83 gridold => regionsold(1)%levels(1)%grid
84 npatches = regionsold(1)%nPatches + 2
86 DO ireg=1,globalnew%nRegions
88 ALLOCATE( regionsnew(ireg)%levels(1),stat=errorflag )
89 ALLOCATE( regionsnew(ireg)%levels(1)%patches(npatches),stat=errorflag )
90 globalnew%error = errorflag
91 IF (globalnew%error /= 0) CALL
errorstop( globalnew,err_allocate,__line__ )
93 gridnew => regionsnew(ireg)%levels(1)%grid
95 IF (splitdirection == 1)
THEN
96 gridnew%ipc = gridold%ipc/globalnew%nRegions
97 gridnew%jpc = gridold%jpc
98 gridnew%kpc = gridold%kpc
99 IF (ireg == globalnew%nRegions)
THEN
100 gridnew%ipc = gridold%ipc - gridnew%ipc*(globalnew%nRegions-1)
102 ELSE IF (splitdirection == 2)
THEN
103 gridnew%ipc = gridold%ipc
104 gridnew%jpc = gridold%jpc/globalnew%nRegions
105 gridnew%kpc = gridold%kpc
106 IF (ireg == globalnew%nRegions)
THEN
107 gridnew%jpc = gridold%jpc - gridnew%jpc*(globalnew%nRegions-1)
110 gridnew%ipc = gridold%ipc
111 gridnew%jpc = gridold%jpc
112 gridnew%kpc = gridold%kpc/globalnew%nRegions
113 IF (ireg == globalnew%nRegions)
THEN
114 gridnew%kpc = gridold%kpc - gridnew%kpc*(globalnew%nRegions-1)
117 regionsnew(ireg)%nGridLevels = regionsold(1)%nGridLevels
118 regionsnew(ireg)%nDumCells = 0
119 regionsnew(ireg)%nPatches = 0
126 ALLOCATE( gridnew%xyz(3,ibn:ien),stat=errorflag )
127 globalnew%error = errorflag
128 IF (globalnew%error /= 0) CALL
errorstop( globalnew,err_allocate,__line__ )
134 gridold => regionsold(1)%levels(1)%grid
136 jdnbegold,jdnendold,kdnbegold,kdnendold )
139 DO ireg=1,globalnew%nRegions
141 gridnew => regionsnew(ireg)%levels(1)%grid
149 ijkn = indijk(
i,
j,
k,inoff,ijnoff)
150 IF (splitdirection == 1)
THEN
151 ncells = gridold%ipc/globalnew%nRegions
152 ii =
i + (ireg-1)*ncells
153 ijknold = indijk(ii,
j,
k,inoffold,ijnoffold)
154 ELSE IF (splitdirection == 2)
THEN
155 ncells = gridold%jpc/globalnew%nRegions
156 jj =
j + (ireg-1)*ncells
157 ijknold = indijk(
i,jj,
k,inoffold,ijnoffold)
159 ncells = gridold%kpc/globalnew%nRegions
160 kk =
k + (ireg-1)*ncells
161 ijknold = indijk(
i,
j,kk,inoffold,ijnoffold)
163 gridnew%xyz(xcoord,ijkn) = gridold%xyz(xcoord,ijknold)
164 gridnew%xyz(ycoord,ijkn) = gridold%xyz(ycoord,ijknold)
165 gridnew%xyz(zcoord,ijkn) = gridold%xyz(zcoord,ijknold)
subroutine registerfunction(global, funName, fileName)
**********************************************************************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 jdnbeg
**********************************************************************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 idnend
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 jdnend
**********************************************************************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 idnbeg
subroutine rflo_getdimensdummynodes(region, iLev, idnbeg, idnend, jdnbeg, jdnend, kdnbeg, kdnend)
subroutine splitgrid(splitDirection, regionsOld, regionsNew)
subroutine errorstop(global, errorCode, errorLine, addMessage)
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 kdnbeg