Rocstar  1.0
Rocstar multiphysics simulation application
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
RFLO_CentralFluxPatch.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: compute central convective fluxes through a patch
26 ! by using an average of variables.
27 !
28 ! Description: none.
29 !
30 ! Input: region = data of current region
31 ! patch = current patch.
32 !
33 ! Output: region%levels%mixt%rhs = convective fluxes added to the residual.
34 !
35 ! Notes: none.
36 !
37 !******************************************************************************
38 !
39 ! $Id: RFLO_CentralFluxPatch.F90,v 1.6 2008/12/06 08:44:26 mtcampbe Exp $
40 !
41 ! Copyright: (c) 2001 by the University of Illinois
42 !
43 !******************************************************************************
44 
45 SUBROUTINE rflo_centralfluxpatch( region,patch )
46 
47  USE moddatatypes
48  USE modbndpatch, ONLY : t_patch
49  USE moddatastruct, ONLY : t_region
52  USE moderror
53  USE modparameters
54  IMPLICIT NONE
55 
56 #include "Indexing.h"
57 
58 ! ... parameters
59  TYPE(t_region) :: region
60  TYPE(t_patch) :: patch
61 
62 ! ... loop variables
63  INTEGER :: i, j, k, n1, n2
64 
65 ! ... local variables
66  INTEGER :: ilev, lbound, bctype, distrib, flowmodel, gasmodel, indcp, indmol
67  INTEGER :: ibeg, iend, jbeg, jend, kbeg, kend, idir, jdir, kdir, i2d, noff
68  INTEGER :: icoff, ijcoff, inoff, ijnoff, ijkcd, ijkcb0, ijkcb1, ijknb
69  INTEGER :: inode, jnode, knode, indsvel, acid0, acid1, aerocoeff, j2d
70 
71  REAL(RFREAL) :: sgn, rhoa, rhoua, rhova, rhowa, rhoea, rhovrel(3)
72  REAL(RFREAL) :: pa, mrate, tburn, rgas, ds, sf(3)
73  REAL(RFREAL) :: uinj, vinj, winj, vcont, sv, ac0, ac1
74  REAL(RFREAL) :: pref, rref, vref, rcpref
75  REAL(RFREAL), POINTER :: cv(:,:), dv(:,:), gv(:,:), rhs(:,:)
76  REAL(RFREAL), POINTER :: avgco(:,:), sface(:,:), svel(:), vals(:,:)
77 
78 !******************************************************************************
79 
80  CALL registerfunction( region%global,'RFLO_CentralFluxPatch',&
81  'RFLO_CentralFluxPatch.F90' )
82 
83 ! get dimensions and pointers -------------------------------------------------
84 
85  ilev = region%currLevel
86  lbound = patch%lbound
87 
88  CALL rflo_getpatchindices( region,patch,ilev,ibeg,iend,jbeg,jend,kbeg,kend )
90  CALL rflo_getcelloffset( region,ilev,icoff,ijcoff )
91  CALL rflo_getnodeoffset( region,ilev,inoff,ijnoff )
92 
93  bctype = patch%bcType
94  noff = abs(patch%l1end-patch%l1beg) + 1
95  distrib = patch%mixt%distrib
96  flowmodel = region%mixtInput%flowModel
97  gasmodel = region%mixtInput%gasModel
98  indcp = region%levels(ilev)%mixt%indCp
99  indmol = region%levels(ilev)%mixt%indMol
100  indsvel = region%levels(ilev)%grid%indSvel
101 
102  cv => region%levels(ilev)%mixt%cv
103  dv => region%levels(ilev)%mixt%dv
104  gv => region%levels(ilev)%mixt%gv
105  rhs => region%levels(ilev)%mixt%rhs
106  vals => patch%mixt%vals
107 
108  aerocoeff = region%global%aeroCoeffs
109  pref = region%global%refPressure
110  rref = region%global%refDensity
111  vref = region%global%refVelocity
112 
113  rcpref = 2.0_rfreal/(rref*vref*vref)
114 
115 ! to take the right face vector and make it point outwards
116 
117  sgn = +1._rfreal
118  inode = 0
119  jnode = 0
120  knode = 0
121  acid0 = 2
122  acid1 = 1
123  IF (lbound==2 .OR. lbound==4 .OR. lbound==6) THEN
124  sgn = -1._rfreal
125  inode = -idir
126  jnode = -jdir
127  knode = -kdir
128  acid0 = 1
129  acid1 = 2
130  ENDIF
131 
132 ! get the appropriate face vector and grid speed
133 
134  IF (lbound==1 .OR. lbound==2) THEN
135  avgco => region%levels(ilev)%grid%c2fCoI
136  sface => region%levels(ilev)%grid%si
137  svel => region%levels(ilev)%grid%siVel
138  ELSE IF (lbound==3 .OR. lbound==4) THEN
139  avgco => region%levels(ilev)%grid%c2fCoJ
140  sface => region%levels(ilev)%grid%sj
141  svel => region%levels(ilev)%grid%sjVel
142  ELSE IF (lbound==5 .OR. lbound==6) THEN
143  avgco => region%levels(ilev)%grid%c2fCoK
144  sface => region%levels(ilev)%grid%sk
145  svel => region%levels(ilev)%grid%skVel
146  ENDIF
147 
148 ! stationary grid -------------------------------------------------------------
149 ! slip wall
150 
151  IF (bctype>=bc_slipwall .AND. bctype<=bc_slipwall+bc_range) THEN
152 
153  DO k=kbeg,kend
154  DO j=jbeg,jend
155  DO i=ibeg,iend
156  ijkcb0 = indijk(i ,j ,k ,icoff,ijcoff) ! boundary
157  ijkcb1 = indijk(i+idir ,j+jdir ,k+kdir ,icoff,ijcoff) ! interior
158  ijknb = indijk(i+inode,j+jnode,k+knode,inoff,ijnoff)
159  pa = 0.5_rfreal*(3._rfreal*dv(dv_mixt_pres,ijkcb0)- &
160  dv(dv_mixt_pres,ijkcb1))
161  sf(1) = sgn*sface(xcoord,ijknb)
162  sf(2) = sgn*sface(ycoord,ijknb)
163  sf(3) = sgn*sface(zcoord,ijknb)
164  sv = sgn*svel(ijknb*indsvel)
165 
166  rhs(cv_mixt_xmom,ijkcb0) = rhs(cv_mixt_xmom,ijkcb0) + pa*sf(1)
167  rhs(cv_mixt_ymom,ijkcb0) = rhs(cv_mixt_ymom,ijkcb0) + pa*sf(2)
168  rhs(cv_mixt_zmom,ijkcb0) = rhs(cv_mixt_zmom,ijkcb0) + pa*sf(3)
169  rhs(cv_mixt_ener,ijkcb0) = rhs(cv_mixt_ener,ijkcb0) + pa*sv
170 
171  IF (lbound==1 .OR. lbound==2) THEN
172  n1 = j - jbeg
173  n2 = k - kbeg
174  ELSE IF (lbound==3 .OR. lbound==4) THEN
175  n1 = k - kbeg
176  n2 = i - ibeg
177  ELSE IF (lbound==5 .OR. lbound==6) THEN
178  n1 = i - ibeg
179  n2 = j - jbeg
180  ENDIF
181  j2d = aerocoeff * indij(n1,n2,noff)
182  patch%cp(j2d) = rcpref*(pa - pref)
183 
184  ENDDO ! i
185  ENDDO ! j
186  ENDDO ! k
187 
188 ! noslip wall
189 
190  ELSE IF (bctype>=bc_noslipwall .AND. bctype<=bc_noslipwall+bc_range) THEN
191 
192  DO k=kbeg,kend
193  DO j=jbeg,jend
194  DO i=ibeg,iend
195  ijkcb0 = indijk(i ,j ,k ,icoff,ijcoff) ! boundary
196  ijknb = indijk(i+inode,j+jnode,k+knode,inoff,ijnoff)
197  pa = dv(dv_mixt_pres,ijkcb0)
198  sf(1) = sgn*sface(xcoord,ijknb)
199  sf(2) = sgn*sface(ycoord,ijknb)
200  sf(3) = sgn*sface(zcoord,ijknb)
201  sv = sgn*svel(ijknb*indsvel)
202 
203  rhs(cv_mixt_xmom,ijkcb0) = rhs(cv_mixt_xmom,ijkcb0) + pa*sf(1)
204  rhs(cv_mixt_ymom,ijkcb0) = rhs(cv_mixt_ymom,ijkcb0) + pa*sf(2)
205  rhs(cv_mixt_zmom,ijkcb0) = rhs(cv_mixt_zmom,ijkcb0) + pa*sf(3)
206  rhs(cv_mixt_ener,ijkcb0) = rhs(cv_mixt_ener,ijkcb0) + pa*sv
207 
208  IF (lbound==1 .OR. lbound==2) THEN
209  n1 = j - jbeg
210  n2 = k - kbeg
211  ELSE IF (lbound==3 .OR. lbound==4) THEN
212  n1 = k - kbeg
213  n2 = i - ibeg
214  ELSE IF (lbound==5 .OR. lbound==6) THEN
215  n1 = i - ibeg
216  n2 = j - jbeg
217  ENDIF
218  j2d = aerocoeff * indij(n1,n2,noff)
219  patch%cp(j2d) = rcpref*(pa - pref)
220 
221  ENDDO ! i
222  ENDDO ! j
223  ENDDO ! k
224 
225 ! symmetry boundary
226 
227  ELSE IF (bctype>=bc_symmetry .AND. bctype<=bc_symmetry+bc_range) THEN
228 
229  DO k=kbeg,kend
230  DO j=jbeg,jend
231  DO i=ibeg,iend
232  ijkcb0 = indijk(i ,j ,k ,icoff,ijcoff) ! boundary
233  ijkcd = indijk(i-idir ,j-jdir ,k-kdir ,icoff,ijcoff) ! dummy
234  ijknb = indijk(i+inode,j+jnode,k+knode,inoff,ijnoff)
235  pa = 0.5_rfreal*(dv(dv_mixt_pres,ijkcb0)+dv(dv_mixt_pres,ijkcd))
236  sf(1) = sgn*sface(xcoord,ijknb)
237  sf(2) = sgn*sface(ycoord,ijknb)
238  sf(3) = sgn*sface(zcoord,ijknb)
239  sv = sgn*svel(ijknb*indsvel)
240 
241  rhs(cv_mixt_xmom,ijkcb0) = rhs(cv_mixt_xmom,ijkcb0) + pa*sf(1)
242  rhs(cv_mixt_ymom,ijkcb0) = rhs(cv_mixt_ymom,ijkcb0) + pa*sf(2)
243  rhs(cv_mixt_zmom,ijkcb0) = rhs(cv_mixt_zmom,ijkcb0) + pa*sf(3)
244  rhs(cv_mixt_ener,ijkcb0) = rhs(cv_mixt_ener,ijkcb0) + pa*sv
245 
246  IF (lbound==1 .OR. lbound==2) THEN
247  n1 = j - jbeg
248  n2 = k - kbeg
249  ELSE IF (lbound==3 .OR. lbound==4) THEN
250  n1 = k - kbeg
251  n2 = i - ibeg
252  ELSE IF (lbound==5 .OR. lbound==6) THEN
253  n1 = i - ibeg
254  n2 = j - jbeg
255  ENDIF
256  j2d = aerocoeff * indij(n1,n2,noff)
257  patch%cp(j2d) = rcpref*(pa - pref)
258 
259  ENDDO ! i
260  ENDDO ! j
261  ENDDO ! k
262 
263 ! injection boundary (as wall if mass flow rate <= 0)
264 
265  ELSE IF (bctype>=bc_injection .AND. bctype<=bc_injection+bc_range) THEN
266 
267  DO k=kbeg,kend
268  DO j=jbeg,jend
269  DO i=ibeg,iend
270  ijkcb0 = indijk(i ,j ,k ,icoff,ijcoff) ! boundary
271  ijkcb1 = indijk(i+idir ,j+jdir ,k+kdir ,icoff,ijcoff) ! interior
272  ijknb = indijk(i+inode,j+jnode,k+knode,inoff,ijnoff)
273  sf(1) = sgn*sface(xcoord,ijknb)
274  sf(2) = sgn*sface(ycoord,ijknb)
275  sf(3) = sgn*sface(zcoord,ijknb)
276  sv = sgn*svel(ijknb*indsvel)
277 
278  IF (lbound==1 .OR. lbound==2) THEN
279  n1 = j - jbeg
280  n2 = k - kbeg
281  ELSE IF (lbound==3 .OR. lbound==4) THEN
282  n1 = k - kbeg
283  n2 = i - ibeg
284  ELSE IF (lbound==5 .OR. lbound==6) THEN
285  n1 = i - ibeg
286  n2 = j - jbeg
287  ENDIF
288  i2d = distrib * indij(n1,n2,noff)
289  mrate = vals(bcdat_inject_mfrate,i2d)
290  tburn = vals(bcdat_inject_temp ,i2d)
291  rhovrel(1) = vals(bcdat_inject_rfvfu ,i2d)
292  rhovrel(2) = vals(bcdat_inject_rfvfv ,i2d)
293  rhovrel(3) = vals(bcdat_inject_rfvfw ,i2d)
294 
295  IF (mrate > 0._rfreal) THEN ! surface burning
296  ds = sqrt(sf(1)*sf(1)+sf(2)*sf(2)+sf(3)*sf(3))
297  IF (gasmodel == gas_model_tcperf) THEN
298  CALL bcondinjectionperf( distrib,mrate,tburn,rhovrel, &
299  sf(1)/ds,sf(2)/ds,sf(3)/ds, &
300  gv(gv_mixt_cp ,ijkcb0*indcp ), &
301  gv(gv_mixt_mol ,ijkcb0*indmol), &
302  dv(dv_mixt_pres,ijkcb0 ), &
303  rhoa,rhoua,rhova,rhowa,rhoea,pa, &
304  uinj,vinj,winj )
305  ELSE
306  CALL errorstop( region%global,err_unknown_bc,__line__ )
307  ENDIF
308  vcont = uinj*sf(1) + vinj*sf(2) + winj*sf(3)
309 
310  ELSE ! not burning - slip/noslip wall
311  rhoa = 0._rfreal
312  rhoua = 0._rfreal
313  rhova = 0._rfreal
314  rhowa = 0._rfreal
315  rhoea = 0._rfreal
316  vcont = 0._rfreal
317  IF (flowmodel == flow_euler) THEN
318  pa = 0.5_rfreal*(3._rfreal*dv(dv_mixt_pres,ijkcb0)- &
319  dv(dv_mixt_pres,ijkcb1))
320  ELSE
321  pa = dv(dv_mixt_pres,ijkcb0)
322  ENDIF
323  ENDIF
324 
325  rhs(cv_mixt_dens,ijkcb0) = rhs(cv_mixt_dens,ijkcb0) + vcont*rhoa
326  rhs(cv_mixt_xmom,ijkcb0) = rhs(cv_mixt_xmom,ijkcb0) + vcont*rhoua + &
327  pa*sf(1)
328  rhs(cv_mixt_ymom,ijkcb0) = rhs(cv_mixt_ymom,ijkcb0) + vcont*rhova + &
329  pa*sf(2)
330  rhs(cv_mixt_zmom,ijkcb0) = rhs(cv_mixt_zmom,ijkcb0) + vcont*rhowa + &
331  pa*sf(3)
332  rhs(cv_mixt_ener,ijkcb0) = rhs(cv_mixt_ener,ijkcb0) + &
333  vcont*(rhoea+pa) + pa*sv
334 
335  j2d = aerocoeff * indij(n1,n2,noff)
336  patch%cp(j2d) = rcpref*(pa - pref)
337 
338  ENDDO ! i
339  ENDDO ! j
340  ENDDO ! k
341 
342 ! non-conforming region interface
343 
344  ELSE IF (bctype>=bc_regionint .AND. bctype<=bc_regionint +bc_range) THEN
345 
346  ELSE IF (bctype>=bc_regnonconf .AND. bctype<=bc_regnonconf+bc_range) THEN
347 
348 ! everything else
349 
350  ELSE
351 
352  DO k=kbeg,kend
353  DO j=jbeg,jend
354  DO i=ibeg,iend
355  ijkcb0 = indijk(i ,j ,k ,icoff,ijcoff) ! boundary
356  ijkcd = indijk(i-idir ,j-jdir ,k-kdir ,icoff,ijcoff) ! dummy
357  ijknb = indijk(i+inode,j+jnode,k+knode,inoff,ijnoff)
358  ac0 = avgco(acid0,ijknb)
359  ac1 = avgco(acid1,ijknb)
360 
361  rhoa = ac0*cv(cv_mixt_dens,ijkcb0)+ac1*cv(cv_mixt_dens,ijkcd)
362  rhoua = ac0*cv(cv_mixt_xmom,ijkcb0)+ac1*cv(cv_mixt_xmom,ijkcd)
363  rhova = ac0*cv(cv_mixt_ymom,ijkcb0)+ac1*cv(cv_mixt_ymom,ijkcd)
364  rhowa = ac0*cv(cv_mixt_zmom,ijkcb0)+ac1*cv(cv_mixt_zmom,ijkcd)
365  rhoea = ac0*cv(cv_mixt_ener,ijkcb0)+ac1*cv(cv_mixt_ener,ijkcd)
366  pa = ac0*dv(dv_mixt_pres,ijkcb0)+ac1*dv(dv_mixt_pres,ijkcd)
367  sf(1) = sgn*sface(xcoord,ijknb)
368  sf(2) = sgn*sface(ycoord,ijknb)
369  sf(3) = sgn*sface(zcoord,ijknb)
370  sv = sgn*svel(ijknb*indsvel)
371  vcont = (rhoua*sf(1)+rhova*sf(2)+rhowa*sf(3))/rhoa - sv
372 
373  rhs(cv_mixt_dens,ijkcb0) = rhs(cv_mixt_dens,ijkcb0) + vcont*rhoa
374  rhs(cv_mixt_xmom,ijkcb0) = rhs(cv_mixt_xmom,ijkcb0) + &
375  vcont*rhoua + pa*sf(1)
376  rhs(cv_mixt_ymom,ijkcb0) = rhs(cv_mixt_ymom,ijkcb0) + &
377  vcont*rhova + pa*sf(2)
378  rhs(cv_mixt_zmom,ijkcb0) = rhs(cv_mixt_zmom,ijkcb0) + &
379  vcont*rhowa + pa*sf(3)
380  rhs(cv_mixt_ener,ijkcb0) = rhs(cv_mixt_ener,ijkcb0) + &
381  vcont*(rhoea+pa) + sv*pa
382 
383  IF (lbound==1 .OR. lbound==2) THEN
384  n1 = j - jbeg
385  n2 = k - kbeg
386  ELSE IF (lbound==3 .OR. lbound==4) THEN
387  n1 = k - kbeg
388  n2 = i - ibeg
389  ELSE IF (lbound==5 .OR. lbound==6) THEN
390  n1 = i - ibeg
391  n2 = j - jbeg
392  ENDIF
393  j2d = aerocoeff * indij(n1,n2,noff)
394  patch%cp(j2d) = rcpref*(pa - pref)
395 
396  ENDDO ! i
397  ENDDO ! j
398  ENDDO ! k
399 
400  ENDIF ! bcType
401 
402 ! finalize --------------------------------------------------------------------
403 
404  CALL deregisterfunction( region%global )
405 
406 END SUBROUTINE rflo_centralfluxpatch
407 
408 !******************************************************************************
409 !
410 ! RCS Revision history:
411 !
412 ! $Log: RFLO_CentralFluxPatch.F90,v $
413 ! Revision 1.6 2008/12/06 08:44:26 mtcampbe
414 ! Updated license.
415 !
416 ! Revision 1.5 2008/11/19 22:17:37 mtcampbe
417 ! Added Illinois Open Source License/Copyright
418 !
419 ! Revision 1.4 2006/08/19 15:39:28 mparmar
420 ! Renamed patch variables
421 !
422 ! Revision 1.3 2006/03/13 03:41:29 wasistho
423 ! defined aero coeffs
424 !
425 ! Revision 1.2 2005/10/31 21:09:36 haselbac
426 ! Changed specModel and SPEC_MODEL_NONE
427 !
428 ! Revision 1.1 2004/11/29 20:51:38 wasistho
429 ! lower to upper case
430 !
431 ! Revision 1.25 2004/08/02 21:56:27 wasistho
432 ! replaced cell2face midpoint by linear averaging
433 !
434 ! Revision 1.24 2003/11/20 16:40:39 mdbrandy
435 ! Backing out RocfluidMP changes from 11-17-03
436 !
437 ! Revision 1.20 2003/10/01 23:52:10 jblazek
438 ! Corrected bug in moving noslip wall BC and grid speeds.
439 !
440 ! Revision 1.19 2003/05/29 17:28:43 jblazek
441 ! Implemented Roe scheme.
442 !
443 ! Revision 1.18 2003/05/15 02:57:03 jblazek
444 ! Inlined index function.
445 !
446 ! Revision 1.17 2003/04/09 15:07:01 jferry
447 ! removed temporary rocsmoke storage structures
448 !
449 ! Revision 1.16 2003/02/11 22:53:19 jferry
450 ! Initial import of Rocsmoke
451 !
452 ! Revision 1.15 2002/12/06 23:06:08 jblazek
453 ! Grid speeds added only at free boundaries.
454 !
455 ! Revision 1.14 2002/10/03 22:00:30 jblazek
456 ! Removed grid speeds from fluxes at burning boundaries.
457 !
458 ! Revision 1.13 2002/10/03 21:25:39 jblazek
459 ! Changed init. of burnig boundaries for GenX.
460 !
461 ! Revision 1.12 2002/09/27 00:29:04 jblazek
462 ! Changed injection BC for moving boundaries.
463 !
464 ! Revision 1.11 2002/09/05 17:40:21 jblazek
465 ! Variable global moved into regions().
466 !
467 ! Revision 1.10 2002/08/30 18:25:55 jblazek
468 ! Forgot to multiply grid speeds by face area ...
469 !
470 ! Revision 1.9 2002/08/29 23:25:54 jblazek
471 ! Added support for moving grids.
472 !
473 ! Revision 1.8 2002/06/22 01:13:38 jblazek
474 ! Modified interfaces to BC routines.
475 !
476 ! Revision 1.7 2002/02/21 23:25:06 jblazek
477 ! Blocks renamed as regions.
478 !
479 ! Revision 1.6 2002/02/16 07:16:00 jblazek
480 ! Added implicit residual smoothing.
481 !
482 ! Revision 1.5 2002/02/09 01:47:01 jblazek
483 ! Added multi-probe option, residual smoothing, physical time step.
484 !
485 ! Revision 1.4 2002/02/06 00:15:39 jblazek
486 ! Improved injection BC. Added pointers to gradients.
487 !
488 ! Revision 1.3 2002/02/04 15:30:25 jblazek
489 ! Added injection boundary condition.
490 !
491 ! Revision 1.2 2002/02/01 22:17:38 jblazek
492 ! Change addressing of face vectors at block boundaries.
493 !
494 ! Revision 1.1 2002/01/28 23:55:22 jblazek
495 ! Added flux computation (central scheme).
496 !
497 !******************************************************************************
498 
499 
500 
501 
502 
503 
504 
**********************************************************************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 rflo_getpatchdirection(patch, idir, jdir, kdir)
subroutine bcondinjectionperf(distrib, minj, tinj, rhoVrel, sxn, syn, szn, cpgas, mm, p, rhob, rhoub, rhovb, rhowb, rhoeb, pb, uinj, vinj, winj)
**********************************************************************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 inode
j indices k indices k
Definition: Indexing.h:6
NT rhs
subroutine registerfunction(global, funName, fileName)
Definition: ModError.F90:449
subroutine rflo_getpatchindices(region, patch, iLev, ibeg, iend, jbeg, jend, kbeg, kend)
double sqrt(double d)
Definition: double.h:73
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 jdir
Definition: patch.h:74
**********************************************************************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
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 idir
subroutine rflo_getcelloffset(region, iLev, iCellOffset, ijCellOffset)
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 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 kdir
subroutine errorstop(global, errorCode, errorLine, addMessage)
Definition: ModError.F90:483
**********************************************************************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)
Definition: ModError.F90:469
subroutine rflo_centralfluxpatch(region, patch)
**********************************************************************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 jnode