Rocstar  1.0
Rocstar multiphysics simulation application
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ModMixture.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: define data types related to the whole gas mixture.
26 !
27 ! Description: none
28 !
29 ! Notes: none
30 !
31 ! ******************************************************************************
32 !
33 ! $Id: ModMixture.F90,v 1.65 2008/12/06 08:44:19 mtcampbe Exp $
34 !
35 ! Copyright: (c) 2001-2005 by the University of Illinois
36 !
37 ! ******************************************************************************
38 
39 MODULE modmixture
40 
41  USE moddatatypes
42  IMPLICIT NONE
43 
44 ! mixture input ---------------------------------------------------------------
45 
47 
48  INTEGER :: flowModel,fluidModel
49  LOGICAL :: moveGrid,externalBc,computeTv,frozenFlag
50 
51 #ifdef RFLU
52  INTEGER :: dimens
53 #endif
54 
55 #ifdef RFLU
56  INTEGER :: nCv,nDv,nGv,nGvAct,nTv
57  INTEGER :: nGrad
58  INTEGER :: indCp,indMfMixt,indMol,indSd
59  REAL(RFREAL) :: prLam,prTurb,scnLam,scnTurb
60 #endif
61 
62 ! - turbulence modeling
63 
64  INTEGER :: turbModel
65 
66 ! - radiation
67 
68  LOGICAL :: radiUsed
69 
70 ! - numerics
71 
72  INTEGER :: spaceDiscr, spaceOrder, pSwitchType
73  INTEGER :: timeScheme, ldiss(5)
74  REAL(RFREAL) :: cfl, smoocf, vis2, vis4, pSwitchOmega, limFac, epsEntr
75  REAL(RFREAL) :: ark(5), grk(5), trk(5), betrk(5)
76 #ifdef RFLO
77  INTEGER :: faceEdgeAvg
78 #endif
79 #ifdef RFLU
80  INTEGER :: spaceOrderBFaces
81  INTEGER :: cReconstCells,cReconstFaces,reconst,stencilDimensCells, &
82  stencilDimensFaces,stencilDimensBFaces
83  REAL(RFREAL) :: cReconstCellsWeight,cReconstFacesWeight,dissFact,tolerICT
84 #endif
85 
86 ! - flow initialization
87 
88  INTEGER :: prepIniCase
89  INTEGER :: prepIntVal1,prepIntVal2,prepIntVal3,prepIntVal4,prepIntVal5, &
90  prepIntVal6
91  REAL(RFREAL) :: prepRealVal1,prepRealVal2,prepRealVal3,prepRealVal4, &
92  prepRealVal5,prepRealVal6,prepRealVal7,prepRealVal8, &
93  prepRealVal9,prepRealVal10,prepRealVal11,prepRealVal12, &
94  prepRealVal13,prepRealVal14,prepRealVal15,prepRealVal16
95  REAL(RFREAL) :: iniDens,iniPress,iniTemp,iniVelX,iniVelY,iniVelZ
96 #ifdef RFLO
97  REAL(RFREAL) :: iniXsplit,iniVelX2,iniVelY2,iniVelZ2,iniPress2,iniDens2
98 #endif
99 
100 #ifdef RFLU
101 ! - grid motion
102 
103  INTEGER :: moveGridNIter,moveGridType
104  REAL(RFREAL) :: moveGridSFact
105 #endif
106 
107 ! - gas model
108 
109  INTEGER :: gasModel
110 
111 ! - viscosity model
112 
113  INTEGER :: viscModel
114  REAL(RFREAL) :: refVisc, refTemp, suthCoef
115 
116  END TYPE t_mixt_input
117 
118 ! mixture data ----------------------------------------------------------------
119 
120  TYPE t_mixt
121 
122 #ifdef RFLO
123  INTEGER :: ndv, ntv, ngv, ngrad, indcp, indmol
124  REAL(RFREAL) :: prlam, prturb, scnlam, scnturb
125 #endif
126 
127  REAL(RFREAL), POINTER :: cv(:,:), cvOld(:,:), cvn(:,:), cvn1(:,:), cvn2(:,:)
128  REAL(RFREAL), POINTER :: dv(:,:), tv(:,:), gv(:,:)
129  REAL(RFREAL), DIMENSION(:,:), POINTER :: lim
130  REAL(RFREAL), POINTER :: rhs(:,:), rhsOld(:,:), rhsSum(:,:), diss(:,:), &
131  fterm(:,:)
132  REAL(RFREAL), POINTER :: sDual(:,:)
133 #ifdef STATS
134  REAL(RFREAL), POINTER :: tav(:,:), tavVert(:,:)
135 #endif
136 #ifdef RFLO
137  REAL(RFREAL), POINTER :: gradi(:,:), gradj(:,:), gradk(:,:)
138  REAL(RFREAL), POINTER :: srad(:,:), epsIrs(:,:)
139 #endif
140 #ifdef RFLU
141  INTEGER :: cvState
142  INTEGER, DIMENSION(:), POINTER :: cvInfo
143  REAL(RFREAL), DIMENSION(:), POINTER :: mfMixt,vfMixt
144  REAL(RFREAL), DIMENSION(:,:), POINTER :: cvVert,dvVert,gvVert
145  REAL(RFREAL), DIMENSION(:,:,:), POINTER :: gradCell,gradFace
146  REAL(RFREAL), POINTER :: sd(:,:)
147  REAL(RFREAL), POINTER :: cvOld1(:,:),cvOld2(:,:)
148 #endif
149 
150  END TYPE t_mixt
151 
152 END MODULE modmixture
153 
154 ! ******************************************************************************
155 !
156 ! RCS Revision history:
157 !
158 ! $Log: ModMixture.F90,v $
159 ! Revision 1.65 2008/12/06 08:44:19 mtcampbe
160 ! Updated license.
161 !
162 ! Revision 1.64 2008/11/19 22:17:30 mtcampbe
163 ! Added Illinois Open Source License/Copyright
164 !
165 ! Revision 1.63 2007/04/05 00:57:30 haselbac
166 ! Added additional RVALxy params for 2p shocktube problems
167 !
168 ! Revision 1.62 2007/03/19 21:40:47 haselbac
169 ! Removed variables related to plotting, now in ModPlotting
170 !
171 ! Revision 1.61 2006/08/19 15:38:54 mparmar
172 ! Added spaceOrderBFaces and removed bGradFace
173 !
174 ! Revision 1.60 2006/04/07 14:45:25 haselbac
175 ! Added new stencilDimens params
176 !
177 ! Revision 1.59 2006/03/26 20:21:57 haselbac
178 ! Added initTemp
179 !
180 ! Revision 1.58 2006/01/12 09:42:37 wasistho
181 ! added tavVert
182 !
183 ! Revision 1.57 2006/01/06 22:09:15 haselbac
184 ! Added entry for stencilDimens
185 !
186 ! Revision 1.56 2005/12/25 15:29:34 haselbac
187 ! Added entries for constrained reconstruction
188 !
189 ! Revision 1.55 2005/12/24 21:27:19 haselbac
190 ! Added tolerICT
191 !
192 ! Revision 1.54 2005/11/17 14:38:21 haselbac
193 ! Added prepRealVal9 and prepRealVal10
194 !
195 ! Revision 1.53 2005/11/10 22:23:05 fnajjar
196 ! ACH: Added frozenFlag
197 !
198 ! Revision 1.52 2005/11/10 02:21:18 haselbac
199 ! Added nGvAct
200 !
201 ! Revision 1.51 2005/10/31 21:08:53 haselbac
202 ! Enabled gasModel for Rocflo
203 !
204 ! Revision 1.50 2005/10/31 19:27:07 haselbac
205 ! Added gasModel
206 !
207 ! Revision 1.49 2005/10/27 18:58:07 haselbac
208 ! Added parameter for constraints
209 !
210 ! Revision 1.48 2005/09/22 17:08:31 hdewey2
211 ! Added cvOld1 and cvOld2 to type t_mixt for transient implicit solver.
212 !
213 ! Revision 1.47 2005/09/09 03:18:58 wasistho
214 ! added prepIniCase
215 !
216 ! Revision 1.46 2005/08/03 17:53:09 wasistho
217 ! added domain-splitting feature to initial condition
218 !
219 ! Revision 1.45 2005/07/25 12:22:00 haselbac
220 ! Added pvInfo
221 !
222 ! Revision 1.44 2005/07/11 19:27:16 mparmar
223 ! Added reconst and lim
224 !
225 ! Revision 1.43 2005/05/01 14:20:09 haselbac
226 ! Added nPv, pv, pvVert
227 !
228 ! Revision 1.42 2005/04/20 14:40:52 haselbac
229 ! Added int and real prep vals, removed uniform flow checking vars
230 !
231 ! Revision 1.41 2005/03/31 16:57:18 haselbac
232 ! Removed nSd
233 !
234 ! Revision 1.40 2005/03/22 03:33:46 haselbac
235 ! Added prep init helper variables, cosmetics
236 !
237 ! Revision 1.39 2005/03/09 14:54:40 haselbac
238 ! Added dimensionality variable, cosmetics
239 !
240 ! Revision 1.38 2005/01/13 21:38:00 haselbac
241 ! Added rhsOld for incompressible solver
242 !
243 ! Revision 1.37 2004/12/19 15:45:22 haselbac
244 ! Added vfMixt for incompressible solver
245 !
246 ! Revision 1.36 2004/11/02 02:29:19 haselbac
247 ! Added fluidModel and nCv
248 !
249 ! Revision 1.35 2004/09/02 02:33:37 wasistho
250 ! added face-edge averaging input-option parameter in Rocflo
251 !
252 ! Revision 1.34 2004/07/30 22:47:35 jferry
253 ! Implemented Equilibrium Eulerian method for Rocflu
254 !
255 ! Revision 1.33 2004/07/28 15:41:00 jferry
256 ! created global variable for spec use
257 !
258 ! Revision 1.32 2004/07/08 02:18:10 haselbac
259 ! Added dissFact
260 !
261 ! Revision 1.31 2004/03/05 22:09:01 jferry
262 ! created global variables for peul, plag, and inrt use
263 !
264 ! Revision 1.30 2004/03/03 23:55:39 jferry
265 ! Allowed particles to be run with Euler case
266 !
267 ! Revision 1.29 2004/03/02 21:49:21 jferry
268 ! Added inrtUsed flag to mixture data structure
269 !
270 ! Revision 1.28 2004/01/29 22:57:26 haselbac
271 ! Added indMfMixt, mfMixt, and cvInfo, removed vf
272 !
273 ! Revision 1.27 2003/11/25 21:03:13 haselbac
274 ! Added specUsed and vf variables
275 !
276 ! Revision 1.26 2003/07/03 21:48:45 jblazek
277 ! Implemented dual-time stepping.
278 !
279 ! Revision 1.25 2003/05/29 17:28:43 jblazek
280 ! Implemented Roe scheme.
281 !
282 ! Revision 1.24 2003/04/10 23:24:04 fnajjar
283 ! Added infrastructure for viscosity models in t_mixt_input
284 !
285 ! Revision 1.23 2003/03/31 16:14:11 haselbac
286 ! Added moveGridType
287 !
288 ! Revision 1.22 2003/03/15 17:48:58 haselbac
289 ! Renamed cvVrtx, added dvVert and gvVert
290 !
291 ! Revision 1.21 2003/01/28 16:44:39 haselbac
292 ! Added grid motion input variables
293 !
294 ! Revision 1.20 2002/09/20 22:22:36 jblazek
295 ! Finalized integration into GenX.
296 !
297 ! Revision 1.19 2002/09/09 14:57:31 haselbac
298 ! mixtInput now under regions, added boundary face gradients
299 !
300 ! Revision 1.18 2002/08/15 19:48:05 jblazek
301 ! Implemented grid deformation capability.
302 !
303 ! Revision 1.17 2002/08/01 01:30:20 wasistho
304 ! Added gradFace for RFLU
305 !
306 ! Revision 1.16 2002/07/25 15:15:27 haselbac
307 ! Changed grad to gradCell
308 !
309 ! Revision 1.15 2002/07/25 00:39:01 jblazek
310 ! Option for TVD type pressure switch.
311 !
312 ! Revision 1.14 2002/06/14 21:34:32 wasistho
313 ! Added time avg statistics
314 !
315 ! Revision 1.13 2002/05/04 16:59:10 haselbac
316 ! Added variables for uniform flow preservation check
317 !
318 ! Revision 1.12 2002/04/11 18:53:15 haselbac
319 ! Added array for vertex-based solution vector
320 !
321 ! Revision 1.11 2002/03/26 19:19:09 haselbac
322 ! Added ROCFLU variables
323 !
324 ! Revision 1.10 2002/02/27 18:38:20 jblazek
325 ! Changed extrapol. to dummy cells at injection boundaries and slip walls.
326 !
327 ! Revision 1.9 2002/02/21 23:25:05 jblazek
328 ! Blocks renamed as regions.
329 !
330 ! Revision 1.8 2002/02/06 00:15:39 jblazek
331 ! Improved injection BC. Added pointers to gradients.
332 !
333 ! Revision 1.7 2002/01/28 23:55:22 jblazek
334 ! Added flux computation (central scheme).
335 !
336 ! Revision 1.6 2002/01/23 03:51:24 jblazek
337 ! Added low-level time-stepping routines.
338 !
339 ! Revision 1.5 2002/01/16 22:03:35 jblazek
340 ! Added time-stepping routines.
341 !
342 ! Revision 1.4 2002/01/10 18:21:29 jblazek
343 ! Added iteration number and initial residual to solution file.
344 !
345 ! Revision 1.3 2002/01/02 16:20:19 jblazek
346 ! Added flow initialization and dummy cell geometry.
347 !
348 ! Revision 1.2 2001/12/11 21:59:29 jblazek
349 ! memory allocation added.
350 !
351 ! Revision 1.1.1.1 2001/12/03 21:44:05 jblazek
352 ! Import of RocfluidMP
353 !
354 ! ******************************************************************************
355 
356 
357 
358 
359 
360