Rocstar  1.0
Rocstar multiphysics simulation application
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
RFLO_CheckMetrics.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: check if control volumes > 0 and if sum of face vectors = 0.
26 !
27 ! Description: none.
28 !
29 ! Input: iReg = region number
30 ! region%levels%grid = dimensions, coordinates, face vectors
31 ! (current region)
32 !
33 ! Output: none.
34 !
35 ! Notes: metrics is checked for physical cells only.
36 !
37 !******************************************************************************
38 !
39 ! $Id: RFLO_CheckMetrics.F90,v 1.15 2009/10/17 01:17:16 mtcampbe Exp $
40 !
41 ! Copyright: (c) 2001 by the University of Illinois
42 !
43 !******************************************************************************
44 
45 SUBROUTINE rflo_checkmetrics( iReg,region )
46 
47  USE moddatatypes
48  USE modglobal, ONLY : t_global
49  USE moddatastruct, ONLY : t_region
52  USE moderror
53  USE modparameters
54  USE modmpi
55 
56  IMPLICIT NONE
57 
58 #include "Indexing.h"
59 
60 ! ... parameters
61  INTEGER :: ireg
62 
63  TYPE(t_region) :: region
64 
65 ! ... loop variables
66  INTEGER :: ilev, i, j, k, l,myerr
67 
68 ! ... local variables
69  CHARACTER(CHRLEN) :: msg
70 
71  INTEGER :: idcbeg, idcend, jdcbeg, jdcend, kdcbeg, kdcend
72  INTEGER :: ipcbeg, ipcend, jpcbeg, jpcend, kpcbeg, kpcend
73  INTEGER :: icoff, ijcoff, inoff, ijnoff, ijkcell, ijknode(8), face(6)
74  INTEGER :: im, jm, km
75 
76  REAL(RFREAL) :: sum(3), edgelen, edgemin2, edgemin3, edge(3,4), dprod(8)
77  REAL(RFREAL) :: ds, dprodm, dpmax, emag, smag1, smag2, skewness, minvol
78  REAL(RFREAL), POINTER :: xyz(:,:), si(:,:), sj(:,:), sk(:,:), vol(:)
79 
80  TYPE(t_global), POINTER :: global
81 
82 !******************************************************************************
83 
84  global => region%global
85  skewness = 0.0
86 
87  CALL registerfunction( global,'RFLO_CheckMetrics',&
88  'RFLO_CheckMetrics.F90' )
89 
90 ! loop over all grid levels ---------------------------------------------------
91 
92  DO ilev=1,region%nGridLevels
93 
94  CALL rflo_getdimensdummy( region,ilev,idcbeg,idcend, &
95  jdcbeg,jdcend,kdcbeg,kdcend )
96  CALL rflo_getdimensphys( region,ilev,ipcbeg,ipcend, &
97  jpcbeg,jpcend,kpcbeg,kpcend )
98  CALL rflo_getcelloffset( region,ilev,icoff,ijcoff )
99  CALL rflo_getnodeoffset( region,ilev,inoff,ijnoff )
100 
101  xyz => region%levels(ilev)%grid%xyz
102  si => region%levels(ilev)%grid%si
103  sj => region%levels(ilev)%grid%sj
104  sk => region%levels(ilev)%grid%sk
105  vol => region%levels(ilev)%grid%vol
106 
107 ! - calculate the shortest distance
108 
109  edgelen = 1.e+30_rfreal
110 
111 ! call MPI_BARRIER(MPI_COMM_WORLD,myerr)
112 ! if(global%myprocid .eq. 0) then
113 ! write(*,*) 'calling shortest distance'
114 ! endif
115 
116  DO k=kpcbeg,kpcend
117  DO j=jpcbeg,jpcend
118  DO i=ipcbeg,ipcend
119  ijknode(1) = indijk(i ,j ,k ,inoff,ijnoff)
120  ijknode(2) = indijk(i+1,j ,k ,inoff,ijnoff)
121  ijknode(3) = indijk(i ,j+1,k ,inoff,ijnoff)
122  ijknode(4) = indijk(i ,j ,k+1,inoff,ijnoff)
123  ds = sqrt((xyz(xcoord,ijknode(2))-xyz(xcoord,ijknode(1)))**2+ &
124  (xyz(ycoord,ijknode(2))-xyz(ycoord,ijknode(1)))**2+ &
125  (xyz(zcoord,ijknode(2))-xyz(zcoord,ijknode(1)))**2)
126  edgelen = min(edgelen,ds)
127  ds = sqrt((xyz(xcoord,ijknode(3))-xyz(xcoord,ijknode(1)))**2+ &
128  (xyz(ycoord,ijknode(3))-xyz(ycoord,ijknode(1)))**2+ &
129  (xyz(zcoord,ijknode(3))-xyz(zcoord,ijknode(1)))**2)
130  edgelen = min(edgelen,ds)
131  ds = sqrt((xyz(xcoord,ijknode(4))-xyz(xcoord,ijknode(1)))**2+ &
132  (xyz(ycoord,ijknode(4))-xyz(ycoord,ijknode(1)))**2+ &
133  (xyz(zcoord,ijknode(4))-xyz(zcoord,ijknode(1)))**2)
134  edgelen = min(edgelen,ds)
135  ENDDO
136  ENDDO
137  ENDDO
138 
139 ! call MPI_BARRIER(MPI_COMM_WORLD,myerr)
140 ! if(global%myprocid .eq. 0) then
141 ! write(*,*) 'doing closedness'
142 ! endif
143 
144  edgemin2 = 0.1_rfreal*edgelen*edgelen
145  edgemin3 = edgelen*edgemin2
146 
147 ! - check face vectors: closedness
148 
149  DO k=kpcbeg,kpcend
150  DO j=jpcbeg,jpcend
151  DO i=ipcbeg,ipcend
152  face(1) = indijk(i ,j ,k ,inoff,ijnoff)
153  face(2) = indijk(i+1,j ,k ,inoff,ijnoff)
154  face(4) = indijk(i ,j+1,k ,inoff,ijnoff)
155  face(6) = indijk(i ,j ,k+1,inoff,ijnoff)
156 
157  sum(1:3) = si(1:3,face(1)) - si(1:3,face(2)) + &
158  sj(1:3,face(1)) - sj(1:3,face(4)) + &
159  sk(1:3,face(1)) - sk(1:3,face(6))
160 
161  IF (maxval(abs(sum)) > edgemin2) THEN
162  WRITE(msg,1000) maxval(abs(sum)),ireg,ilev,i,j,k
163  CALL errorstop( global,err_facevec_sum,__line__,msg )
164  ENDIF
165  ENDDO
166  ENDDO
167  ENDDO
168 
169 ! call MPI_BARRIER(MPI_COMM_WORLD,myerr)
170 !! if(global%myprocid .eq. 0) then
171 ! write(*,*) 'doing face vectors'
172 ! endif
173 
174 ! - check face vectors: inverted cells
175 
176  region%levels(ilev)%grid%remesh = 0
177  dprodm = 1._rfreal
178  dpmax = -1._rfreal
179 
180  DO k=kpcbeg,kpcend
181  DO j=jpcbeg,jpcend
182  DO i=ipcbeg,ipcend
183  ijknode(1) = indijk(i ,j ,k ,inoff,ijnoff)
184  ijknode(2) = indijk(i+1,j ,k ,inoff,ijnoff)
185  ijknode(3) = indijk(i ,j+1,k ,inoff,ijnoff)
186  ijknode(4) = indijk(i ,j ,k+1,inoff,ijnoff)
187  ijknode(5) = indijk(i+1,j+1,k+1,inoff,ijnoff)
188  ijknode(6) = indijk(i+1,j+1,k ,inoff,ijnoff)
189  ijknode(7) = indijk(i+1,j ,k+1,inoff,ijnoff)
190  ijknode(8) = indijk(i ,j+1,k+1,inoff,ijnoff)
191 
192  face(1) = ijknode(1)
193  face(2) = ijknode(2)
194  face(4) = ijknode(3)
195  face(6) = ijknode(4)
196 
197 ! ------- check for inverted i-faces
198 
199  edge(1,1) = xyz(xcoord,ijknode(1))-xyz(xcoord,ijknode(2))
200  edge(2,1) = xyz(ycoord,ijknode(1))-xyz(ycoord,ijknode(2))
201  edge(3,1) = xyz(zcoord,ijknode(1))-xyz(zcoord,ijknode(2))
202 
203  edge(1,2) = xyz(xcoord,ijknode(3))-xyz(xcoord,ijknode(6))
204  edge(2,2) = xyz(ycoord,ijknode(3))-xyz(ycoord,ijknode(6))
205  edge(3,2) = xyz(zcoord,ijknode(3))-xyz(zcoord,ijknode(6))
206 
207  edge(1,3) = xyz(xcoord,ijknode(8))-xyz(xcoord,ijknode(5))
208  edge(2,3) = xyz(ycoord,ijknode(8))-xyz(ycoord,ijknode(5))
209  edge(3,3) = xyz(zcoord,ijknode(8))-xyz(zcoord,ijknode(5))
210 
211  edge(1,4) = xyz(xcoord,ijknode(4))-xyz(xcoord,ijknode(7))
212  edge(2,4) = xyz(ycoord,ijknode(4))-xyz(ycoord,ijknode(7))
213  edge(3,4) = xyz(zcoord,ijknode(4))-xyz(zcoord,ijknode(7))
214 
215  DO l=1,4
216  emag = sqrt( edge(1,l)*edge(1,l) + &
217  edge(2,l)*edge(2,l) + &
218  edge(3,l)*edge(3,l) )
219  smag1 = sqrt( si(1,face(1))*si(1,face(1)) + &
220  si(2,face(1))*si(2,face(1)) + &
221  si(3,face(1))*si(3,face(1)) )
222  smag2 = sqrt( si(1,face(2))*si(1,face(2)) + &
223  si(2,face(2))*si(2,face(2)) + &
224  si(3,face(2))*si(3,face(2)) )
225 
226  dprod(l) = (si(1,face(1))*edge(1,l) + &
227  si(2,face(1))*edge(2,l) + &
228  si(3,face(1))*edge(3,l))/(smag1*emag)
229 
230  dprod(l+4) = (si(1,face(2))*edge(1,l) + &
231  si(2,face(2))*edge(2,l) + &
232  si(3,face(2))*edge(3,l))/(smag2*emag)
233  ENDDO
234 
235  IF (minval(dprod) < dprodm) THEN
236  dprodm = minval( dprod )
237  im = i
238  jm = j
239  km = k
240  ENDIF
241 
242  IF (maxval(dprod) > dpmax) THEN
243  dpmax = maxval( dprod )
244  ENDIF
245 
246 ! ------- check for inverted j-faces
247 
248  edge(1,1) = xyz(xcoord,ijknode(1))-xyz(xcoord,ijknode(3))
249  edge(2,1) = xyz(ycoord,ijknode(1))-xyz(ycoord,ijknode(3))
250  edge(3,1) = xyz(zcoord,ijknode(1))-xyz(zcoord,ijknode(3))
251 
252  edge(1,2) = xyz(xcoord,ijknode(4))-xyz(xcoord,ijknode(8))
253  edge(2,2) = xyz(ycoord,ijknode(4))-xyz(ycoord,ijknode(8))
254  edge(3,2) = xyz(zcoord,ijknode(4))-xyz(zcoord,ijknode(8))
255 
256  edge(1,3) = xyz(xcoord,ijknode(7))-xyz(xcoord,ijknode(5))
257  edge(2,3) = xyz(ycoord,ijknode(7))-xyz(ycoord,ijknode(5))
258  edge(3,3) = xyz(zcoord,ijknode(7))-xyz(zcoord,ijknode(5))
259 
260  edge(1,4) = xyz(xcoord,ijknode(2))-xyz(xcoord,ijknode(6))
261  edge(2,4) = xyz(ycoord,ijknode(2))-xyz(ycoord,ijknode(6))
262  edge(3,4) = xyz(zcoord,ijknode(2))-xyz(zcoord,ijknode(6))
263 
264  DO l=1,4
265  emag = sqrt( edge(1,l)*edge(1,l) + &
266  edge(2,l)*edge(2,l) + &
267  edge(3,l)*edge(3,l) )
268  smag1 = sqrt( sj(1,face(1))*sj(1,face(1)) + &
269  sj(2,face(1))*sj(2,face(1)) + &
270  sj(3,face(1))*sj(3,face(1)) )
271  smag2 = sqrt( sj(1,face(4))*sj(1,face(4)) + &
272  sj(2,face(4))*sj(2,face(4)) + &
273  sj(3,face(4))*sj(3,face(4)) )
274 
275  dprod(l) = (sj(1,face(1))*edge(1,l) + &
276  sj(2,face(1))*edge(2,l) + &
277  sj(3,face(1))*edge(3,l))/(smag1*emag)
278 
279  dprod(l+4) = (sj(1,face(4))*edge(1,l) + &
280  sj(2,face(4))*edge(2,l) + &
281  sj(3,face(4))*edge(3,l))/(smag2*emag)
282  ENDDO
283 
284  IF (minval(dprod) < dprodm) THEN
285  dprodm = minval( dprod )
286  im = i
287  jm = j
288  km = k
289  ENDIF
290 
291  IF (maxval(dprod) > dpmax) THEN
292  dpmax = maxval( dprod )
293  ENDIF
294 
295 ! ------- check for inverted k-faces
296 
297  edge(1,1) = xyz(xcoord,ijknode(1))-xyz(xcoord,ijknode(4))
298  edge(2,1) = xyz(ycoord,ijknode(1))-xyz(ycoord,ijknode(4))
299  edge(3,1) = xyz(zcoord,ijknode(1))-xyz(zcoord,ijknode(4))
300 
301  edge(1,2) = xyz(xcoord,ijknode(2))-xyz(xcoord,ijknode(7))
302  edge(2,2) = xyz(ycoord,ijknode(2))-xyz(ycoord,ijknode(7))
303  edge(3,2) = xyz(zcoord,ijknode(2))-xyz(zcoord,ijknode(7))
304 
305  edge(1,3) = xyz(xcoord,ijknode(6))-xyz(xcoord,ijknode(5))
306  edge(2,3) = xyz(ycoord,ijknode(6))-xyz(ycoord,ijknode(5))
307  edge(3,3) = xyz(zcoord,ijknode(6))-xyz(zcoord,ijknode(5))
308 
309  edge(1,4) = xyz(xcoord,ijknode(3))-xyz(xcoord,ijknode(8))
310  edge(2,4) = xyz(ycoord,ijknode(3))-xyz(ycoord,ijknode(8))
311  edge(3,4) = xyz(zcoord,ijknode(3))-xyz(zcoord,ijknode(8))
312 
313  DO l=1,4
314  emag = sqrt( edge(1,l)*edge(1,l) + &
315  edge(2,l)*edge(2,l) + &
316  edge(3,l)*edge(3,l) )
317  smag1 = sqrt( sk(1,face(1))*sk(1,face(1)) + &
318  sk(2,face(1))*sk(2,face(1)) + &
319  sk(3,face(1))*sk(3,face(1)) )
320  smag2 = sqrt( sk(1,face(6))*sk(1,face(6)) + &
321  sk(2,face(6))*sk(2,face(6)) + &
322  sk(3,face(6))*sk(3,face(6)) )
323 
324  dprod(l) = (sk(1,face(1))*edge(1,l) + &
325  sk(2,face(1))*edge(2,l) + &
326  sk(3,face(1))*edge(3,l))/(smag1*emag)
327 
328  dprod(l+4) = (sk(1,face(6))*edge(1,l) + &
329  sk(2,face(6))*edge(2,l) + &
330  sk(3,face(6))*edge(3,l))/(smag2*emag)
331  ENDDO
332 
333  IF (minval(dprod) < dprodm) THEN
334  dprodm = minval( dprod )
335  im = i
336  jm = j
337  km = k
338  ENDIF
339 
340  IF (maxval(dprod) > dpmax) THEN
341  dpmax = maxval( dprod )
342  ENDIF
343 
344  ENDDO
345  ENDDO
346  ENDDO
347 
348 ! call MPI_BARRIER(MPI_COMM_WORLD,myerr)
349 ! if(global%myprocid .eq. 0) then
350 ! write(*,*) 'done doing face vectors'
351 ! endif
352 ! if(dpmax .eq. 0) then
353 ! write(*,*) 'dpmax == 0'
354 ! stop
355 ! endif
356 ! skewness = dprodm/dpmax
357 ! region%levels(iLev)%grid%skewness = skewness ! block skewness
358 ! global%skewness = skewness ! for global skewness
359 
360 ! IF (skewness < 1.E-3_RFREAL) THEN ! positive criterion
361  IF (skewness < 0._rfreal) THEN ! negative criterion
362 ! WRITE(msg,2000) skewness, &
363 ! vol(IndIJK(im,jm,km,iCOff,ijCOff)), &
364 ! iReg,iLev,im,jm,km
365  WRITE(stdout,'(A)') solver_name//'Warning: inverted cell, '//msg
366 ! region%levels(iLev)%grid%remesh = 1
367  ENDIF
368 
369 ! - check volumes
370 ! call MPI_BARRIER(MPI_COMM_WORLD,myerr)
371 ! write(*,*) 'checking volume'
372  minvol = huge( 1._rfreal )
373 ! DO k=kdcbeg,kdcend
374 ! DO j=jdcbeg,jdcend
375 ! DO i=idcbeg,idcend
376  DO k=kpcbeg,kpcend
377  DO j=jpcbeg,jpcend
378  DO i=ipcbeg,ipcend
379  ijkcell = indijk(i,j,k,icoff,ijcoff)
380  minvol = min( minvol,vol(ijkcell) )
381 
382 ! IF (vol(ijkCell) < edgeMin3) THEN ! positive criterion
383  IF (vol(ijkcell) < 0._rfreal) THEN ! negative criterion
384  WRITE(msg,1000) vol(ijkcell),ireg,ilev,i,j,k
385  CALL errorstop( global,err_volume_size,__line__,msg )
386  ENDIF
387  ENDDO
388  ENDDO
389  ENDDO
390  region%levels(ilev)%grid%minVol = minvol ! block minimum cell-vol
391  global%minVol = minvol ! for global minimum cell-vol
392 ! call MPI_BARRIER(MPI_COMM_WORLD,myerr)
393 ! write(*,*) 'checking volume done'
394 
395  ENDDO ! iLev
396 
397 ! finalize --------------------------------------------------------------------
398 
399  CALL deregisterfunction( global )
400 
401 1000 FORMAT('value = ',1pe12.5,', region ',i5,', lev ',i1,', ijk=',3i4)
402 2000 FORMAT('skewness, vol.= ',2(1pe10.3),', reg.',i5,', lev.',i1,', ijk=',3i4)
403 
404 END SUBROUTINE rflo_checkmetrics
405 
406 !******************************************************************************
407 !
408 ! RCS Revision history:
409 !
410 ! $Log: RFLO_CheckMetrics.F90,v $
411 ! Revision 1.15 2009/10/17 01:17:16 mtcampbe
412 !
413 ! Port to Mercury, George's skewness fix, MP NATIVE IO fix
414 !
415 ! Revision 1.14 2009/08/12 04:15:58 mtcampbe
416 ! Major update, bugfix from Abe development, more propagation compatibility,
417 ! some Rocstar IO changes, Ju's temporary clipping fix for turbulence. A bug
418 ! fix for initialization IO.
419 !
420 ! Revision 1.13 2008/12/06 08:44:26 mtcampbe
421 ! Updated license.
422 !
423 ! Revision 1.12 2008/11/19 22:17:37 mtcampbe
424 ! Added Illinois Open Source License/Copyright
425 !
426 ! Revision 1.11 2006/03/18 11:05:20 wasistho
427 ! computed minvol
428 !
429 ! Revision 1.10 2006/03/15 06:42:10 wasistho
430 ! added region and global skewness
431 !
432 ! Revision 1.9 2006/03/08 09:14:22 wasistho
433 ! changed skewness report
434 !
435 ! Revision 1.8 2006/03/04 04:27:54 wasistho
436 ! normalized cell skewness parameter
437 !
438 ! Revision 1.7 2005/05/28 05:41:59 wasistho
439 ! switch positive to negative criteria for inverted cells and cell-volume
440 !
441 ! Revision 1.6 2005/05/27 08:40:16 wasistho
442 ! warning inverted cell after solver_name
443 !
444 ! Revision 1.5 2005/05/27 01:51:02 wasistho
445 ! added remeshing
446 !
447 ! Revision 1.4 2005/05/06 07:36:07 wasistho
448 ! modified warning for inverted cells
449 !
450 ! Revision 1.3 2005/04/25 23:40:35 wasistho
451 ! modified inverted cell criterion
452 !
453 ! Revision 1.2 2005/04/25 04:59:26 wasistho
454 ! added inverted cell detector
455 !
456 ! Revision 1.1 2004/11/29 20:51:38 wasistho
457 ! lower to upper case
458 !
459 ! Revision 1.13 2004/08/04 21:33:27 wasistho
460 ! insert missing ABS in face-vectors check
461 !
462 ! Revision 1.12 2003/11/20 16:40:39 mdbrandy
463 ! Backing out RocfluidMP changes from 11-17-03
464 !
465 ! Revision 1.8 2003/05/15 02:57:03 jblazek
466 ! Inlined index function.
467 !
468 ! Revision 1.7 2002/12/06 22:29:26 jblazek
469 ! Corrected bug for geometry exchange between minimal patches.
470 !
471 ! Revision 1.6 2002/09/05 17:40:21 jblazek
472 ! Variable global moved into regions().
473 !
474 ! Revision 1.5 2002/02/21 23:25:06 jblazek
475 ! Blocks renamed as regions.
476 !
477 ! Revision 1.4 2002/02/01 22:17:38 jblazek
478 ! Change addressing of face vectors at block boundaries.
479 !
480 ! Revision 1.3 2002/01/23 03:51:25 jblazek
481 ! Added low-level time-stepping routines.
482 !
483 ! Revision 1.2 2002/01/08 22:09:17 jblazek
484 ! Added calculation of face vectors and volumes.
485 !
486 ! Revision 1.1 2001/12/19 23:09:21 jblazek
487 ! Added routines to read grid and solution.
488 !
489 !******************************************************************************
490 
491 
492 
493 
494 
495 
496 
Tfloat sum() const
Return the sum of all the pixel values in an image.
Definition: CImg.h:13022
**********************************************************************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
Definition: face.h:90
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 kpcbeg
subroutine registerfunction(global, funName, fileName)
Definition: ModError.F90:449
double sqrt(double d)
Definition: double.h:73
**********************************************************************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 jpcbeg
**********************************************************************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 ipcend
subroutine rflo_getnodeoffset(region, iLev, iNodeOffset, ijNodeOffset)
subroutine rflo_getdimensdummy(region, iLev, idcbeg, idcend, jdcbeg, jdcend, kdcbeg, kdcend)
**********************************************************************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
**********************************************************************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 ipcbeg
blockLoc i
Definition: read.cpp:79
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 jdcend
Vector_n min(const Array_n_const &v1, const Array_n_const &v2)
Definition: Vector_n.h:346
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 jpcend
**********************************************************************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
subroutine rflo_checkmetrics(iReg, region)
subroutine rflo_getdimensphys(region, iLev, ipcbeg, ipcend, jpcbeg, jpcend, kpcbeg, kpcend)