Rocstar  1.0
Rocstar multiphysics simulation application
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
RFLO_AllocateMemory.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: allocate memory for all variables associated with the mixture
26 ! for all active regions on current processor.
27 !
28 ! Description: none.
29 !
30 ! Input: region = current region
31 !
32 ! Output: region%mixt = mixture variables
33 ! region%grid = grid variables (also region%gridOld)
34 !
35 ! Notes: none.
36 !
37 !******************************************************************************
38 !
39 ! $Id: RFLO_AllocateMemory.F90,v 1.24 2008/12/06 08:44:25 mtcampbe Exp $
40 !
41 ! Copyright: (c) 2001 by the University of Illinois
42 !
43 !******************************************************************************
44 
45 SUBROUTINE rflo_allocatememory( region )
46 
47  USE moddatatypes
48  USE moddatastruct, ONLY : t_region, t_level
49  USE modbndpatch, ONLY : t_patch
50  USE modglobal, ONLY : t_global
51  USE modgrid, ONLY : t_grid
54  USE modmixture, ONLY : t_mixt
55  USE moderror
56  USE modparameters
57  IMPLICIT NONE
58 
59 #include "Indexing.h"
60 
61 ! ... parameters
62  TYPE(t_region), TARGET :: region
63 
64 ! ... loop variables
65  INTEGER :: ilev, ipatch
66 
67 ! ... local variables
68  INTEGER :: idcbeg, idcend, jdcbeg, jdcend, kdcbeg, kdcend
69  INTEGER :: idnbeg, idnend, jdnbeg, jdnend, kdnbeg, kdnend
70  INTEGER :: ipnbeg, ipnend, jpnbeg, jpnend, kpnbeg, kpnend
71  INTEGER :: ibc, iec, ibn, ien, icelloffset, ijcelloffset, &
72  inodeoffset, ijnodeoffset, h1, h2, errorflag
73  INTEGER :: n1, n2, ijbeg, ijend, ioff
74 
75  TYPE(t_level), POINTER :: level
76  TYPE(t_grid) , POINTER :: grid, gridold, gridold2
77  TYPE(t_mixt) , POINTER :: mixt
78  TYPE(t_global), POINTER :: global
79  TYPE(t_patch) , POINTER :: patch
80 
81 !******************************************************************************
82 
83  global => region%global
84 
85  CALL registerfunction( global,'RFLO_AllocateMemory',&
86  'RFLO_AllocateMemory.F90' )
87 
88 ! loop over all grid levels
89 
90  DO ilev=1,region%nGridLevels
91 
92  level => region%levels(ilev)
93  grid => region%levels(ilev)%grid
94  gridold => region%levels(ilev)%gridOld
95  gridold2 => region%levels(ilev)%gridOld2
96  mixt => region%levels(ilev)%mixt
97 
98 ! - get cell and node dimensions
99 
100  CALL rflo_getdimensdummy( region,ilev,idcbeg,idcend, &
101  jdcbeg,jdcend,kdcbeg,kdcend )
102  CALL rflo_getcelloffset( region,ilev,icelloffset,ijcelloffset )
103  ibc = indijk(idcbeg,jdcbeg,kdcbeg,icelloffset,ijcelloffset)
104  iec = indijk(idcend,jdcend,kdcend,icelloffset,ijcelloffset)
105 
106  CALL rflo_getdimensdummynodes( region,ilev,idnbeg,idnend, &
107  jdnbeg,jdnend,kdnbeg,kdnend )
108  CALL rflo_getnodeoffset( region,ilev,inodeoffset,ijnodeoffset )
109  ibn = indijk(idnbeg,jdnbeg,kdnbeg,inodeoffset,ijnodeoffset)
110  ien = indijk(idnend,jdnend,kdnend,inodeoffset,ijnodeoffset)
111 
112  CALL rflo_getdimensphysnodes( region,ilev,ipnbeg,ipnend, &
113  jpnbeg,jpnend,kpnbeg,kpnend )
114 
115 ! - grid coordinates
116 
117  ALLOCATE( grid%xyz(3,ibn:ien) ,stat=errorflag )
118  ALLOCATE( grid%ijkDgen(ibn:ien),stat=errorflag )
119  IF (region%mixtInput%moveGrid) THEN
120  ALLOCATE( gridold%xyzOld(3,ibn:ien),stat=errorflag )
121  ALLOCATE( gridold%xyz(3,ibn:ien) ,stat=errorflag )
122  IF (ilev == 1) THEN ! only on the finest grid
123  ALLOCATE( grid%arcLen12(jpnbeg:jpnend,kpnbeg:kpnend),stat=errorflag )
124  ALLOCATE( grid%arcLen34(kpnbeg:kpnend,ipnbeg:ipnend),stat=errorflag )
125  ALLOCATE( grid%arcLen56(ipnbeg:ipnend,jpnbeg:jpnend),stat=errorflag )
126  ENDIF
127  IF (global%moveGridScheme/=movegrid_blocks .AND. ilev==1) THEN
128  ALLOCATE( grid%xyzOld(3,ibn:ien),stat=errorflag )
129  ENDIF
130  IF ((global%moveGridScheme==movegrid_frame .OR. &
131  global%moveGridScheme==movegrid_foms .OR. &
132  global%moveGridScheme==movegrid_elframe) .AND. ilev==1) THEN
133  ALLOCATE( grid%nCorns(global%nRegions), stat=errorflag )
134  ENDIF
135  IF (global%moveGridScheme==movegrid_foms .AND. ilev==1) THEN
136  ALLOCATE( grid%xyzOrth(3,ibn:ien), stat=errorflag )
137  ALLOCATE( grid%xyzTemp(3,ibn:ien), stat=errorflag )
138  ENDIF
139  IF ((global%moveGridScheme==movegrid_elglobal .OR. &
140  global%moveGridScheme==movegrid_elframe) .AND. ilev==1) THEN
141  ALLOCATE( grid%stu( 3,ibn:ien),stat=errorflag )
142  ALLOCATE( grid%stuOld( 3,ibn:ien),stat=errorflag )
143  ALLOCATE( grid%stui( 3,ibn:ien),stat=errorflag )
144  ALLOCATE( grid%stuj( 3,ibn:ien),stat=errorflag )
145  ALLOCATE( grid%stuk( 3,ibn:ien),stat=errorflag )
146  ALLOCATE( grid%pmat( 3,6,ibn:ien),stat=errorflag )
147 
148  ALLOCATE( grid%aijk( ibn:ien),stat=errorflag )
149  ALLOCATE( grid%aimjk( ibn:ien),stat=errorflag )
150  ALLOCATE( grid%aipjk( ibn:ien),stat=errorflag )
151  ALLOCATE( grid%aijmk( ibn:ien),stat=errorflag )
152  ALLOCATE( grid%aijpk( ibn:ien),stat=errorflag )
153  ALLOCATE( grid%aijkm( ibn:ien),stat=errorflag )
154  ALLOCATE( grid%aijkp( ibn:ien),stat=errorflag )
155  ALLOCATE( grid%aimjmk( ibn:ien),stat=errorflag )
156  ALLOCATE( grid%aipjmk( ibn:ien),stat=errorflag )
157  ALLOCATE( grid%aimjpk( ibn:ien),stat=errorflag )
158  ALLOCATE( grid%aipjpk( ibn:ien),stat=errorflag )
159  ALLOCATE( grid%aimjkm( ibn:ien),stat=errorflag )
160  ALLOCATE( grid%aipjkm( ibn:ien),stat=errorflag )
161  ALLOCATE( grid%aimjkp( ibn:ien),stat=errorflag )
162  ALLOCATE( grid%aipjkp( ibn:ien),stat=errorflag )
163  ALLOCATE( grid%aijmkm( ibn:ien),stat=errorflag )
164  ALLOCATE( grid%aijpkm( ibn:ien),stat=errorflag )
165  ALLOCATE( grid%aijmkp( ibn:ien),stat=errorflag )
166  ALLOCATE( grid%aijpkp( ibn:ien),stat=errorflag )
167 
168  DO ipatch=1,region%nPatches
169  patch => region%levels(ilev)%patches(ipatch)
170 
171  h1 = abs(patch%l1end-patch%l1beg) + 2
172  h2 = abs(patch%l2end-patch%l2beg) + 2
173 
174 ! ------- elliptic PDE grid motion
175 
176  ALLOCATE( patch%st( 3,h1,h2),stat=errorflag )
177  ALLOCATE( patch%stOld( 3,h1,h2),stat=errorflag )
178  ALLOCATE( patch%sti( 3,h1,h2),stat=errorflag )
179  ALLOCATE( patch%stj( 3,h1,h2),stat=errorflag )
180  ALLOCATE( patch%stii( 3,h1,h2),stat=errorflag )
181  ALLOCATE( patch%stjj( 3,h1,h2),stat=errorflag )
182  ALLOCATE( patch%stij( 3,h1,h2),stat=errorflag )
183  ALLOCATE( patch%pfun( 2,3,h1,h2),stat=errorflag )
184 
185  ALLOCATE( patch%aimjm( h1,h2),stat=errorflag )
186  ALLOCATE( patch%aijm( h1,h2),stat=errorflag )
187  ALLOCATE( patch%aipjm( h1,h2),stat=errorflag )
188  ALLOCATE( patch%aimj( h1,h2),stat=errorflag )
189  ALLOCATE( patch%aij( h1,h2),stat=errorflag )
190  ALLOCATE( patch%aipj( h1,h2),stat=errorflag )
191  ALLOCATE( patch%aimjp( h1,h2),stat=errorflag )
192  ALLOCATE( patch%aijp( h1,h2),stat=errorflag )
193  ALLOCATE( patch%aipjp( h1,h2),stat=errorflag )
194 
195  ENDDO ! iPatch
196  ENDIF ! moveGridScheme
197  ENDIF ! moveGrid
198  global%error = errorflag
199  IF (global%error /= 0) CALL errorstop( global,err_allocate,__line__ )
200 
201 ! - averaging coefficients, face vectors, volumes, grid speeds
202 
203  ALLOCATE( grid%c2fCoI(2,ibn:ien),stat=errorflag )
204  ALLOCATE( grid%c2fCoJ(2,ibn:ien),stat=errorflag )
205  ALLOCATE( grid%c2fCoK(2,ibn:ien),stat=errorflag )
206  global%error = errorflag
207  IF (global%error /= 0) CALL errorstop( global,err_allocate,__line__ )
208 
209  ALLOCATE( grid%c2eCoI(4,ibn:ien),stat=errorflag )
210  ALLOCATE( grid%c2eCoJ(4,ibn:ien),stat=errorflag )
211  ALLOCATE( grid%c2eCoK(4,ibn:ien),stat=errorflag )
212  global%error = errorflag
213  IF (global%error /= 0) CALL errorstop( global,err_allocate,__line__ )
214 
215  ALLOCATE( grid%si(4,ibn:ien),stat=errorflag )
216  ALLOCATE( grid%sj(4,ibn:ien),stat=errorflag )
217  ALLOCATE( grid%sk(4,ibn:ien),stat=errorflag )
218  ALLOCATE( grid%vol(ibc:iec) ,stat=errorflag )
219  global%error = errorflag
220  IF (global%error /= 0) CALL errorstop( global,err_allocate,__line__ )
221 
222  IF ((region%mixtInput%spaceOrder == discr_order_4) .OR. &
223  global%calcCellCtr) THEN
224  ALLOCATE( grid%cofg(3,ibc:iec),stat=errorflag )
225  global%error = errorflag
226  IF (global%error /= 0) CALL errorstop( global,err_allocate,__line__ )
227  ELSE
228  nullify( grid%cofg )
229  ENDIF
230 
231  IF (global%calcFaceCtr) THEN
232  ALLOCATE( grid%cfcI(3,ibn:ien),stat=errorflag )
233  ALLOCATE( grid%cfcJ(3,ibn:ien),stat=errorflag )
234  ALLOCATE( grid%cfcK(3,ibn:ien),stat=errorflag )
235  global%error = errorflag
236  IF (global%error /= 0) CALL errorstop( global,err_allocate,__line__ )
237  ELSE
238  nullify( grid%cfcI, grid%cfcJ, grid%cfcK )
239  ENDIF
240 
241  IF (region%mixtInput%moveGrid) THEN
242  ALLOCATE( grid%siVel(ibn:ien) ,stat=errorflag )
243  ALLOCATE( grid%sjVel(ibn:ien) ,stat=errorflag )
244  ALLOCATE( grid%skVel(ibn:ien) ,stat=errorflag )
245  ALLOCATE( gridold%si(4,ibn:ien),stat=errorflag )
246  ALLOCATE( gridold%sj(4,ibn:ien),stat=errorflag )
247  ALLOCATE( gridold%sk(4,ibn:ien),stat=errorflag )
248  ALLOCATE( gridold%vol(ibc:iec) ,stat=errorflag )
249  IF (global%solverType==solv_implicit .AND. &
250  global%tstepOrder==3 .AND. ilev == 1) THEN
251  ALLOCATE( gridold2%vol(ibc:iec),stat=errorflag )
252  ENDIF
253  ELSE
254  ALLOCATE( grid%siVel(0:1),stat=errorflag )
255  ALLOCATE( grid%sjVel(0:1),stat=errorflag )
256  ALLOCATE( grid%skVel(0:1),stat=errorflag )
257  ENDIF
258  global%error = errorflag
259  IF (global%error /= 0) CALL errorstop( global,err_allocate,__line__ )
260 
261  grid%siVel(:) = 0._rfreal ! zero out grid speeds
262  grid%sjVel(:) = 0._rfreal
263  grid%skVel(:) = 0._rfreal
264 
265 ! - time step & spectral radii
266 
267  ALLOCATE( level%dt(ibc:iec) ,stat=errorflag )
268  ALLOCATE( mixt%srad(3,ibc:iec),stat=errorflag )
269  global%error = errorflag
270  IF (global%error /= 0) CALL errorstop( global,err_allocate,__line__ )
271 
272 ! - mixture variables
273 
274  ALLOCATE( mixt%cv (cv_mixt_neqs,ibc:iec),stat=errorflag )
275  ALLOCATE( mixt%cvOld(cv_mixt_neqs,ibc:iec),stat=errorflag )
276  ALLOCATE( mixt%dv (mixt%nDv ,ibc:iec),stat=errorflag )
277  ALLOCATE( mixt%rhs (cv_mixt_neqs,ibc:iec),stat=errorflag )
278  ALLOCATE( mixt%diss (cv_mixt_neqs,ibc:iec),stat=errorflag )
279  global%error = errorflag
280  IF (global%error /= 0) CALL errorstop( global,err_allocate,__line__ )
281 
282  IF (mixt%nTv > 0) THEN
283  ALLOCATE( mixt%tv(mixt%nTv,ibc:iec),stat=errorflag )
284  ELSE
285  nullify( mixt%tv )
286  ENDIF
287 
288  IF (mixt%nGrad > 0) THEN
289  ALLOCATE( mixt%gradi(mixt%nGrad,ibn:ien),stat=errorflag )
290  ALLOCATE( mixt%gradj(mixt%nGrad,ibn:ien),stat=errorflag )
291  ALLOCATE( mixt%gradk(mixt%nGrad,ibn:ien),stat=errorflag )
292  ELSE
293  nullify( mixt%gradi )
294  nullify( mixt%gradj )
295  nullify( mixt%gradk )
296  ENDIF
297 
298  IF (region%mixtInput%gasModel == gas_model_tcperf) THEN
299  ALLOCATE( mixt%gv(mixt%nGv,0:1),stat=errorflag )
300  ELSE
301  ALLOCATE( mixt%gv(mixt%nGv,ibc:iec),stat=errorflag )
302  ENDIF
303 
304 #ifdef STATS
305  IF ((global%flowType == flow_unsteady) .AND. &
306  (global%doStat == active) .AND. &
307  (global%mixtNStat > 0)) THEN
308  ALLOCATE( mixt%tav(global%mixtNStat,ibc:iec),stat=errorflag )
309  ELSE
310  nullify( mixt%tav )
311  ENDIF
312 #endif
313 
314  IF (ilev>1 .AND. global%cycleType/=mgcycle_no) THEN
315  ALLOCATE( mixt%fterm(cv_mixt_neqs,ibc:iec),stat=errorflag )
316  ELSE
317  nullify( mixt%fterm )
318  ENDIF
319 
320  IF (global%flowType == flow_unsteady) THEN
321  ALLOCATE( mixt%rhsSum(cv_mixt_neqs,ibc:iec),stat=errorflag )
322  ELSE
323  nullify( mixt%rhsSum )
324  ENDIF
325 
326  IF (global%flowType==flow_unsteady .AND. &
327  global%solverType==solv_implicit .AND. &
328  ilev == 1) THEN
329  ALLOCATE( mixt%cvn (cv_mixt_neqs,ibc:iec),stat=errorflag )
330  ALLOCATE( mixt%cvn1 (cv_mixt_neqs,ibc:iec),stat=errorflag )
331  ALLOCATE( mixt%cvn2 (cv_mixt_neqs,ibc:iec),stat=errorflag )
332  ALLOCATE( mixt%sDual(cv_mixt_neqs,ibc:iec),stat=errorflag )
333  ELSE
334  nullify( mixt%cvn )
335  nullify( mixt%cvn1 )
336  nullify( mixt%cvn2 )
337  nullify( mixt%sDual )
338  ENDIF
339 
340  global%error = errorflag
341  IF (global%error /= 0) CALL errorstop( global,err_allocate,__line__ )
342 
343 ! - patch data allocation -----------------------------------------------------
344 
345  DO ipatch=1,region%nPatches
346  patch => region%levels(ilev)%patches(ipatch)
347 
348 ! --- aerodynamic coefficients
349 
350  IF (global%aeroCoeffs == active) THEN
351  n1 = abs(patch%l1end-patch%l1beg)
352  n2 = abs(patch%l2end-patch%l2beg)
353  ioff = n1 + 1
354  ijbeg = indij( 0, 0,ioff)
355  ijend = indij(n1,n2,ioff)
356  ELSE
357  ijbeg = 0
358  ijend = 1
359  ENDIF
360  ALLOCATE( patch%cp(ijbeg:ijend), stat=errorflag )
361  ALLOCATE( patch%ch(ijbeg:ijend), stat=errorflag )
362  ALLOCATE( patch%cf(3,ijbeg:ijend), stat=errorflag )
363  ALLOCATE( patch%forceCoeffs(3,forces_press:forces_visc), stat=errorflag )
364  ALLOCATE( patch%momentCoeffs(3,forces_press:forces_visc),stat=errorflag )
365 
366  global%error = errorflag
367  IF (global%error /= 0) CALL errorstop( global,err_allocate,__line__ )
368 
369 ! --- patch arclengths
370 
371  h1 = abs(patch%l1end-patch%l1beg) + 2
372  h2 = abs(patch%l2end-patch%l2beg) + 2
373  ALLOCATE( patch%arclen1( h2 ), stat=errorflag )
374  ALLOCATE( patch%arclen2( h1 ), stat=errorflag )
375 
376  global%error = errorflag
377  IF (global%error /= 0) CALL errorstop( global,err_allocate,__line__ )
378 
379  ENDDO ! iPatch
380 
381  ENDDO ! iLev
382 
383 ! data allocation independent of grid level -----------------------------------
384 
385 ! coefficients of implicit residual smoothing
386 
387  IF ((global%flowType==flow_steady .OR. &
388  (global%flowType==flow_unsteady .AND. global%solverType==solv_implicit)) &
389  .AND. region%mixtInput%smoocf>0.) THEN
390  ALLOCATE( mixt%epsIrs(3,ibc:iec),stat=errorflag )
391  global%error = errorflag
392  IF (global%error /= 0) CALL errorstop( global,err_allocate,__line__ )
393  ELSE
394  nullify( mixt%epsIrs )
395  ENDIF
396 
397 ! finalize --------------------------------------------------------------------
398 
399  CALL deregisterfunction( global )
400 
401 END SUBROUTINE rflo_allocatememory
402 
403 !******************************************************************************
404 !
405 ! RCS Revision history:
406 !
407 ! $Log: RFLO_AllocateMemory.F90,v $
408 ! Revision 1.24 2008/12/06 08:44:25 mtcampbe
409 ! Updated license.
410 !
411 ! Revision 1.23 2008/11/19 22:17:36 mtcampbe
412 ! Added Illinois Open Source License/Copyright
413 !
414 ! Revision 1.22 2006/03/25 23:25:27 wasistho
415 ! adjusted size of all si,j,k
416 !
417 ! Revision 1.21 2006/03/24 05:03:27 wasistho
418 ! increased size of si, sj, sk
419 !
420 ! Revision 1.20 2006/03/18 08:20:58 wasistho
421 ! allocate patch%arclen1,2
422 !
423 ! Revision 1.19 2006/03/16 22:02:08 wasistho
424 ! bug fixed aero coeffs allocation
425 !
426 ! Revision 1.18 2006/03/13 03:40:40 wasistho
427 ! allocate aero coeffs
428 !
429 ! Revision 1.17 2006/03/08 23:33:23 wasistho
430 ! made gridOld%xyzOld available for all type gm
431 !
432 ! Revision 1.16 2006/03/02 01:27:17 wasistho
433 ! split movegrid_epde to elglobal and elframe
434 !
435 ! Revision 1.15 2006/02/09 00:26:23 wasistho
436 ! allocate nCorns for EPDE too
437 !
438 ! Revision 1.14 2005/12/07 08:47:53 wasistho
439 ! allocate arrays for surface mesh motion EPDE
440 !
441 ! Revision 1.13 2005/12/03 09:33:00 wasistho
442 ! allocate arrays for movegrid EPDE
443 !
444 ! Revision 1.12 2005/11/28 20:04:14 wasistho
445 ! allocate gridOld%xyzOld
446 !
447 ! Revision 1.11 2005/11/11 07:18:18 wasistho
448 ! allocate ijkDgen
449 !
450 ! Revision 1.10 2005/10/31 21:09:36 haselbac
451 ! Changed specModel and SPEC_MODEL_NONE
452 !
453 ! Revision 1.9 2005/10/28 07:37:55 wasistho
454 ! corrected nullify cfcI,J,K
455 !
456 ! Revision 1.8 2005/10/27 05:12:01 wasistho
457 ! allocate xyzOrth
458 !
459 ! Revision 1.7 2005/10/20 06:49:47 wasistho
460 ! allocate cfcI,J,K
461 !
462 ! Revision 1.6 2005/06/10 19:32:40 wasistho
463 ! move memory allocation of movegridFrame variables to modflo/RFLO_ModMoveGridFrame
464 !
465 ! Revision 1.5 2005/06/02 03:21:32 wasistho
466 ! shuffle MoveGridVms with MoveGridFrame
467 !
468 ! Revision 1.4 2005/05/29 20:45:01 wasistho
469 ! added regCornOrig
470 !
471 ! Revision 1.3 2005/05/28 08:07:40 wasistho
472 ! allocate data for moveGridFrame
473 !
474 ! Revision 1.2 2005/05/21 05:08:29 wasistho
475 ! changed == MOVEGRID_GLOBAL to /=MOVEGRID_BLOCKS
476 !
477 ! Revision 1.1 2004/11/29 20:51:38 wasistho
478 ! lower to upper case
479 !
480 ! Revision 1.33 2004/08/03 00:33:03 wasistho
481 ! added allocation of grid%c2eConI,J,K
482 !
483 ! Revision 1.32 2004/08/02 19:32:24 wasistho
484 ! changed grid%avgCo to grid%c2fCo
485 !
486 ! Revision 1.31 2004/07/30 17:25:18 wasistho
487 ! provide cell2face averaging coefficients
488 !
489 ! Revision 1.30 2003/11/20 16:40:36 mdbrandy
490 ! Backing out RocfluidMP changes from 11-17-03
491 !
492 ! Revision 1.26 2003/10/03 20:18:07 wasistho
493 ! added wall dist. criterion for cellcentroids allocation
494 !
495 ! Revision 1.25 2003/10/01 23:52:10 jblazek
496 ! Corrected bug in moving noslip wall BC and grid speeds.
497 !
498 ! Revision 1.24 2003/08/11 21:51:18 jblazek
499 ! Added basic global grid smoothing scheme.
500 !
501 ! Revision 1.23 2003/07/03 21:48:45 jblazek
502 ! Implemented dual-time stepping.
503 !
504 ! Revision 1.22 2003/05/15 02:57:03 jblazek
505 ! Inlined index function.
506 !
507 ! Revision 1.21 2003/04/23 22:51:28 olawlor
508 ! Added TARGET attribute to region variable, since
509 ! pointers are cached into it.
510 !
511 ! Revision 1.20 2003/03/14 22:05:11 jblazek
512 ! Improved mesh motion algorithm - node movement exchaged between blocks.
513 !
514 ! Revision 1.19 2002/11/02 01:56:04 wasistho
515 ! Added TURB statistics
516 !
517 ! Revision 1.18 2002/10/12 03:20:50 jblazek
518 ! Replaced [io]stat=global%error with local errorFlag for Rocflo.
519 !
520 ! Revision 1.17 2002/09/05 17:40:20 jblazek
521 ! Variable global moved into regions().
522 !
523 ! Revision 1.16 2002/08/30 01:47:58 jblazek
524 ! Added support for moving grids.
525 !
526 ! Revision 1.15 2002/08/15 19:48:05 jblazek
527 ! Implemented grid deformation capability.
528 !
529 ! Revision 1.14 2002/06/14 21:38:45 wasistho
530 ! Added time avg statistics
531 !
532 ! Revision 1.13 2002/03/29 23:15:22 jblazek
533 ! Corrected bug in MPI send.
534 !
535 ! Revision 1.12 2002/03/22 19:26:23 jblazek
536 ! Unused pointers are nullified.
537 !
538 ! Revision 1.11 2002/03/18 23:11:32 jblazek
539 ! Finished multiblock and MPI.
540 !
541 ! Revision 1.10 2002/02/27 18:38:20 jblazek
542 ! Changed extrapol. to dummy cells at injection boundaries and slip walls.
543 !
544 ! Revision 1.9 2002/02/21 23:25:05 jblazek
545 ! Blocks renamed as regions.
546 !
547 ! Revision 1.8 2002/02/09 01:47:01 jblazek
548 ! Added multi-probe option, residual smoothing, physical time step.
549 !
550 ! Revision 1.7 2002/02/06 00:15:39 jblazek
551 ! Improved injection BC. Added pointers to gradients.
552 !
553 ! Revision 1.6 2002/01/28 23:55:22 jblazek
554 ! Added flux computation (central scheme).
555 !
556 ! Revision 1.5 2002/01/23 03:51:25 jblazek
557 ! Added low-level time-stepping routines.
558 !
559 ! Revision 1.4 2002/01/10 00:02:07 jblazek
560 ! Added calculation of mixture properties.
561 !
562 ! Revision 1.3 2002/01/08 22:09:17 jblazek
563 ! Added calculation of face vectors and volumes.
564 !
565 ! Revision 1.2 2001/12/22 00:09:39 jblazek
566 ! Added routines to store grid and solution.
567 !
568 ! Revision 1.1 2001/12/11 21:59:29 jblazek
569 ! memory allocation added.
570 !
571 !******************************************************************************
572 
573 
574 
575 
576 
577 
578 
**********************************************************************Rocstar Simulation Suite Illinois Rocstar LLC All rights reserved ****Illinois Rocstar LLC IL **www illinoisrocstar com **sales illinoisrocstar com WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **Arising OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE **********************************************************************INTERFACE SUBROUTINE idcend
**********************************************************************Rocstar Simulation Suite Illinois Rocstar LLC All rights reserved ****Illinois Rocstar LLC IL **www illinoisrocstar com **sales illinoisrocstar com WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **Arising OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE **********************************************************************INTERFACE SUBROUTINE jpnbeg
subroutine rflo_allocatememory(region)
**********************************************************************Rocstar Simulation Suite Illinois Rocstar LLC All rights reserved ****Illinois Rocstar LLC IL **www illinoisrocstar com **sales illinoisrocstar com WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **Arising OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE **********************************************************************INTERFACE SUBROUTINE kpnbeg
subroutine registerfunction(global, funName, fileName)
Definition: ModError.F90:449
**********************************************************************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 jdnbeg
**********************************************************************Rocstar Simulation Suite Illinois Rocstar LLC All rights reserved ****Illinois Rocstar LLC IL **www illinoisrocstar com **sales illinoisrocstar com WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **Arising OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE **********************************************************************INTERFACE SUBROUTINE jpnend
**********************************************************************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 idnend
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 jdnend
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 idnbeg
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 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 ipnbeg
subroutine rflo_getcelloffset(region, iLev, iCellOffset, ijCellOffset)
**********************************************************************Rocstar Simulation Suite Illinois Rocstar LLC All rights reserved ****Illinois Rocstar LLC IL **www illinoisrocstar com **sales illinoisrocstar com WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **Arising OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE **********************************************************************INTERFACE SUBROUTINE idcbeg
**********************************************************************Rocstar Simulation Suite Illinois Rocstar LLC All rights reserved ****Illinois Rocstar LLC IL **www illinoisrocstar com **sales illinoisrocstar com WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **Arising OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE **********************************************************************INTERFACE SUBROUTINE jdcend
subroutine rflo_getdimensphysnodes(region, iLev, ipnbeg, ipnend, jpnbeg, jpnend, kpnbeg, kpnend)
**********************************************************************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 rflo_getdimensdummynodes(region, iLev, idnbeg, idnend, jdnbeg, jdnend, kdnbeg, kdnend)
subroutine errorstop(global, errorCode, errorLine, addMessage)
Definition: ModError.F90:483
subroutine grid(bp)
Definition: setup_py.f90:257
subroutine deregisterfunction(global)
Definition: ModError.F90:469
**********************************************************************Rocstar Simulation Suite Illinois Rocstar LLC All rights reserved ****Illinois Rocstar LLC IL **www illinoisrocstar com **sales illinoisrocstar com WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **Arising OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE **********************************************************************INTERFACE SUBROUTINE ipnend
**********************************************************************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 kdnbeg