Rocstar  1.0
Rocstar multiphysics simulation application
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
RFLO_ModStatsBoundaryConditions.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: Suite of randvoorwarden.
26 !
27 ! Description: None.
28 !
29 ! Notes: None.
30 !
31 ! ******************************************************************************
32 !
33 ! $Id: RFLO_ModStatsBoundaryConditions.F90,v 1.4 2008/12/06 08:44:17 mtcampbe Exp $
34 !
35 ! Copyright: (c) 2004 by the University of Illinois
36 !
37 ! ******************************************************************************
38 
40 
41  USE modglobal, ONLY: t_global
42  USE modparameters
43  USE moddatatypes
44  USE moderror
45  USE moddatastruct, ONLY: t_region
46  USE modbndpatch, ONLY : t_patch
47  USE modgrid, ONLY: t_grid
48  USE modmpi
49 
50  IMPLICIT NONE
51 
52  PRIVATE
53  PUBLIC :: rflo_statbcondcopy, &
57 
58 ! ******************************************************************************
59 ! Declarations and definitions
60 ! ******************************************************************************
61 
62  CHARACTER(CHRLEN) :: RCSIdentString = &
63  '$RCSfile: RFLO_ModStatsBoundaryConditions.F90,v $ $Revision: 1.4 $'
64 
65 ! ******************************************************************************
66 ! Routines
67 ! ******************************************************************************
68 
69  CONTAINS
70 
71 !******************************************************************************
72 !
73 ! Purpose: update dummy cells values by copying from adjacent interior cells.
74 !
75 ! Description: none.
76 !
77 ! Input: region = region dimensions, user input
78 ! patch = current patch
79 ! istbeg,istend = beginning and end statistics index being treated
80 ! tav = statistics variables in current region
81 !
82 ! Output: tav = statistics variables in dummy cells.
83 !
84 ! Notes: none.
85 !
86 !******************************************************************************
87 
88 SUBROUTINE rflo_statbcondcopy( region,patch,istbeg,istend,tav )
89 
92  IMPLICIT NONE
93 
94 #include "Indexing.h"
95 
96 ! ... parameters
97  TYPE(t_region) :: region
98  TYPE(t_patch) :: patch
99  INTEGER :: istbeg,istend
100  REAL(RFREAL), POINTER :: tav(:,:)
101 
102 ! ... loop variables
103  INTEGER :: idum, i, j, k, ist
104 
105 ! ... local variables
106  INTEGER :: ibeg, iend, jbeg, jend, kbeg, kend, idir, jdir, kdir
107  INTEGER :: ilev, icoff, ijcoff, lbound, ndumi, ndumj, ndumk
108  INTEGER :: ijkc, ijkd
109 
110 !******************************************************************************
111 
112  CALL registerfunction( region%global,'RFLO_StatBcondCopy',&
113  'RFLO_ModStatsBoundaryConditions.F90' )
114 
115 ! get dimensions and pointers
116 
117  ilev = region%currLevel
118  lbound = patch%lbound
119 
120  CALL rflo_getpatchindices( region,patch,ilev, &
121  ibeg,iend,jbeg,jend,kbeg,kend )
123  CALL rflo_getcelloffset( region,ilev,icoff,ijcoff )
124 
125  ndumi = region%nDumCells
126  ndumj = region%nDumCells
127  ndumk = region%nDumCells
128  IF (lbound==1 .OR. lbound==2) ndumi = 0
129  IF (lbound==3 .OR. lbound==4) ndumj = 0
130  IF (lbound==5 .OR. lbound==6) ndumk = 0
131 
132 ! loop over all cells of a patch
133 
134  DO idum=1,region%nDumCells
135  DO k=kbeg-ndumk,kend+ndumk
136  DO j=jbeg-ndumj,jend+ndumj
137  DO i=ibeg-ndumi,iend+ndumi
138  ijkd = indijk(i-idum*idir,j-idum*jdir,k-idum*kdir,icoff,ijcoff)
139  ijkc = indijk(i,j,k,icoff,ijcoff)
140 
141  DO ist=istbeg,istend
142  tav(ist,ijkd) = tav(ist,ijkc)
143  ENDDO
144 
145  ENDDO ! i
146  ENDDO ! j
147  ENDDO ! k
148  ENDDO ! idum
149 
150 ! finalize
151 
152  CALL deregisterfunction( region%global )
153 
154 END SUBROUTINE rflo_statbcondcopy
155 
156 !******************************************************************************
157 !
158 ! Purpose: update dummy cells values by negating adjacent interior cells.
159 !
160 ! Description: none.
161 !
162 ! Input: region = region dimensions, user input
163 ! patch = current patch
164 ! istbeg,istend = beginning and end statistics index being treated
165 ! tav = statistics variables in current region
166 !
167 ! Output: tav = statistics variables in dummy cells.
168 !
169 ! Notes: none.
170 !
171 !******************************************************************************
172 
173 SUBROUTINE rflo_statbcondnegate( region,patch,istbeg,istend,tav )
174 
177  IMPLICIT NONE
178 
179 #include "Indexing.h"
180 
181 ! ... parameters
182  TYPE(t_region) :: region
183  TYPE(t_patch) :: patch
184  INTEGER :: istbeg,istend
185  REAL(RFREAL), POINTER :: tav(:,:)
186 
187 ! ... loop variables
188  INTEGER :: idum, i, j, k, ist
189 
190 ! ... local variables
191  INTEGER :: ibeg, iend, jbeg, jend, kbeg, kend, idir, jdir, kdir
192  INTEGER :: ilev, icoff, ijcoff, lbound, ndumi, ndumj, ndumk
193  INTEGER :: ijkc, ijkd
194 
195 !******************************************************************************
196 
197  CALL registerfunction( region%global,'RFLO_StatBcondNegate',&
198  'RFLO_ModStatsBoundaryConditions.F90' )
199 
200 ! get dimensions and pointers
201 
202  ilev = region%currLevel
203  lbound = patch%lbound
204 
205  CALL rflo_getpatchindices( region,patch,ilev, &
206  ibeg,iend,jbeg,jend,kbeg,kend )
208  CALL rflo_getcelloffset( region,ilev,icoff,ijcoff )
209 
210  ndumi = region%nDumCells
211  ndumj = region%nDumCells
212  ndumk = region%nDumCells
213  IF (lbound==1 .OR. lbound==2) ndumi = 0
214  IF (lbound==3 .OR. lbound==4) ndumj = 0
215  IF (lbound==5 .OR. lbound==6) ndumk = 0
216 
217 ! loop over all cells of a patch
218 
219  DO idum=1,region%nDumCells
220  DO k=kbeg-ndumk,kend+ndumk
221  DO j=jbeg-ndumj,jend+ndumj
222  DO i=ibeg-ndumi,iend+ndumi
223  ijkd = indijk(i-idum*idir,j-idum*jdir,k-idum*kdir,icoff,ijcoff)
224  ijkc = indijk(i,j,k,icoff,ijcoff)
225 
226  DO ist=istbeg,istend
227  tav(ist,ijkd) = -tav(ist,ijkc)
228  ENDDO
229 
230  ENDDO ! i
231  ENDDO ! j
232  ENDDO ! k
233  ENDDO ! idum
234 
235 ! finalize
236 
237  CALL deregisterfunction( region%global )
238 
239 END SUBROUTINE rflo_statbcondnegate
240 
241 !******************************************************************************
242 !
243 ! Purpose: update dummy cells values by extrapolation.
244 !
245 ! Description: none.
246 !
247 ! Input: region = region dimensions, user input
248 ! patch = current patch
249 ! istbeg,istend = beginning and end statistics index being treated
250 ! tav = statistics variables in current region
251 !
252 ! Output: tav = statistics variables in dummy cells.
253 !
254 ! Notes: none.
255 !
256 !******************************************************************************
257 
258 SUBROUTINE rflo_statbcondextrap( region,patch,istbeg,istend,tav )
259 
262  IMPLICIT NONE
263 
264 #include "Indexing.h"
265 
266 ! ... parameters
267  TYPE(t_region) :: region
268  TYPE(t_patch) :: patch
269  INTEGER :: istbeg,istend
270  REAL(RFREAL), POINTER :: tav(:,:)
271 
272 ! ... loop variables
273  INTEGER :: idum, i, j, k, ist
274 
275 ! ... local variables
276  INTEGER :: ibeg, iend, jbeg, jend, kbeg, kend, idir, jdir, kdir
277  INTEGER :: ilev, icoff, ijcoff, lbound, ndumi, ndumj, ndumk
278  INTEGER :: ijkc, ijkc1, ijkd
279 
280 !******************************************************************************
281 
282  CALL registerfunction( region%global,'RFLO_StatBcondExtrap',&
283  'RFLO_ModStatsBoundaryConditions.F90' )
284 
285 ! get dimensions and pointers
286 
287  ilev = region%currLevel
288  lbound = patch%lbound
289 
290  CALL rflo_getpatchindices( region,patch,ilev, &
291  ibeg,iend,jbeg,jend,kbeg,kend )
293  CALL rflo_getcelloffset( region,ilev,icoff,ijcoff )
294 
295  ndumi = region%nDumCells
296  ndumj = region%nDumCells
297  ndumk = region%nDumCells
298  IF (lbound==1 .OR. lbound==2) ndumi = 0
299  IF (lbound==3 .OR. lbound==4) ndumj = 0
300  IF (lbound==5 .OR. lbound==6) ndumk = 0
301 
302 ! loop over all cells of a patch
303 
304  DO idum=1,region%nDumCells
305  DO k=kbeg-ndumk,kend+ndumk
306  DO j=jbeg-ndumj,jend+ndumj
307  DO i=ibeg-ndumi,iend+ndumi
308  ijkd = indijk(i-idum*idir,j-idum*jdir,k-idum*kdir,icoff,ijcoff)
309  ijkc = indijk(i-(idum-1)*idir,j-(idum-1)*jdir,k-(idum-1)*kdir,icoff,ijcoff)
310  ijkc1= indijk(i-(idum-2)*idir,j-(idum-2)*jdir,k-(idum-2)*kdir,icoff,ijcoff)
311 
312  DO ist=istbeg,istend
313  tav(ist,ijkd) = 2._rfreal*tav(ist,ijkc)-tav(ist,ijkc1)
314  ENDDO
315 
316  ENDDO ! i
317  ENDDO ! j
318  ENDDO ! k
319  ENDDO ! idum
320 
321 ! finalize
322 
323  CALL deregisterfunction( region%global )
324 
325 END SUBROUTINE rflo_statbcondextrap
326 
327 !******************************************************************************
328 !
329 ! Purpose: set boundary conditions
330 !
331 ! Description: none.
332 !
333 ! Input: regions = data of all regions
334 ! iReg = index of current region.
335 !
336 ! Output: regions(iReg)%levels%mixt%tav, turb%tav, plag%tav, peul%tav =
337 ! updated statistics of all physical modules if applicable in dummy
338 ! cells of current region.
339 !
340 ! Notes: none.
341 !
342 !******************************************************************************
343 
344 SUBROUTINE rflo_statboundaryconditionsset( regions )
345 
346  IMPLICIT NONE
347 
348 ! ... parameters
349  TYPE(t_region), POINTER :: regions(:)
350 
351 ! ... loop variables
352  INTEGER :: ireg, ipatch
353 
354 ! ... local variables
355  INTEGER :: ilev, npatches, bctype, istbeg, istend, lbound
356  REAL(RFREAL), POINTER :: tav(:,:)
357 
358  TYPE(t_patch), POINTER :: patch
359  TYPE(t_global), POINTER :: global
360 
361 !******************************************************************************
362 
363  global => regions(1)%global
364 
365  CALL registerfunction( global,'RFLO_StatBoundaryConditionsSet',&
366  'RFLO_ModStatsBoundaryConditions.F90' )
367 
368 ! start -----------------------------------------------------------------------
369 
370  IF (global%statBc==1) THEN
371 
372  DO ireg=1,global%nRegions
373  IF (regions(ireg)%procid==global%myProcid .AND. & ! region active and
374  regions(ireg)%active==active) THEN ! on my processor
375 
376 ! - get dimensions ------------------------------------------------------------
377 
378  ilev = regions(ireg)%currLevel
379  npatches = regions(ireg)%nPatches
380 
381 ! - loop over patches ---------------------------------------------------------
382 
383  DO ipatch=1,npatches
384 
385  patch => regions(ireg)%levels(ilev)%patches(ipatch)
386 
387  bctype = patch%bcType
388  lbound = patch%lbound
389 
390 ! --- copy dummy
391 
392  IF ((bctype>=bc_inflow .AND. bctype<=bc_inflow+bc_range) .OR. &
393  (bctype>=bc_outflow .AND. bctype<=bc_outflow+bc_range) .OR. &
394  (bctype>=bc_farfield .AND. bctype<=bc_farfield+bc_range) .OR. &
395  (bctype>=bc_symmetry .AND. bctype<=bc_symmetry+bc_range)) THEN
396 
397  IF (global%mixtNStat > 0) THEN
398  tav => regions(ireg)%levels(ilev)%mixt%tav
399  istbeg = 1
400  istend = global%mixtNStat
401  CALL rflo_statbcondcopy( regions(ireg),patch,istbeg,istend,tav )
402  ENDIF
403 #ifdef TURB
404  IF ((regions(ireg)%mixtInput%flowModel == flow_navst) .AND. &
405  (regions(ireg)%mixtInput%turbModel /= turb_model_none) .AND. &
406  (global%turbNStat > 0)) THEN
407  tav => regions(ireg)%levels(ilev)%turb%tav
408  istbeg = 1
409  istend = global%turbNStat
410  CALL rflo_statbcondcopy( regions(ireg),patch,istbeg,istend,tav )
411  ENDIF
412 #endif
413 #ifdef PLAG
414  IF ((global%plagUsed .EQV. .true.) .AND. &
415  (global%plagNStat > 0)) THEN
416  tav => regions(ireg)%levels(ilev)%plag%tav
417  istbeg = 1
418  istend = global%plagNStat
419  CALL rflo_statbcondcopy( regions(ireg),patch,istbeg,istend,tav )
420  ENDIF
421 #endif
422 #ifdef PEUL
423 ! IF ((global%peulUsed .EQV. .TRUE.) .AND. &
424 ! (global%peulNStat > 0)) THEN
425 ! tav => regions(iReg)%levels(iLev)%peul%tav
426 ! istbeg = 1
427 ! istend = global%peulNStat
428 ! CALL RFLO_StatBcondCopy( regions(iReg),patch,istbeg,istend,tav )
429 ! ENDIF
430 #endif
431 
432 ! --- slip wall
433 
434  ELSE IF (bctype>=bc_slipwall .AND. bctype<=bc_slipwall+bc_range) THEN
435 
436  IF (global%mixtNStat > 0) THEN
437  tav => regions(ireg)%levels(ilev)%mixt%tav
438  istbeg = 1
439  istend = global%mixtNStat
440  CALL rflo_statbcondextrap( regions(ireg),patch,istbeg,istend,tav )
441  IF (lbound==1 .OR. lbound==2) THEN
442  istbeg = 2 ! u
443  istend = 2
444  CALL rflo_statbcondnegate( regions(ireg),patch,istbeg,istend,tav )
445  istbeg = 7 ! uu
446  istend = 7
447  CALL rflo_statbcondnegate( regions(ireg),patch,istbeg,istend,tav )
448  istbeg = 10 ! uv
449  istend = 10
450  CALL rflo_statbcondnegate( regions(ireg),patch,istbeg,istend,tav )
451  ENDIF
452  ENDIF
453 #ifdef TURB
454  IF ((regions(ireg)%mixtInput%flowModel == flow_navst) .AND. &
455  (regions(ireg)%mixtInput%turbModel /= turb_model_none) .AND. &
456  (global%turbNStat > 0)) THEN
457  tav => regions(ireg)%levels(ilev)%turb%tav
458  istbeg = 1
459  istend = global%turbNStat
460  CALL rflo_statbcondextrap( regions(ireg),patch,istbeg,istend,tav )
461  ENDIF
462 #endif
463 #ifdef PLAG
464  IF ((global%plagUsed .EQV. .true.) .AND. &
465  (global%plagNStat > 0)) THEN
466  tav => regions(ireg)%levels(ilev)%plag%tav
467  istbeg = 1
468  istend = global%plagNStat
469  CALL rflo_statbcondextrap( regions(ireg),patch,istbeg,istend,tav )
470  IF (lbound==1 .OR. lbound==2) THEN
471  istbeg = 4 ! u
472  istend = 4
473  CALL rflo_statbcondnegate( regions(ireg),patch,istbeg,istend,tav )
474  istbeg = 10 ! uu
475  istend = 10
476  CALL rflo_statbcondnegate( regions(ireg),patch,istbeg,istend,tav )
477  ENDIF
478  ENDIF
479 #endif
480 #ifdef PEUL
481 ! IF ((global%peulUsed .EQV. .TRUE.) .AND. &
482 ! (global%peulNStat > 0)) THEN
483 ! tav => regions(iReg)%levels(iLev)%peul%tav
484 ! istbeg = 1
485 ! istend = global%peulNStat
486 ! CALL RFLO_StatBcondExtrap( regions(iReg),patch,istbeg,istend,tav )
487 ! ENDIF
488 #endif
489 
490 ! --- noslip wall
491 
492  ELSE IF (bctype>=bc_noslipwall .AND. bctype<=bc_noslipwall+bc_range) THEN
493 
494  IF (global%mixtNStat > 0) THEN
495  tav => regions(ireg)%levels(ilev)%mixt%tav
496  istbeg = 1
497  istend = global%mixtNStat
498  CALL rflo_statbcondextrap( regions(ireg),patch,istbeg,istend,tav )
499  istbeg = 2 ! u,v,w
500  istend = 4
501  CALL rflo_statbcondnegate( regions(ireg),patch,istbeg,istend,tav )
502  istbeg = 7 ! uu,vv,ww,uv
503  istend = 10
504  CALL rflo_statbcondnegate( regions(ireg),patch,istbeg,istend,tav )
505  ENDIF
506 #ifdef TURB
507  IF ((regions(ireg)%mixtInput%flowModel == flow_navst) .AND. &
508  (regions(ireg)%mixtInput%turbModel /= turb_model_none) .AND. &
509  (global%turbNStat > 0)) THEN
510  tav => regions(ireg)%levels(ilev)%turb%tav
511  istbeg = 1
512  istend = global%turbNStat
513  CALL rflo_statbcondnegate( regions(ireg),patch,istbeg,istend,tav )
514  ENDIF
515 #endif
516 #ifdef PLAG
517  IF ((global%plagUsed .EQV. .true.) .AND. &
518  (global%plagNStat > 0)) THEN
519  tav => regions(ireg)%levels(ilev)%plag%tav
520  istbeg = 1
521  istend = global%plagNStat
522  CALL rflo_statbcondextrap( regions(ireg),patch,istbeg,istend,tav )
523  istbeg = 4 ! u,v,w
524  istend = 6
525  CALL rflo_statbcondnegate( regions(ireg),patch,istbeg,istend,tav )
526  istbeg = 10 ! uu
527  istend = 10
528  CALL rflo_statbcondnegate( regions(ireg),patch,istbeg,istend,tav )
529  ENDIF
530 #endif
531 #ifdef PEUL
532 ! IF ((global%peulUsed .EQV. .TRUE.) .AND. &
533 ! (global%peulNStat > 0)) THEN
534 ! tav => regions(iReg)%levels(iLev)%peul%tav
535 ! istbeg = 1
536 ! istend = global%peulNStat
537 ! CALL RFLO_StatBcondExtrap( regions(iReg),patch,istbeg,istend,tav )
538 ! ENDIF
539 #endif
540 
541 ! --- injection
542 
543  ELSE IF (bctype>=bc_injection .AND. bctype<=bc_injection+bc_range) THEN
544 
545  IF (global%mixtNStat > 0) THEN
546  tav => regions(ireg)%levels(ilev)%mixt%tav
547  istbeg = 1
548  istend = global%mixtNStat
549  CALL rflo_statbcondextrap( regions(ireg),patch,istbeg,istend,tav )
550  IF (lbound==1 .OR. lbound==2) THEN
551  istbeg = 3 ! v,w
552  istend = 4
553  CALL rflo_statbcondnegate( regions(ireg),patch,istbeg,istend,tav )
554  istbeg = 8 ! vv,ww,uv
555  istend = 10
556  CALL rflo_statbcondnegate( regions(ireg),patch,istbeg,istend,tav )
557  ENDIF
558  IF (lbound/=1 .AND. lbound/=2) THEN
559  istbeg = 2 ! u
560  istend = 2
561  CALL rflo_statbcondnegate( regions(ireg),patch,istbeg,istend,tav )
562  istbeg = 7 ! uu
563  istend = 7
564  CALL rflo_statbcondnegate( regions(ireg),patch,istbeg,istend,tav )
565  istbeg = 10 ! uv
566  istend = 10
567  CALL rflo_statbcondnegate( regions(ireg),patch,istbeg,istend,tav )
568  ENDIF
569  ENDIF
570 #ifdef TURB
571  IF ((regions(ireg)%mixtInput%flowModel == flow_navst) .AND. &
572  (regions(ireg)%mixtInput%turbModel /= turb_model_none) .AND. &
573  (global%turbNStat > 0)) THEN
574  tav => regions(ireg)%levels(ilev)%turb%tav
575  istbeg = 1
576  istend = global%turbNStat
577  CALL rflo_statbcondextrap( regions(ireg),patch,istbeg,istend,tav )
578  ENDIF
579 #endif
580 #ifdef PLAG
581  IF ((global%plagUsed .EQV. .true.) .AND. &
582  (global%plagNStat > 0)) THEN
583  tav => regions(ireg)%levels(ilev)%plag%tav
584  istbeg = 1
585  istend = global%plagNStat
586  CALL rflo_statbcondextrap( regions(ireg),patch,istbeg,istend,tav )
587  IF (lbound==1 .OR. lbound==2) THEN
588  istbeg = 5 ! v,w
589  istend = 6
590  CALL rflo_statbcondnegate( regions(ireg),patch,istbeg,istend,tav )
591  ENDIF
592  IF (lbound/=1 .AND. lbound/=2) THEN
593  istbeg = 4 ! u
594  istend = 4
595  CALL rflo_statbcondnegate( regions(ireg),patch,istbeg,istend,tav )
596  istbeg = 10 ! uv
597  istend = 10
598  CALL rflo_statbcondnegate( regions(ireg),patch,istbeg,istend,tav )
599  ENDIF
600  ENDIF
601 #endif
602 #ifdef PEUL
603 ! IF ((global%peulUsed .EQV. .TRUE.) .AND. &
604 ! (global%peulNStat > 0)) THEN
605 ! tav => regions(iReg)%levels(iLev)%peul%tav
606 ! istbeg = 1
607 ! istend = global%peulNStat
608 ! CALL RFLO_StatBcondExtrap( regions(iReg),patch,istbeg,istend,tav )
609 ! ENDIF
610 #endif
611  ENDIF ! bcType
612 
613  ENDDO ! iPatch
614  ENDIF ! myProcid
615  ENDDO ! iReg
616 
617  ENDIF ! statBc
618 
619 ! finalize --------------------------------------------------------------------
620 
621  CALL deregisterfunction( global )
622 
623 END SUBROUTINE rflo_statboundaryconditionsset
624 
625 ! ******************************************************************************
626 ! End
627 ! ******************************************************************************
628 
630 
631 ! ******************************************************************************
632 !
633 ! RCS Revision history:
634 !
635 ! $Log: RFLO_ModStatsBoundaryConditions.F90,v $
636 ! Revision 1.4 2008/12/06 08:44:17 mtcampbe
637 ! Updated license.
638 !
639 ! Revision 1.3 2008/11/19 22:17:28 mtcampbe
640 ! Added Illinois Open Source License/Copyright
641 !
642 ! Revision 1.2 2005/06/16 22:43:11 wasistho
643 ! get rid of bc_unknown option
644 !
645 ! Revision 1.1 2005/05/21 01:41:54 wasistho
646 ! added RFLO_ModStatsBc
647 !
648 !
649 ! ******************************************************************************
650 
651 
652 
653 
654 
655 
656 
657 
658 
659 
**********************************************************************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)
j indices k indices k
Definition: Indexing.h:6
subroutine registerfunction(global, funName, fileName)
Definition: ModError.F90:449
subroutine rflo_getpatchindices(region, patch, iLev, ibeg, iend, jbeg, jend, kbeg, kend)
subroutine, public rflo_statbcondextrap(region, patch, istbeg, istend, tav)
subroutine, public rflo_statboundaryconditionsset(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 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
subroutine, public rflo_statbcondnegate(region, patch, istbeg, istend, tav)
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
**********************************************************************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, public rflo_statbcondcopy(region, patch, istbeg, istend, tav)