Rocstar  1.0
Rocstar multiphysics simulation application
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
RFLO_ReadTbcSection.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 user input related to time-dependent boundary conditions.
26 !
27 ! Description: none.
28 !
29 ! Input: type of TBC boundary condtion
30 !
31 ! Output: regions will be updated with TBC data
32 !
33 ! Notes:
34 !
35 ! Sample input sections for TBCs are given in the files updateTbc*.F90
36 !
37 !******************************************************************************
38 !
39 ! $Id: RFLO_ReadTbcSection.F90,v 1.6 2008/12/06 08:44:07 mtcampbe Exp $
40 !
41 ! Copyright: (c) 2001 by the University of Illinois
42 !
43 !******************************************************************************
44 
45 SUBROUTINE rflo_readtbcsection( regions,tbcType )
46 
47  USE moddatatypes
48  USE modbndpatch
49  USE moddatastruct, ONLY : t_region
50  USE modglobal, ONLY : t_global
51  USE moderror
52  USE modparameters
53 #ifdef PEUL
55 #endif
57  IMPLICIT NONE
58 
59 #include "Indexing.h"
60 
61 ! ... parameters
62  TYPE(t_region), POINTER :: regions(:)
63  INTEGER, INTENT(IN) :: tbctype
64 
65 ! ... loop variables
66  INTEGER :: ireg, ipatch, n
67 
68 ! ... local variables
69  INTEGER, PARAMETER :: nvals_max = 10
70 
71  CHARACTER(10) :: keys(nvals_max), bcvar, pwisestr
72  CHARACTER(32) :: bctitle
73  CHARACTER(256) :: fname, line
74 
75  INTEGER :: nvals, brbeg, brend, prbeg, prend, distrib
76  INTEGER :: n1, n2, ioff, ijbeg, ijend, errorflag
77  INTEGER :: ftype, bccode, var, nswitches, nparams, nsvals, nbvals, ndata
78  INTEGER :: switches(nvals_max), njumps
79 
80  LOGICAL :: defined(nvals_max)
81 
82  REAL(RFREAL) :: vals(nvals_max)
83  REAL(RFREAL), ALLOCATABLE :: holdvals(:), morevals(:)
84 
85  TYPE(t_patch), POINTER :: patch
86  TYPE(t_bcvalues), POINTER :: bc
87  TYPE(t_tbcvalues), POINTER :: tbc
88  TYPE(t_global), POINTER :: global
89 
90 !******************************************************************************
91 
92  global => regions(1)%global
93 
94  CALL registerfunction( global,'RFLO_ReadTbcSection',&
95  'RFLO_ReadTbcSection.F90' )
96 
97  IF (global%flowType == flow_steady) &
98  CALL errorstop( global,err_steady,__line__ )
99 
100 ! read BC type and variable name ----------------------------------------------
101 
102  DO ! find first non-blank line of section
103  READ(if_input,'(A256)',err=10,end=10) line
104  IF (len_trim(line) > 0) EXIT
105  ENDDO
106 
107  READ(line,*) bctitle, bcvar
108 
109 ! find the integers describing module type and variable name
110 
111  bccode = -1
112  ftype = -1
113 
114  SELECT CASE(trim(bctitle))
115 
116 ! *** Mixture BCs *** : ftype = FTYPE_MIXT
117 
118  CASE ('SLIPW')
119  ftype = ftype_mixt
120  bccode = bc_slipwall
121  CALL errorstop( global,err_bc_varname,__line__,'SLIPW' )
122 
123  CASE ('NOSLIP')
124  ftype = ftype_mixt
125  bccode = bc_noslipwall
126 
127  SELECT CASE(trim(bcvar))
128  CASE ('TWALL')
129  var = bcdat_noslip_twall
130  CASE default
131  CALL errorstop( global,err_bc_varname,__line__,'NOSLIP' )
132  END SELECT
133 
134  CASE ('INFLOW_TOTANG')
135  ftype = ftype_mixt
136  bccode = bc_inflow
137 
138  SELECT CASE(trim(bcvar))
139  CASE ('PTOT')
140  var = bcdat_inflow_ptot
141  CASE ('TTOT')
142  var = bcdat_inflow_ttot
143  CASE ('BETAH')
144  var = bcdat_inflow_betah
145  CASE ('BETAV')
146  var = bcdat_inflow_betav
147  CASE ('MACH')
148  var = bcdat_inflow_mach
149  CASE default
150  CALL errorstop( global,err_bc_varname,__line__,'INFLOW' )
151  END SELECT
152 
153  CASE ('INFLOW_VELTEMP')
154  ftype = ftype_mixt
155  bccode = bc_inflow
156 
157  SELECT CASE(trim(bcvar))
158  CASE ('VELX')
159  var = bcdat_inflow_u
160  CASE ('VELY')
161  var = bcdat_inflow_v
162  CASE ('VELZ')
163  var = bcdat_inflow_w
164  CASE ('TEMP')
165  var = bcdat_inflow_t
166  CASE ('PRESS')
167  var = bcdat_inflow_p
168  CASE default
169  CALL errorstop( global,err_bc_varname,__line__,'INFLOW_VELTEMP' )
170  END SELECT
171 
172  CASE ('INFLOW_VELPRESS')
173  ftype = ftype_mixt
174  bccode = bc_inflow
175 
176  SELECT CASE(trim(bcvar))
177  CASE ('VELX')
178  var = bcdat_inflow_u
179  CASE ('VELY')
180  var = bcdat_inflow_v
181  CASE ('VELZ')
182  var = bcdat_inflow_w
183  CASE ('TEMP')
184  var = bcdat_inflow_t
185  CASE ('PRESS')
186  var = bcdat_inflow_p
187  CASE default
188  CALL errorstop( global,err_bc_varname,__line__,'INFLOW_VELPRESS' )
189  END SELECT
190 
191  CASE ('OUTFLOW')
192  ftype = ftype_mixt
193  bccode = bc_outflow
194 
195  SELECT CASE(trim(bcvar))
196  CASE ('PRESS')
197  var = bcdat_outflow_press
198  CASE default
199  CALL errorstop( global,err_bc_varname,__line__,'OUTFLOW' )
200  END SELECT
201 
202  CASE ('FARF')
203  ftype = ftype_mixt
204  bccode = bc_farfield
205 
206  SELECT CASE(trim(bcvar))
207  CASE ('MACH')
208  var = bcdat_farf_mach
209  CASE ('ATTACK')
210  var = bcdat_farf_attack
211  CASE ('SLIP')
212  var = bcdat_farf_slip
213  CASE ('PRESS')
214  var = bcdat_farf_press
215  CASE ('TEMP')
216  var = bcdat_farf_temp
217  CASE default
218  CALL errorstop( global,err_bc_varname,__line__,'FARF' )
219  END SELECT
220 
221  CASE ('INJECT')
222  ftype = ftype_mixt
223  bccode = bc_injection
224 
225  SELECT CASE(trim(bcvar))
226  CASE ('MFRATE')
227  var = bcdat_inject_mfrate
228  CASE ('TEMP')
229  var = bcdat_inject_temp
230  CASE ('RFVFU')
231  var = bcdat_inject_rfvfu
232  CASE ('RFVFV')
233  var = bcdat_inject_rfvfv
234  CASE ('RFVFW')
235  var = bcdat_inject_rfvfw
236  CASE default
237  CALL errorstop( global,err_bc_varname,__line__,'INJECT' )
238  END SELECT
239 
240 ! *** Turbulence BCs *** : ftype = FTYPE_TURB
241 ! *** Species BCs *** : ftype = FTYPE_SPEC
242 
243 ! *** Eulerian Particle BCs *** : ftype = FTYPE_PEUL
244 
245 #ifdef PEUL
246  CASE ('PEUL_INFLOW')
247  ftype = ftype_peul
248  bccode = bc_inflow
249 
250  IF (bcvar(1:4) == 'DENS') THEN
251  IF (len_trim(bcvar) == 4) THEN
252  WRITE(*,*) '### WARNING: Improper specification in PEUL_INFLOW TBC'
253  WRITE(*,*) ' assuming DENS to mean DENS1'
254  var = 1
255  ELSE
256  READ(bcvar(5:),*) var
257  END IF
258  ELSE
259  CALL errorstop( global,err_bc_varname,__line__,'PEUL_INFLOW' )
260  END IF
261 
262  CASE ('PEUL_FARF')
263  ftype = ftype_peul
264  bccode = bc_farfield
265 
266  IF (bcvar(1:4) == 'DENS') THEN
267  IF (len_trim(bcvar) == 4) THEN
268  WRITE(*,*) '### WARNING: Improper specification in PEUL_FARF TBC'
269  WRITE(*,*) ' assuming DENS to mean DENS1'
270  var = 1
271  ELSE
272  READ(bcvar(5:),*) var
273  END IF
274  ELSE
275  CALL errorstop( global,err_bc_varname,__line__,'PEUL_FARF' )
276  END IF
277 
278  CASE ('PEUL_INJECT')
279  ftype = ftype_peul
280  bccode = bc_injection
281 
282  IF (bcvar(1:4) == 'FRAC') THEN
283  IF (len_trim(bcvar) == 4) THEN
284  WRITE(*,*) '### WARNING: Improper specification in PEUL_INJECT TBC'
285  WRITE(*,*) ' assuming FRAC to mean FRAC1'
286  var = 1
287  ELSE
288  READ(bcvar(5:),*) var
289  END IF
290  ELSE
291  CALL errorstop( global,err_bc_varname,__line__,'PEUL_INJECT' )
292  END IF
293 #endif
294 
295 ! *** Radiation BCs *** : ftype = FTYPE_RADI
296 
297  CASE default
298  CALL errorstop( global,err_unknown_bc,__line__ )
299 
300  END SELECT
301 
302 ! specify keywords and search for them ----------------------------------------
303 
304  keys(tbcdat_ontime) = 'ONTIME'
305  keys(tbcdat_offtime) = 'OFFTIME'
306  keys(tbcdat_amp) = 'AMP'
307 
308  SELECT CASE ( tbctype )
309 
310  CASE ( tbc_sinusoidal )
311  keys(tbcdat_freq) = 'FREQ'
312  keys(tbcdat_phase) = 'PHASE'
313  nvals = 5
314 
315  CASE ( tbc_stochastic )
316  keys(tbcdat_timecor) = 'TIMECOR'
317  keys(tbcdat_shape) = 'SHAPE'
318  keys(tbcdat_mincut) = 'MINCUT'
319  keys(tbcdat_maxcut) = 'MAXCUT'
320  nvals = 7
321 
322  CASE ( tbc_whitenoise )
323  keys(4) = 'SUBSTEP' ! becomes a switch
324  nvals = 4
325 
326  CASE ( tbc_piecewise )
327  keys(3) = 'ORDER' ! becomes a switch (overwrites 'AMP')
328  keys(4) = 'NJUMPS' ! becomes a switch
329  nvals = 4
330 
331  CASE default
332  CALL errorstop( global,err_reached_default,__line__ )
333 
334  END SELECT ! tbcType
335 
336  CALL readpatchsection( global,if_input,nvals,keys,vals,brbeg,brend, &
337  prbeg,prend,distrib,fname,defined )
338 
339  IF (.NOT. defined(tbcdat_ontime)) vals(tbcdat_ontime) = -1.e20_rfreal
340  IF (vals(tbcdat_ontime) < 0.0_rfreal) vals(tbcdat_ontime) = -1.e20_rfreal
341 
342  IF (.NOT. defined(tbcdat_offtime)) vals(tbcdat_offtime) = 1.e20_rfreal
343  IF (vals(tbcdat_offtime) < 0.0_rfreal) vals(tbcdat_offtime) = 1.e20_rfreal
344 
345  IF (tbctype /= tbc_piecewise) THEN
346  IF (.NOT. defined(tbcdat_amp)) &
347  CALL errorstop( global,err_bcval_missing,__line__ )
348 
349  IF (vals(tbcdat_amp) <= 0.0_rfreal) &
350  CALL errorstop( global,err_val_bcval,__line__ )
351  ENDIF ! tbcType
352 
353 ! set values of vals and switches ---------------------------------------------
354 
355  SELECT CASE ( tbctype )
356 
357  CASE ( tbc_sinusoidal )
358 
359  nswitches = 0
360  nparams = 5
361  nsvals = 1
362  nbvals = 0
363 
364  IF (.NOT. defined(tbcdat_freq)) &
365  CALL errorstop( global,err_bcval_missing,__line__ )
366 
367  IF (.NOT. defined(tbcdat_phase)) vals(tbcdat_phase) = 0.0_rfreal
368  vals(tbcdat_phase) = vals(tbcdat_phase)*global%rad
369 
370  CASE ( tbc_stochastic )
371 
372  nswitches = 0
373  nparams = 7
374  nsvals = 0
375  nbvals = 3
376 
377  IF (.NOT. defined(tbcdat_timecor)) &
378  CALL errorstop( global,err_bcval_missing,__line__ )
379 
380  IF (vals(tbcdat_timecor) <= 0.0_rfreal) &
381  CALL errorstop( global,err_val_bcval,__line__ )
382 
383  IF (.NOT. defined(tbcdat_shape)) vals(tbcdat_shape) = 1.0_rfreal
384 
385  IF (vals(tbcdat_shape) < 0.1_rfreal .OR. vals(tbcdat_shape) > 10.0_rfreal) &
386  CALL errorstop( global,err_val_bcval,__line__ )
387 
388  IF (.NOT. defined(tbcdat_mincut)) vals(tbcdat_mincut) = -1.0_rfreal
389  IF (.NOT. defined(tbcdat_maxcut)) vals(tbcdat_maxcut) = -1.0_rfreal
390 
391  CASE ( tbc_whitenoise )
392 
393  nswitches = 1
394  nparams = 3
395  nsvals = 0
396  nbvals = 1
397 
398  IF (.NOT. defined(4)) switches(tbcswi_substep) = tbcopt_step
399  IF (vals(4) < 0.1_rfreal) THEN
400  switches(tbcswi_substep) = tbcopt_step
401  ELSE
402  switches(tbcswi_substep) = tbcopt_substep
403  ENDIF
404 
405  CASE ( tbc_piecewise )
406 
407  nswitches = 2
408  nsvals = 1
409  nbvals = 0
410 
411  IF (.NOT. defined(3)) switches(tbcswi_order) = tbcopt_constant
412  IF (vals(3) < 0.1_rfreal) THEN
413  switches(tbcswi_order) = tbcopt_constant
414  ELSE
415  switches(tbcswi_order) = tbcopt_linear
416  ENDIF
417 
418  IF (.NOT. defined(4)) &
419  CALL errorstop( global,err_bcval_missing,__line__ )
420  njumps = nint(vals(4))
421  switches(tbcswi_njumps) = njumps
422  IF (njumps < 1 .OR. njumps > 1000000) &
423  CALL errorstop( global,err_val_bcval,__line__ )
424 
425  SELECT CASE (switches(tbcswi_order))
426  CASE (tbcopt_constant)
427  nparams = tbcdat_dat0 + 2*njumps+1
428  CASE (tbcopt_linear)
429  nparams = tbcdat_dat0 + 2*njumps
430  END SELECT ! switches(TBCSWI_ORDER)
431 
432  ALLOCATE( morevals(nparams),stat=errorflag )
433  global%error = errorflag
434  IF (global%error /= 0) CALL errorstop( global,err_allocate,__line__ )
435 
436  morevals(1:tbcdat_dat0) = vals(1:tbcdat_dat0)
437  DO n=tbcdat_dat0+1,nparams
438  DO ! find first non-blank line
439  READ(if_input,'(A256)',err=10,end=10) line
440  IF (len_trim(line) > 0) EXIT
441  ENDDO
442  IF (line(1:1) == '#') goto 10
443 
444  READ(line,*) pwisestr, morevals(n)
445  ENDDO ! n
446 
447 ! - check that the times entered are increasing
448 
449  DO n=tbcdat_dat0+4,nparams,2
450  IF (morevals(n) .le. morevals(n-2)) &
451  CALL errorstop( global,err_val_bcval,__line__ )
452  ENDDO ! n
453 
454  DO ! find end of section
455  READ(if_input,'(A256)',err=10,end=10) line
456  IF (line(1:1) == '#') EXIT
457  ENDDO
458 
459  CASE default
460  CALL errorstop( global,err_reached_default,__line__ )
461 
462  END SELECT
463 
464 ! copy values to variables -----------------------------------------------------
465 
466  DO ireg=brbeg,brend
467  DO ipatch=prbeg,min(prend,regions(ireg)%nPatches)
468 
469  patch => regions(ireg)%levels(1)%patches(ipatch)
470 
471  IF ((patch%bcType>=bccode .AND. &
472  patch%bcType<=bccode+bc_range) .AND. & ! my boundary type,
473  regions(ireg)%procid==global%myProcid .AND. & ! region active and
474  regions(ireg)%active==active) THEN ! on my processor
475 
476  n1 = abs(patch%l1end-patch%l1beg)
477  n2 = abs(patch%l2end-patch%l2beg)
478  ioff = n1 + 1
479  ijbeg = indij( 0, 0,ioff)
480  ijend = indij(n1,n2,ioff)
481 
482  SELECT CASE (ftype)
483 
484  CASE (ftype_mixt)
485  bc => patch%mixt
486  CASE (ftype_turb)
487  bc => patch%turb
488  CASE (ftype_peul)
489  bc => patch%peul
490  CASE (ftype_spec)
491  bc => patch%spec
492  CASE (ftype_radi)
493  bc => patch%valRadi
494  CASE default
495  CALL errorstop( global,err_reached_default,__line__ )
496 
497  END SELECT
498 
499  ndata = bc%nData
500  tbc => bc%tbcs(var)
501 
502  IF (.NOT. bc%bcSet) &
503  CALL errorstop( global,err_no_bcspecified,__line__ )
504 
505  IF (var > ndata) THEN
506  WRITE(*,*) 'ftype, bcCode, nData, var: ', ftype, bccode, ndata, var
507  CALL errorstop( global,err_bc_varname,__line__ )
508  ENDIF
509 
510  IF (tbc%tbcType /= tbc_none) &
511  CALL errorstop( global,err_patch_overspec,__line__,'TBC' )
512 
513  tbc%tbcType = tbctype
514 
515  IF (nswitches > 0) THEN
516  ALLOCATE( tbc%switches(nswitches),stat=errorflag )
517  tbc%switches = switches(1:nswitches)
518  ENDIF
519 
520  IF (nparams > 0) THEN
521  ALLOCATE( tbc%params(nparams),stat=errorflag )
522  IF (tbctype == tbc_piecewise) THEN
523  tbc%params = morevals(1:nparams)
524  ELSE
525  tbc%params = vals(1:nparams)
526  ENDIF
527  ENDIF
528 
529  IF (nsvals > 0) THEN
530  ALLOCATE( tbc%svals(nsvals),stat=errorflag )
531  tbc%svals = 0.0_rfreal
532  ENDIF
533 
534  IF (nbvals > 0) THEN
535  ALLOCATE( tbc%bvals(nbvals,ijbeg:ijend),stat=errorflag )
536  tbc%bvals = 0.0_rfreal
537  IF (tbctype == tbc_stochastic) &
538  tbc%bvals(tbcsto_val,:) = 0.5_rfreal * tbc%params(tbcdat_amp)**2
539  ENDIF
540 
541  distrib = bc%distrib ! original value of bc%distrib
542 
543  IF (tbctype == tbc_stochastic .OR. & ! tbc types forcing BCDAT_DISTRIB
544  tbctype == tbc_whitenoise) bc%distrib = bcdat_distrib
545 
546  IF (bc%distrib == bcdat_distrib) THEN
547  ALLOCATE( tbc%mean(ijbeg:ijend),stat=errorflag )
548  ELSE
549  ALLOCATE( tbc%mean(0:1),stat=errorflag )
550  ENDIF
551 
552  global%error = errorflag
553  IF (global%error /= 0) CALL errorstop( global,err_allocate,__line__ )
554 
555 ! ----- if distrib needs to change for BC, allocate and fill
556 ! expanded bc%vals arrays
557 
558  IF (bc%distrib == bcdat_distrib .AND. distrib == bcdat_constant) THEN
559 
560  ALLOCATE( holdvals(ndata),stat=errorflag )
561  global%error = errorflag
562  IF (global%error /= 0) CALL errorstop( global,err_allocate,__line__ )
563  holdvals = bc%vals(:,1)
564 
565  DEALLOCATE( bc%vals,stat=errorflag )
566  global%error = errorflag
567  IF (global%error /= 0) CALL errorstop(global,err_deallocate,__line__)
568 
569  ALLOCATE( bc%vals(ndata,ijbeg:ijend),stat=errorflag )
570  global%error = errorflag
571  IF (global%error /= 0) CALL errorstop( global,err_allocate,__line__ )
572  DO n = 1, ndata
573  bc%vals(n,:) = holdvals(n)
574  ENDDO
575 
576  DEALLOCATE ( holdvals,stat=errorflag )
577  global%error = errorflag
578  IF (global%error /= 0) CALL errorstop(global,err_deallocate,__line__)
579 
580  ENDIF
581 
582  tbc%mean = bc%vals(var,:)
583 
584  ENDIF ! active region on my processor
585 
586  ENDDO ! iPatch
587  ENDDO ! iReg
588 
589  IF (ALLOCATED(morevals)) THEN
590  DEALLOCATE ( morevals,stat=errorflag )
591  global%error = errorflag
592  IF (global%error /= 0) CALL errorstop(global,err_deallocate,__line__)
593  ENDIF
594 
595  goto 999
596 
597 ! error handling --------------------------------------------------------------
598 
599 10 CONTINUE
600  CALL errorstop( global,err_file_read,__line__ )
601 
602 999 CONTINUE
603 
604  CALL deregisterfunction( global )
605 
606 END SUBROUTINE rflo_readtbcsection
607 
608 !******************************************************************************
609 !
610 ! RCS Revision history:
611 !
612 ! $Log: RFLO_ReadTbcSection.F90,v $
613 ! Revision 1.6 2008/12/06 08:44:07 mtcampbe
614 ! Updated license.
615 !
616 ! Revision 1.5 2008/11/19 22:17:21 mtcampbe
617 ! Added Illinois Open Source License/Copyright
618 !
619 ! Revision 1.4 2007/08/07 16:32:08 rfiedler
620 ! Set bcCode to BC_INFLOW for all inflow BCs so bcCode+BC_RANGE has desired value.
621 !
622 ! Revision 1.3 2006/08/19 15:38:24 mparmar
623 ! Renamed patch variables
624 !
625 ! Revision 1.2 2005/04/28 05:45:56 wasistho
626 ! added velocity based inflow BC
627 !
628 ! Revision 1.1 2004/11/29 21:25:17 wasistho
629 ! lower to upper case
630 !
631 ! Revision 1.7 2003/11/20 16:40:34 mdbrandy
632 ! Backing out RocfluidMP changes from 11-17-03
633 !
634 ! Revision 1.4 2003/06/10 22:54:42 jferry
635 ! Added Piecewise TBC
636 !
637 ! Revision 1.3 2003/06/04 20:06:38 jferry
638 ! added capability for PEUL BCs with TBCs
639 !
640 ! Revision 1.2 2003/05/15 02:57:01 jblazek
641 ! Inlined index function.
642 !
643 ! Revision 1.1 2002/10/19 00:40:30 jblazek
644 ! Added utility (rflosurf) to write out surface grids for GenX.
645 !
646 ! Revision 1.7 2002/10/12 03:20:50 jblazek
647 ! Replaced [io]stat=global%error with local errorFlag for Rocflo.
648 !
649 ! Revision 1.6 2002/09/28 14:33:24 jferry
650 ! added relative velocity to injection BC
651 !
652 ! Revision 1.5 2002/09/27 00:57:10 jblazek
653 ! Changed makefiles - no makelinks needed.
654 !
655 ! Revision 1.4 2002/09/25 18:29:57 jferry
656 ! simplified TBC parameter lists
657 !
658 ! Revision 1.3 2002/09/20 22:22:36 jblazek
659 ! Finalized integration into GenX.
660 !
661 ! Revision 1.2 2002/09/18 21:50:49 jferry
662 ! Streamlined inelegant coding
663 !
664 ! Revision 1.1 2002/09/17 13:43:00 jferry
665 ! Added Time-dependent boundary conditions
666 !
667 !******************************************************************************
668 
669 
670 
671 
672 
673 
674 
CImg< T > & line(const unsigned int y0)
Get a line.
Definition: CImg.h:18421
subroutine registerfunction(global, funName, fileName)
Definition: ModError.F90:449
**********************************************************************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 brbeg
subroutine readpatchsection(global, fileID, nvals, keys, vals, brbeg, brend, prbeg, prend, distrib, profType, fname, defined)
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 USE ModDataTypes USE prend
const NT & n
subroutine rflo_readtbcsection(regions, tbcType)
**********************************************************************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 USE ModDataTypes USE prbeg
Vector_n min(const Array_n_const &v1, const Array_n_const &v2)
Definition: Vector_n.h:346
**********************************************************************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 USE ModDataTypes USE nvals
subroutine errorstop(global, errorCode, errorLine, addMessage)
Definition: ModError.F90:483
subroutine deregisterfunction(global)
Definition: ModError.F90:469