Rocstar  1.0
Rocstar multiphysics simulation application
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
RFLO_ReadSolution.F90
Go to the documentation of this file.
1 ! *********************************************************************
2 ! * Rocstar Simulation Suite *
3 ! * Copyright@2015, Illinois Rocstar LLC. All rights reserved. *
4 ! * *
5 ! * Illinois Rocstar LLC *
6 ! * Champaign, IL *
7 ! * www.illinoisrocstar.com *
8 ! * sales@illinoisrocstar.com *
9 ! * *
10 ! * License: See LICENSE file in top level of distribution package or *
11 ! * http://opensource.org/licenses/NCSA *
12 ! *********************************************************************
13 ! *********************************************************************
14 ! * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, *
15 ! * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES *
16 ! * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND *
17 ! * NONINFRINGEMENT. IN NO EVENT SHALL THE CONTRIBUTORS OR *
18 ! * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER *
19 ! * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, *
20 ! * Arising FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE *
21 ! * USE OR OTHER DEALINGS WITH THE SOFTWARE. *
22 ! *********************************************************************
23 !******************************************************************************
24 !
25 ! Purpose: read in flow solution (only the mixture) and grid speeds.
26 !
27 ! Description: the following solution formats are supported:
28 ! - RocfloMP ASCII
29 ! - RocfloMP binary.
30 !
31 ! Input: regions = dimensions of all regions.
32 !
33 ! Output: region%levels%mixt%cv = conservative variables (current grid
34 ! level)
35 ! region%levels%grid%si/j/kVel = grid speeds (if grid is moving)
36 ! global%currentTime = physical time
37 ! global%resInit = initial residual
38 !
39 ! Notes: solution and grid speeds are read in only for the current grid level;
40 ! solution is also read in for all dummy cells.
41 !
42 !******************************************************************************
43 !
44 ! $Id: RFLO_ReadSolution.F90,v 1.3 2008/12/06 08:44:07 mtcampbe Exp $
45 !
46 ! Copyright: (c) 2001 by the University of Illinois
47 !
48 !******************************************************************************
49 
50 SUBROUTINE rflo_readsolution( regions )
51 
52  USE moddatatypes
53  USE moddatastruct, ONLY : t_region
54  USE modglobal, ONLY : t_global
58  USE moderror
59  USE modmpi
60  USE modparameters
61  IMPLICIT NONE
62 
63 #include "Indexing.h"
64 
65 ! ... parameters
66  TYPE(t_region), POINTER :: regions(:)
67 
68 ! ... loop variables
69  INTEGER :: ireg, i, j, k, n
70 
71 ! ... local variables
72  CHARACTER(2*CHRLEN+17) :: fname
73  CHARACTER(CHRLEN) :: msg, timestring
74 
75 #ifdef MPI
76  INTEGER :: status(mpi_status_size)
77 #endif
78  INTEGER :: ilev, iregfile, ipc, jpc, kpc, ndumcells, ioff, ijoff, ijk
79  INTEGER :: idcbeg, jdcbeg, kdcbeg, idcend, jdcend, kdcend, ijkbeg, ijkend
80  INTEGER :: ipnbeg, ipnend, jpnbeg, jpnend, kpnbeg, kpnend, inoff, ijnoff
81  INTEGER :: ndimc, ndimn, nrvar, errorflag
82  INTEGER, ALLOCATABLE :: ivar(:,:)
83 
84  REAL(RFREAL), POINTER :: cv(:,:), sivel(:), sjvel(:), skvel(:)
85  REAL(RFREAL), ALLOCATABLE :: rvar(:,:), cvfile(:,:), svelfile(:,:)
86 
87  TYPE(t_global), POINTER :: global
88 
89 !******************************************************************************
90 
91  global => regions(1)%global
92 
93  CALL registerfunction( global,'RFLO_ReadSolution',&
94  'RFLO_ReadSolution.F90' )
95 
96 ! allocate fixed-size temporary data arrays -----------------------------------
97 
98 #ifdef PERI
99  nrvar = 3
100 #else
101  nrvar = 2
102 #endif
103  ALLOCATE( ivar(5,1),stat=errorflag )
104  ALLOCATE( rvar(nrvar,1),stat=errorflag )
105  global%error = errorflag
106  IF (global%error /= 0) CALL errorstop( global,err_allocate,__line__ )
107 
108 ! copy time to string ---------------------------------------------------------
109 
110  IF (global%flowType == flow_unsteady) THEN
111  WRITE(timestring,'(1PE11.5)') global%timeStamp
112  ELSE
113  WRITE(timestring,'(1PE11.5)') 0._rfreal
114  ENDIF
115 
116 ! open solution file (only master proc.) --------------------------------------
117 
118  IF (global%myProcid == masterproc) THEN
119 
120 ! - unsteady flow
121 
122  IF (global%flowType == flow_unsteady) THEN
123  IF (global%solutFormat == format_ascii) THEN
124  WRITE(fname,'(A,1PE11.5)') trim(global%inDir)//trim(global%casename)//'.sola_', &
125  global%timeStamp
126  OPEN(if_solut,file=fname,form='formatted',status='old',iostat=errorflag)
127  ELSE IF (global%solutFormat == format_binary) THEN
128  WRITE(fname,'(A,1PE11.5)') trim(global%inDir)//trim(global%casename)//'.solb_', &
129  global%timeStamp
130  OPEN(if_solut,file=fname,form='unformatted',status='old',iostat=errorflag)
131  ELSE
132  CALL errorstop( global,err_unknown_format,__line__ )
133  ENDIF
134 
135 ! - steady flow
136 
137  ELSE
138  IF (global%solutFormat == format_ascii) THEN
139  WRITE(fname,'(A,I6.6)') trim(global%inDir)//trim(global%casename)//'.sola_', &
140  global%currentIter
141  OPEN(if_solut,file=fname,form='formatted',status='old',iostat=errorflag)
142  ELSE IF (global%solutFormat == format_binary) THEN
143  WRITE(fname,'(A,I6.6)') trim(global%inDir)//trim(global%casename)//'.solb_', &
144  global%currentIter
145  OPEN(if_solut,file=fname,form='unformatted',status='old',iostat=errorflag)
146  ELSE
147  CALL errorstop( global,err_unknown_format,__line__ )
148  ENDIF
149  ENDIF
150 
151  global%error = errorflag
152  IF (global%error /= 0) &
153  CALL errorstop( global,err_file_open,__line__,'File: '//trim(fname) )
154 
155  ENDIF ! MASTERPROC
156 
157 ! read & broadcast time and initial residual in file --------------------------
158 
159  IF (global%myProcid == masterproc) THEN
160  CALL rflo_readdatafilereal( global,if_solut,global%solutFormat,nrvar,1,rvar )
161  ENDIF
162 
163 #ifdef MPI
164  CALL mpi_bcast( rvar,nrvar,mpi_rfreal,masterproc,global%mpiComm,global%mpierr )
165  IF (global%mpierr /=0 ) CALL errorstop( global,err_mpi_trouble,__line__ )
166 #endif
167 
168  IF (global%flowType==flow_unsteady .AND. global%currentTime>0._rfreal) THEN
169  IF (global%currentTime /= rvar(1,1)) THEN
170  WRITE(msg,1000) rvar(1,1),global%currentTime
171  CALL errorstop( global,err_time_solution,__line__,msg//' File: '//trim(fname) )
172  ENDIF
173  ELSE
174  IF (global%timeStamp > 0._rfreal) THEN
175  global%currentTime = rvar(1,1)
176  ELSE
177  global%currentTime = 0._rfreal
178  ENDIF
179  ENDIF
180  global%resInit = rvar(2,1)
181 #ifdef PERI
182  global%moduleVar(1) = rvar(3,1)
183 #endif
184 
185 ! read solution data ----------------------------------------------------------
186 
187  DO ireg=1,global%nRegions
188 
189 ! - get dimensions and pointers
190 
191  ilev = regions(ireg)%currLevel
192  CALL rflo_getdimensdummy( regions(ireg),ilev,idcbeg,idcend, &
193  jdcbeg,jdcend,kdcbeg,kdcend )
194  CALL rflo_getcelloffset( regions(ireg),ilev,ioff,ijoff )
195  ijkbeg = indijk(idcbeg,jdcbeg,kdcbeg,ioff,ijoff)
196  ijkend = indijk(idcend,jdcend,kdcend,ioff,ijoff)
197  ndimc = ijkend - ijkbeg + 1
198 
199  CALL rflo_getdimensphysnodes( regions(ireg),ilev,ipnbeg,ipnend, &
200  jpnbeg,jpnend,kpnbeg,kpnend )
201  CALL rflo_getnodeoffset( regions(ireg),ilev,inoff,ijnoff )
202  ndimn = (regions(ireg)%levels(ilev)%grid%ipc+1)* &
203  (regions(ireg)%levels(ilev)%grid%jpc+1)* &
204  (regions(ireg)%levels(ilev)%grid%kpc+1)
205 
206 ! - read region number and dimensions (only master)
207 
208  IF (global%myProcid == masterproc) THEN
209  CALL rflo_readdatafileint( global,if_solut,global%solutFormat,5,1,ivar )
210  iregfile = ivar(1,1)
211  ipc = ivar(2,1)
212  jpc = ivar(3,1)
213  kpc = ivar(4,1)
214  ndumcells = ivar(5,1)
215 
216  IF (iregfile /= ireg) &
217  CALL errorstop( global,err_region_number,__line__,'File: '//trim(fname) )
218  IF ((ipc /= regions(ireg)%levels(ilev)%grid%ipc) .OR. &
219  (jpc /= regions(ireg)%levels(ilev)%grid%jpc) .OR. &
220  (kpc /= regions(ireg)%levels(ilev)%grid%kpc)) THEN
221  WRITE(msg,1005) ireg,ipc,jpc,kpc
222  CALL errorstop( global,err_grid_dimensions,__line__,msg )
223  ENDIF
224  IF (ndumcells /= regions(ireg)%nDumCells) THEN
225  WRITE(msg,1010) ireg,ndumcells,regions(ireg)%nDumCells
226  CALL errorstop( global,err_grid_dumcells,__line__,msg )
227  ENDIF
228  ENDIF
229 
230 ! - master reads & sends data, others receive them
231 
232  IF (global%myProcid == masterproc) THEN
233 
234  ALLOCATE( cvfile(cv_mixt_neqs,ndimc),stat=errorflag )
235  global%error = errorflag
236  IF (global%error /= 0) CALL errorstop( global,err_allocate,__line__ )
237 
238  CALL rflo_readdatafilereal( global,if_solut,global%solutFormat, &
239  cv_mixt_neqs,ndimc,cvfile )
240 
241  IF (regions(ireg)%mixtInput%moveGrid .AND. &
242  trim(timestring)/='0.00000E+00') THEN
243  ALLOCATE( svelfile(3,ndimn),stat=errorflag )
244  global%error = errorflag
245  IF (global%error /= 0) CALL errorstop( global,err_allocate,__line__ )
246  CALL rflo_readdatafilereal( global,if_solut,global%solutFormat, &
247  3,ndimn,svelfile )
248  ENDIF
249 
250 #ifdef MPI
251  IF (regions(ireg)%procid /= masterproc) THEN
252  CALL mpi_send( cvfile,cv_mixt_neqs*ndimc,mpi_rfreal, &
253  regions(ireg)%procid,ireg, &
254  global%mpiComm,global%mpierr )
255  IF (global%mpierr /=0 ) CALL errorstop( global,err_mpi_trouble,__line__ )
256 
257  IF (regions(ireg)%mixtInput%moveGrid .AND. &
258  trim(timestring)/='0.00000E+00') THEN
259  CALL mpi_send( svelfile,3*ndimn,mpi_rfreal, &
260  regions(ireg)%procid,ireg, &
261  global%mpiComm,global%mpierr )
262  IF (global%mpierr /=0 ) CALL errorstop( global,err_mpi_trouble,__line__ )
263  ENDIF
264  ENDIF
265 #endif
266 
267  ELSE ! not the master
268 
269  IF (regions(ireg)%procid == global%myProcid) THEN
270  ALLOCATE( cvfile(cv_mixt_neqs,ndimc),stat=errorflag )
271  global%error = errorflag
272  IF (global%error /= 0) CALL errorstop( global,err_allocate,__line__ )
273 
274  IF (regions(ireg)%mixtInput%moveGrid .AND. &
275  trim(timestring)/='0.00000E+00') THEN
276  ALLOCATE( svelfile(3,ndimn),stat=errorflag )
277  global%error = errorflag
278  IF (global%error /= 0) CALL errorstop( global,err_allocate,__line__ )
279  ENDIF
280 #ifdef MPI
281  CALL mpi_recv( cvfile,cv_mixt_neqs*ndimc,mpi_rfreal,masterproc,ireg, &
282  global%mpiComm,status,global%mpierr )
283  IF (global%mpierr /=0 ) CALL errorstop( global,err_mpi_trouble,__line__ )
284 
285  IF (regions(ireg)%mixtInput%moveGrid .AND. &
286  trim(timestring)/='0.00000E+00') THEN
287  CALL mpi_recv( svelfile,3*ndimn,mpi_rfreal,masterproc,ireg, &
288  global%mpiComm,status,global%mpierr )
289  IF (global%mpierr /=0 ) CALL errorstop( global,err_mpi_trouble,__line__ )
290  ENDIF
291 #endif
292  ENDIF
293 
294  ENDIF
295 
296 ! - copy solution into data structure
297 
298  IF (regions(ireg)%procid == global%myProcid) THEN
299  cv => regions(ireg)%levels(ilev)%mixt%cv
300  n = 0
301  DO k=kdcbeg,kdcend
302  DO j=jdcbeg,jdcend
303  DO i=idcbeg,idcend
304  n = n + 1
305  ijk = indijk(i,j,k,ioff,ijoff)
306  cv(cv_mixt_dens,ijk) = cvfile(1,n)
307  cv(cv_mixt_xmom,ijk) = cvfile(2,n)
308  cv(cv_mixt_ymom,ijk) = cvfile(3,n)
309  cv(cv_mixt_zmom,ijk) = cvfile(4,n)
310  cv(cv_mixt_ener,ijk) = cvfile(5,n)
311  ENDDO
312  ENDDO
313  ENDDO
314 
315 ! --- ... and grid speeds
316 
317  IF (regions(ireg)%mixtInput%moveGrid .AND. &
318  trim(timestring)/='0.00000E+00') THEN
319  sivel => regions(ireg)%levels(ilev)%grid%siVel
320  sjvel => regions(ireg)%levels(ilev)%grid%sjVel
321  skvel => regions(ireg)%levels(ilev)%grid%skVel
322  n = 0
323  DO k=kpnbeg,kpnend
324  DO j=jpnbeg,jpnend
325  DO i=ipnbeg,ipnend
326  n = n + 1
327  ijk = indijk(i,j,k,inoff,ijnoff)
328  sivel(ijk) = svelfile(1,n)
329  sjvel(ijk) = svelfile(2,n)
330  skvel(ijk) = svelfile(3,n)
331  ENDDO
332  ENDDO
333  ENDDO
334  ENDIF
335  ENDIF ! global%myProcid
336 
337  IF (ALLOCATED(cvfile)) THEN
338  DEALLOCATE( cvfile,stat=errorflag )
339  global%error = errorflag
340  IF (global%error /= 0) CALL errorstop( global,err_deallocate,__line__ )
341  ENDIF
342  IF (ALLOCATED(svelfile)) THEN
343  DEALLOCATE( svelfile,stat=errorflag )
344  global%error = errorflag
345  IF (global%error /= 0) CALL errorstop( global,err_deallocate,__line__ )
346  ENDIF
347 
348  ENDDO ! iReg
349 
350 ! finalize --------------------------------------------------------------------
351 
352  IF (global%myProcid == masterproc) THEN
353  CLOSE(if_solut,iostat=errorflag)
354  global%error = errorflag
355  IF (global%error /= 0) &
356  CALL errorstop( global,err_file_close,__line__,'File: '//trim(fname) )
357  ENDIF
358 
359  CALL deregisterfunction( global )
360 
361 1000 FORMAT('Time in file is= ',1pe12.5,' but it should be= ',e12.5,'.')
362 1005 FORMAT('Region ',i5,', ipc= ',i6,', jpc= ',i6,', kpc= ',i6,'.')
363 1010 FORMAT('Region ',i5,', # dummy cells=',i2,' but should be= ',i1)
364 
365 END SUBROUTINE rflo_readsolution
366 
367 !******************************************************************************
368 !
369 ! RCS Revision history:
370 !
371 ! $Log: RFLO_ReadSolution.F90,v $
372 ! Revision 1.3 2008/12/06 08:44:07 mtcampbe
373 ! Updated license.
374 !
375 ! Revision 1.2 2008/11/19 22:17:21 mtcampbe
376 ! Added Illinois Open Source License/Copyright
377 !
378 ! Revision 1.1 2004/11/29 21:25:17 wasistho
379 ! lower to upper case
380 !
381 ! Revision 1.18 2004/08/08 20:40:13 wasistho
382 ! set current time to zero only if time-stamp=0
383 !
384 ! Revision 1.17 2004/08/06 03:27:43 wasistho
385 ! set current time to zero if timeStamp=0
386 !
387 ! Revision 1.16 2003/11/20 16:40:34 mdbrandy
388 ! Backing out RocfluidMP changes from 11-17-03
389 !
390 ! Revision 1.13 2003/05/15 02:57:01 jblazek
391 ! Inlined index function.
392 !
393 ! Revision 1.12 2003/04/02 00:24:05 wasistho
394 ! install ROCPERI
395 !
396 ! Revision 1.11 2002/10/23 18:43:24 jblazek
397 ! Changed temporary pointer arrays into allocatable arrays
398 ! in grid and solution I/O routines.
399 !
400 ! Revision 1.10 2002/10/12 03:20:50 jblazek
401 ! Replaced [io]stat=global%error with local errorFlag for Rocflo.
402 !
403 ! Revision 1.9 2002/09/20 22:22:35 jblazek
404 ! Finalized integration into GenX.
405 !
406 ! Revision 1.8 2002/09/05 17:40:19 jblazek
407 ! Variable global moved into regions().
408 !
409 ! Revision 1.7 2002/08/29 21:52:21 jblazek
410 ! Added I/O of grid speeds.
411 !
412 ! Revision 1.6 2002/06/07 16:40:36 jblazek
413 ! Grid & solution for all regions in one file.
414 !
415 ! Revision 1.5 2002/02/21 23:25:04 jblazek
416 ! Blocks renamed as regions.
417 !
418 ! Revision 1.4 2002/02/04 15:30:25 jblazek
419 ! Added injection boundary condition.
420 !
421 ! Revision 1.3 2002/01/08 22:09:16 jblazek
422 ! Added calculation of face vectors and volumes.
423 !
424 ! Revision 1.2 2002/01/02 16:20:19 jblazek
425 ! Added flow initialization and dummy cell geometry.
426 !
427 ! Revision 1.1 2001/12/19 23:09:20 jblazek
428 ! Added routines to read grid and solution.
429 !
430 !******************************************************************************
431 
432 
433 
434 
435 
436 
437 
**********************************************************************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 idcend
**********************************************************************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
j indices k indices k
Definition: Indexing.h:6
**********************************************************************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 registerfunction(global, funName, fileName)
Definition: ModError.F90:449
int status() const
Obtain the status of the attribute.
Definition: Attribute.h:240
subroutine rflo_readdatafileint(global, fileId, form, nDim1, nDim2, ivar)
**********************************************************************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)
subroutine rflo_getdimensdummy(region, iLev, idcbeg, idcend, jdcbeg, jdcend, kdcbeg, kdcend)
subroutine rflo_readsolution(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 kdcbeg
blockLoc i
Definition: read.cpp:79
**********************************************************************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 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 idcbeg
**********************************************************************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
const NT & n
**********************************************************************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 jdcend
subroutine rflo_getdimensphysnodes(region, iLev, ipnbeg, ipnend, jpnbeg, jpnend, kpnbeg, kpnend)
j indices j
Definition: Indexing.h:6
**********************************************************************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 jdcbeg
subroutine errorstop(global, errorCode, errorLine, addMessage)
Definition: ModError.F90:483
subroutine deregisterfunction(global)
Definition: ModError.F90:469
**********************************************************************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
subroutine rflo_readdatafilereal(global, fileId, form, nDim1, nDim2, var)