File: RELATIVE:/../../../mfix.git/model/cartesian_grid/cartesian_grid_init_namelist.f

1     !vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvC
2     !                                                                         C
3     !     Module name: CARTESIAN_GRID_INIT_NAMELIST                           C
4     !     Purpose: initialize the cartesian_grid-namelist                     C
5     !                                                                         C
6     !                                                                         C
7     !     Author: Jeff Dietiker                              Date: 26-Aug-08  C
8     !     Reviewer:                                          Date:            C
9     !     Comments:                                                           C
10     !                                                                         C
11     !                                                                         C
12     !  Keyword Documentation Format:                                          C
13     !<keyword category="category name" required="true/false"                  C
14     !                                    legacy="true/false">                 C
15     !  <description></description>                                            C
16     !  <arg index="" id="" max="" min=""/>                                    C
17     !  <dependent keyword="" value="DEFINED"/>                                C
18     !  <conflict keyword="" value="DEFINED"/>                                 C
19     !  <valid value="" note="" alias=""/>                                     C
20     !  <range min="" max="" />                                                C
21     !  MFIX_KEYWORD=INIT_VALUE                                                C
22     !</keyword>                                                               C
23     !^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^C
24     !
25           SUBROUTINE CARTESIAN_GRID_INIT_NAMELIST
26     
27           USE param1
28           USE quadric
29           USE cutcell
30           USE polygon
31           USE vtk
32           USE progress_bar
33           USE dashboard
34           Use stl
35     
36           IMPLICIT NONE
37     !-----------------------------------------------
38     !     G l o b a l   P a r a m e t e r s
39     !-----------------------------------------------
40     !-----------------------------------------------
41     !     L o c a l   P a r a m e t e r s
42     !-----------------------------------------------
43     !-----------------------------------------------
44     !     L o c a l   V a r i a b l e s
45     !-----------------------------------------------
46     !
47     !-----------------------------------------------
48     !
49     !
50           INCLUDE 'cartesian_grid_namelist.inc'
51     
52     !<keyword category="cartesian grid" required="false">
53     !  <description>Activate Cartesian grid cut cell technique.</description>
54     !  <dependent keyword="COORDINATES" value="CARTESIAN"/>
55     !  <conflict keyword="COORDINATES" value="CYLINDRICAL"/>
56     !  <valid value=".false." note="Do not use Cartesian grid cut cell technique."/>
57     !  <valid value=".true." note="Use Cartesian grid cut cell
58     !  technique. one of the following methods must be used to define the
59     !  geometry:"/>
60           CARTESIAN_GRID = .FALSE.
61     !</keyword>
62     
63     !<keyword category="Cartesian grid" required="false">
64     !  <description>Number of quadric surfaces defining the boundaries (<=100).</description>
65     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
66     !  <range min="0" max="100" />
67           N_QUADRIC = 0
68     !</keyword>
69     
70     !<keyword category="Cartesian grid" required="false">
71     !  <description>Use STL file to describe geometry.</description>
72     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
73     !  <valid value=".false." note="Do not use STL file."/>
74     !  <valid value=".true." note="Read triangulated geometry (for 3d geometry only) from geometry.stl."/>
75           USE_STL = .FALSE.
76     !</keyword>
77     
78     !<keyword category="Cartesian grid" required="false">
79     !  <description>Use .msh file to describe geometry.</description>
80     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
81     !  <valid value=".false." note="Do not use .msh file."/>
82     !  <valid value=".true." note="Read geometry (for 3d geometry only) from geometry.msh."/>
83           USE_MSH = .FALSE.
84     !</keyword>
85     
86     !<keyword category="Cartesian grid" required="false">
87     !  <description>Use polygons to describe geometry.</description>
88     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
89     !  <valid value=".false." note="Do not use polygons."/>
90     !  <valid value=".true." note="Read polygon data (for 2d geometry only) from poly.dat."/>
91           USE_POLYGON = .FALSE.
92     !</keyword>
93     
94     !<keyword category="Cartesian grid" required="false">
95     !  <description>Number of user-defined functions (currently limited to
96     !  0 or 1). If set to 1, the geometry is defined in the user
97     !  subroutine eval_usr_fct.f.</description>
98     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
99     !  <valid value="0" note="Do not use user-defined function" alias=""/>
100     !  <valid value="1" note="Use one user-defined function" alias=""/>
101     !  <range min="0" max="1" />
102           N_USR_DEF = 0
103     !</keyword>
104     
105     !<keyword category="Cartesian grid" required="false">
106     !  <description>Form of the quadric surface equation.</description>
107     !  <arg index="1" id="Quadric ID" min="1" max="DIM_QUADRIC"/>
108     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
109     !  <valid value="normal" note="Use normal form, as defined in equation
110     !    (1). The LAMDBA\'s and D must be defined"/>
111     !  <valid value="plane" note="Plane. Needs to define N_X,N_Y,N_Z
112     !    (unit normal vector pointing away from fluid cells)."/>
113     !  <valid value="x_cyl_int" note="Cylinder aligned with x-axis,
114     !    internal flow. Needs to define RADIUS(QID)."/>
115     !  <valid value="x_cyl_ext" note="Cylinder aligned with x-axis,
116     !    external flow. Needs to define RADIUS(QID)."/>
117     !  <valid value="y_cyl_int" note="Cylinder aligned with y-axis,
118     !    internal flow. Needs to define RADIUS(QID)."/>
119     !  <valid value="y_cyl_ext" note="Cylinder aligned with y-axis,
120     !    external flow. Needs to define RADIUS(QID)."/>
121     !  <valid value="z_cyl_int" note="Cylinder aligned with z-axis,
122     !    internal flow. Needs to define RADIUS(QID)."/>
123     !  <valid value="z_cyl_ext" note="Cylinder aligned with z-axis,
124     !    external flow. Needs to define RADIUS(QID)."/>
125     !  <valid value="x_cone" note="Cone aligned with x-axis, internal flow.
126     !    Needs to define HALF_ANGLE(QID)."/>
127     !  <valid value="y_cone" note="Cone aligned with y-axis, internal flow.
128     !    Needs to define HALF_ANGLE(QID)."/>
129     !  <valid value="z_cone" note="Cone aligned with z-axis, internal flow.
130     !    Needs to define HALF_ANGLE(QID)."/>
131     !  <valid value="sphere_int" note="Sphere, internal flow.
132     !    Needs to define RADIUS(QID)."/>
133     !  <valid value="sphere_ext" note="Sphere, external flow.
134     !    Needs to define RADIUS(QID)."/>
135     !  <valid value="C2C" note="Cylinder-to-cylinder conical junction,
136     !    internal flow. Needs to be defined between two cylinders."/>
137     !  <valid value="Torus_int" note="Torus, internal flow. Needs to
138     !    define TORUS_R1(QID) and TORUS_R2(QID).A torus is not a quadric
139     !    surface but is defined as a basic shape."/>
140     !  <valid value="Torus_ext" note="Torus, external flow. Needs to define
141     !    TORUS_R1(QID) and TORUS_R2(QID)."/>
142     !  <valid value="Y_UCOIL_EXT" note="Pair of parallel cylinders (y-direction),
143     !     capped at both ends by half a torus, to create a U-shaped coil. Needs
144     !     UCOIL_R1, UCOIL_R2, UCOIL_Y1, UCOIL_Y2."/>
145     !  <valid value="Y_UCOIL_EXT" note="Pair of parallel cylinders (y-direction),
146     !     capped at both ends by a cylinder at 90 degree angle
147     !     to create a U-shaped coil. Needs
148     !     UCOIL_R1, UCOIL_R2, UCOIL_Y1, UCOIL_Y2."/>
149     !  <valid value="XY_BEND_INT" note="Bend between
150     !     two cylinders in the XY plane, Needs
151     !     BEND_R1,BEND_R2,BEND_THETA1,BEND_THETA2."/>
152     !  <valid value="Y_C2C_INT" note="connects two vertical cylinders by a
153     !     conical section. Needs C2C_R1,C2C_R2,C2C_Y1,C2C_Y2."/>
154     !  <valid value="REACTOR1" note="Reactor, made of two vertical cylinders,
155     !     connected by a conical section.Each cylinder is rounded and closed
156     !     by a conical cap. Needs REACTOR1_R1,REACTOR1_R2,REACTOR1_Y1,REACTOR1_Y2,
157     !     REACTOR1_YR1,REACTOR1_YR2,REACTOR1_RR1,REACTOR1_RR2,
158     !     REACTOR1_THETA1,REACTOR1_THETA2."/>
159           quadric_form = 'NORMAL'
160     !</keyword>
161     
162     !<keyword category="Cartesian grid" required="false">
163     !  <description>
164     !    Scaling factor, applied to all quadric geometry parameters. Must
165     !    be a positive number.
166     !  </description>
167     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
168     !  <range min="0.0" max="" />
169           quadric_scale = ONE
170     !</keyword>
171     
172     !<keyword category="Cartesian grid" required="false">
173     !  <description>
174     !    Coefficient LAMBDA_X in equation (1) ('NORMAL' form) or
175     !    x-component of normal vector defining plane in equation (5)
176     !    ('DEGENERATE' form).
177     !  </description>
178     !  <arg index="1" id="Quadric ID" min="1" max="DIM_QUADRIC"/>
179     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
180           lambda_x = ZERO
181     !</keyword>
182     
183     !<keyword category="Cartesian grid" required="false">
184     !  <description>
185     !    Coefficient LAMBDA_Y in equation (1) ('NORMAL' form) or
186     !    y-component of normal vector defining plane in equation (5)
187     !    ('DEGENERATE' form).
188     !  </description>
189     !  <arg index="1" id="Quadric ID" min="1" max="DIM_QUADRIC"/>
190     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
191           lambda_y = ZERO
192     !</keyword>
193     
194     !<keyword category="Cartesian grid" required="false">
195     !  <description>
196     !    Coefficient LAMBDA_Z in equation (1) ('NORMAL' form) or
197     !    z-component of normal vector defining plane in equation (5)
198     !    ('DEGENERATE' form).
199     !  </description>
200     !  <arg index="1" id="Quadric ID" min="1" max="DIM_QUADRIC"/>
201     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
202           lambda_z = ZERO
203     !</keyword>
204     
205     !<keyword category="Cartesian grid" required="false">
206     !  <description>Coefficient D in equation (1).</description>
207     !  <arg index="1" id="Quadric ID" min="1" max="DIM_QUADRIC"/>
208     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
209           dquadric = ZERO
210     !</keyword>
211     
212     !<keyword category="Cartesian grid" required="false">
213     !  <description>
214     !    Rotation angle with respect to x-axis (degrees).
215     !  </description>
216     !  <arg index="1" id="Quadric ID" min="1" max="DIM_QUADRIC"/>
217     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
218           theta_x = ZERO
219     !</keyword>
220     
221     !<keyword category="Cartesian grid" required="false">
222     !  <description>
223     !    Rotation angle with respect to y-axis (degrees).
224     !  </description>
225     !  <arg index="1" id="Quadric ID" min="1" max="DIM_QUADRIC"/>
226     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
227           theta_y = ZERO
228     !</keyword>
229     
230     !<keyword category="Cartesian grid" required="false">
231     !  <description>
232     !    Rotation angle with respect to z-axis (degrees).
233     !  </description>
234     !  <arg index="1" id="Quadric ID" min="1" max="DIM_QUADRIC"/>
235     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
236           theta_z = ZERO
237     !</keyword>
238     
239     !<keyword category="Cartesian grid" required="false">
240     !  <description>
241     !    Cylinder radius (used when QUADRIC_FORM = *_CYL_***)
242     !  </description>
243     !  <arg index="1" id="Quadric ID" min="1" max="DIM_QUADRIC"/>
244     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
245           Radius = ZERO
246     !</keyword>
247     
248     !<keyword category="Cartesian grid" required="false">
249     !  <description>
250     !    Cone half angle, expressed in degrees (used when
251     !    QUADRIC_FORM = *_CONE)
252     !  </description>
253     !  <arg index="1" id="Quadric ID" min="1" max="DIM_QUADRIC"/>
254     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
255           Half_angle = ZERO
256     !</keyword>
257     
258     !<keyword category="Cartesian grid" required="false">
259     !  <description>
260     !    Torus Radius 1 (used when QUADRIC_FORM = TORUS_*),
261     !    R1>R2 for a ring.
262     !  </description>
263     !  <arg index="1" id="Quadric ID" min="1" max="DIM_QUADRIC"/>
264     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
265           Torus_R1 = ZERO
266     !</keyword>
267     
268     !<keyword category="Cartesian grid" required="false">
269     !  <description>
270     !    Torus Radius 2 (used when QUADRIC_FORM = TORUS_*),
271     !    R1>R2 for a ring.
272     !  </description>
273     !  <arg index="1" id="Quadric ID" min="1" max="DIM_QUADRIC"/>
274     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
275           Torus_R2 = ZERO
276     !</keyword>
277     
278     !<keyword category="Cartesian grid" required="false">
279     !  <description>
280     !    U-shaped coil Radius 1 (used when QUADRIC_FORM = UCOIL*),
281     !    UCOIL_R1>UCOIL_R2.
282     !  </description>
283     !  <arg index="1" id="Quadric ID" min="1" max="DIM_QUADRIC"/>
284     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
285           UCOIL_R1 = ZERO
286     !</keyword>
287     
288     !<keyword category="Cartesian grid" required="false">
289     !  <description>
290     !    U-shaped coil Radius 2 (used when QUADRIC_FORM = UCOIL*),
291     !    UCOIL_R1>UCOIL_R2.
292     !  </description>
293     !  <arg index="1" id="Quadric ID" min="1" max="DIM_QUADRIC"/>
294     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
295           UCOIL_R2 = ZERO
296     !</keyword>
297     
298     !<keyword category="Cartesian grid" required="false">
299     !  <description>
300     !    U-shaped coil ymax (used when QUADRIC_FORM = UCOIL*),
301     !    UCOIL_Y2>UCOIL_Y1.
302     !  </description>
303     !  <arg index="1" id="Quadric ID" min="1" max="DIM_QUADRIC"/>
304     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
305           UCOIL_Y1 = -UNDEFINED
306     !</keyword>
307     
308     !<keyword category="Cartesian grid" required="false">
309     !  <description>
310     !    U-shaped coil ymin (used when QUADRIC_FORM = UCOIL*),
311     !    UCOIL_Y2>UCOIL_Y1.
312     !  </description>
313     !  <arg index="1" id="Quadric ID" min="1" max="DIM_QUADRIC"/>
314     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
315           UCOIL_Y2 = UNDEFINED
316     !</keyword>
317     
318     !<keyword category="Cartesian grid" required="false">
319     !  <description>
320     !    Bend Radius 1 (used when QUADRIC_FORM = BEND*),
321     !    BEND_R1>BEND_R2.
322     !  </description>
323     !  <arg index="1" id="Quadric ID" min="1" max="DIM_QUADRIC"/>
324     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
325           BEND_R1 = ZERO
326     !</keyword>
327     
328     !<keyword category="Cartesian grid" required="false">
329     !  <description>Bend Radius 2 (used when QUADRIC_FORM = BEND*),
330     !    BEND_R1>BEND_R2.
331     !  </description>
332     !  <arg index="1" id="Quadric ID" min="1" max="DIM_QUADRIC"/>
333     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
334           BEND_R2 = ZERO
335     !</keyword>
336     
337     !<keyword category="Cartesian grid" required="false">
338     !  <description>
339     !    Bend start angle, in degrees (used when QUADRIC_FORM = BEND*).
340     !  </description>
341     !  <arg index="1" id="Quadric ID" min="1" max="DIM_QUADRIC"/>
342     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
343           BEND_THETA1 = ZERO
344     !</keyword>
345     
346     !<keyword category="Cartesian grid" required="false">
347     !  <description>
348     !    Bend end angle, in degrees (used when QUADRIC_FORM = BEND*).
349     !  </description>
350     !  <arg index="1" id="Quadric ID" min="1" max="DIM_QUADRIC"/>
351     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
352           BEND_THETA2 = ZERO
353     !</keyword>
354     
355     !<keyword category="Cartesian grid" required="false">
356     !  <description>
357     !    Cylinder-cone_cylinder Radius 1 (used when QUADRIC_FORM = C2C*).
358     !  </description>
359     !  <arg index="1" id="Quadric ID" min="1" max="DIM_QUADRIC"/>
360     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
361           C2C_R1 = ZERO
362     !</keyword>
363     
364     !<keyword category="Cartesian grid" required="false">
365     !  <description>
366     !    Cylinder-cone_cylinder Radius 2 (used when QUADRIC_FORM = C2C*).
367     !  </description>
368     !  <arg index="1" id="Quadric ID" min="1" max="DIM_QUADRIC"/>
369     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
370           C2C_R2 = ZERO
371     !</keyword>
372     
373     !<keyword category="Cartesian grid" required="false">
374     !  <description>
375     !    Cylinder-cone_cylinder Y1 (used when QUADRIC_FORM = C2C*).
376     !    If Y1=Y2, then R1=R2.
377     !  </description>
378     !  <arg index="1" id="Quadric ID" min="1" max="DIM_QUADRIC"/>
379     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
380           C2C_Y1 = -UNDEFINED
381     !</keyword>
382     
383     !<keyword category="Cartesian grid" required="false">
384     !  <description>
385     !    Cylinder-cone_cylinder Y2 (used when QUADRIC_FORM = C2C*).
386     !    If Y1=Y2, then R1=R2.
387     !  </description>
388     !  <arg index="1" id="Quadric ID" min="1" max="DIM_QUADRIC"/>
389     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
390           C2C_Y2 = UNDEFINED
391     !</keyword>
392     
393     !<keyword category="Cartesian grid" required="false">
394     !  <description>Reactor 1, lower cylinder radius.</description>
395     !  <arg index="1" id="Quadric ID" min="1" max="DIM_QUADRIC"/>
396     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
397           REACTOR1_R1 = UNDEFINED
398     !</keyword>
399     
400     !<keyword category="Cartesian grid" required="false">
401     !  <description>Reactor 1, upper cylinder radius.</description>
402     !  <arg index="1" id="Quadric ID" min="1" max="DIM_QUADRIC"/>
403     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
404           REACTOR1_R2 = UNDEFINED
405     !</keyword>
406     
407     !<keyword category="Cartesian grid" required="false">
408     !  <description>
409     !    Reactor 1, lower conical transition between cylinders.
410     !  </description>
411     !  <arg index="1" id="Quadric ID" min="1" max="DIM_QUADRIC"/>
412     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
413           REACTOR1_Y1 = UNDEFINED
414     !</keyword>
415     
416     !<keyword category="Cartesian grid" required="false">
417     !  <description>
418     !    Reactor 1, upper conical transition between cylinders.
419     !  </description>
420     !  <arg index="1" id="Quadric ID" min="1" max="DIM_QUADRIC"/>
421     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
422           REACTOR1_Y2 = UNDEFINED
423     !</keyword>
424     
425     !<keyword category="Cartesian grid" required="false">
426     !  <description>Reactor 1, lower rounding below cylinder.</description>
427     !  <arg index="1" id="Quadric ID" min="1" max="DIM_QUADRIC"/>
428     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
429           REACTOR1_YR1 = UNDEFINED
430     !</keyword>
431     
432     !<keyword category="Cartesian grid" required="false">
433     !  <description>Reactor 1, upper rounding above cylinder.</description>
434     !  <arg index="1" id="Quadric ID" min="1" max="DIM_QUADRIC"/>
435     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
436           REACTOR1_YR2 = UNDEFINED
437     !</keyword>
438     
439     !<keyword category="Cartesian grid" required="false">
440     !  <description>Reactor 1, lower rounding radius.</description>
441     !  <arg index="1" id="Quadric ID" min="1" max="DIM_QUADRIC"/>
442     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
443           REACTOR1_RR1 = UNDEFINED
444     !</keyword>
445     
446     !<keyword category="Cartesian grid" required="false">
447     !  <description>Reactor 1, upper rounding radius.</description>
448     !  <arg index="1" id="Quadric ID" min="1" max="DIM_QUADRIC"/>
449     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
450           REACTOR1_RR2 = UNDEFINED
451     !</keyword>
452     
453     
454     !<keyword category="Cartesian grid" required="false">
455     !  <description>Reactor 1, lower rounding angle (degrees).</description>
456     !  <arg index="1" id="Quadric ID" min="1" max="DIM_QUADRIC"/>
457     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
458           REACTOR1_THETA1 = UNDEFINED
459     !</keyword>
460     
461     !<keyword category="Cartesian grid" required="false">
462     !  <description>Reactor 1, upper rounding angle (degrees).</description>
463     !  <arg index="1" id="Quadric ID" min="1" max="DIM_QUADRIC"/>
464     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
465           REACTOR1_THETA2 = UNDEFINED
466     !</keyword>
467     
468     
469     !<keyword category="Cartesian grid" required="false">
470     !  <description>
471     !    X-component of normal vector defining the plane (used when
472     !    QUADRIC_FORM = PLANE).
473     !  </description>
474     !  <arg index="1" id="Quadric ID" min="1" max="DIM_QUADRIC"/>
475     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
476           n_x = ZERO
477     !</keyword>
478     
479     !<keyword category="Cartesian grid" required="false">
480     !  <description>
481     !    Y-component of normal vector defining the plane (used when
482     !    QUADRIC_FORM = PLANE).
483     !  </description>
484     !  <arg index="1" id="Quadric ID" min="1" max="DIM_QUADRIC"/>
485     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
486           n_y = ZERO
487     !</keyword>
488     
489     !<keyword category="Cartesian grid" required="false">
490     !  <description>
491     !    Z-component of normal vector defining the plane (used when
492     !    QUADRIC_FORM = PLANE).
493     !  </description>
494     !  <arg index="1" id="Quadric ID" min="1" max="DIM_QUADRIC"/>
495     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
496           n_z = ZERO
497     !</keyword>
498     
499     !<keyword category="Cartesian grid" required="false">
500     !  <description>Translation in x-direction.</description>
501     !  <arg index="1" id="Quadric ID" min="1" max="DIM_QUADRIC"/>
502     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
503           t_x = ZERO
504     !</keyword>
505     
506     !<keyword category="Cartesian grid" required="false">
507     !  <description>Translation in y-direction.</description>
508     !  <arg index="1" id="Quadric ID" min="1" max="DIM_QUADRIC"/>
509     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
510           t_y = ZERO
511     !</keyword>
512     
513     !<keyword category="Cartesian grid" required="false">
514     !  <description>Translation in z-direction.</description>
515     !  <arg index="1" id="Quadric ID" min="1" max="DIM_QUADRIC"/>
516     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
517           t_z = ZERO
518     !</keyword>
519     
520     !<keyword category="Cartesian grid" required="false">
521     !  <description>Lower x-limit where the quadric is defined.</description>
522     !  <arg index="1" id="Quadric ID" min="1" max="DIM_QUADRIC"/>
523     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
524           clip_xmin = - LARGE_NUMBER
525     !</keyword>
526     
527     !<keyword category="Cartesian grid" required="false">
528     !  <description>Upper x-limit where the quadric is defined.</description>
529     !  <arg index="1" id="Quadric ID" min="1" max="DIM_QUADRIC"/>
530     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
531           clip_xmax =   LARGE_NUMBER
532     !</keyword>
533     
534     !<keyword category="Cartesian grid" required="false">
535     !  <description>Lower y-limit where the quadric is defined.</description>
536     !  <arg index="1" id="Quadric ID" min="1" max="DIM_QUADRIC"/>
537     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
538           clip_ymin = - LARGE_NUMBER
539     !</keyword>
540     
541     !<keyword category="Cartesian grid" required="false">
542     !  <description>Upper y-limit where the quadric is defined.</description>
543     !  <arg index="1" id="Quadric ID" min="1" max="DIM_QUADRIC"/>
544     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
545           clip_ymax =   LARGE_NUMBER
546     !</keyword>
547     
548     !<keyword category="Cartesian grid" required="false">
549     !  <description>Lower z-limit where the quadric is defined.</description>
550     !  <arg index="1" id="Quadric ID" min="1" max="DIM_QUADRIC"/>
551     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
552           clip_zmin = - LARGE_NUMBER
553     !</keyword>
554     
555     !<keyword category="Cartesian grid" required="false">
556     !  <description>Upper z-limit where the quadric is defined.</description>
557     !  <arg index="1" id="Quadric ID" min="1" max="DIM_QUADRIC"/>
558     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
559           clip_zmax =   LARGE_NUMBER
560     !</keyword>
561     
562     !<keyword category="Cartesian grid" required="false">
563     !  <description>Lower x-limit where the quadric is defined in a piecewise group.</description>
564     !  <arg index="1" id="Quadric ID" min="1" max="DIM_QUADRIC"/>
565     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
566           piece_xmin = - LARGE_NUMBER
567     !</keyword>
568     
569     !<keyword category="Cartesian grid" required="false">
570     !  <description>Upper z-limit where the quadric is defined in a piecewise group.</description>
571     !  <arg index="1" id="Quadric ID" min="1" max="DIM_QUADRIC"/>
572     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
573           piece_xmax =   LARGE_NUMBER
574     !</keyword>
575     
576     !<keyword category="Cartesian grid" required="false">
577     !  <description>Lower y-limit where the quadric is defined in a piecewise group.</description>
578     !  <arg index="1" id="Quadric ID" min="1" max="DIM_QUADRIC"/>
579     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
580           piece_ymin = - LARGE_NUMBER
581     !</keyword>
582     
583     !<keyword category="Cartesian grid" required="false">
584     !  <description>Upper y-limit where the quadric is defined in a piecewise group.</description>
585     !  <arg index="1" id="Quadric ID" min="1" max="DIM_QUADRIC"/>
586     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
587           piece_ymax =   LARGE_NUMBER
588     !</keyword>
589     
590     !<keyword category="Cartesian grid" required="false">
591     !  <description>Lower z-limit where the quadric is defined in a piecewise group.</description>
592     !  <arg index="1" id="Quadric ID" min="1" max="DIM_QUADRIC"/>
593     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
594           piece_zmin = - LARGE_NUMBER
595     !</keyword>
596     
597     !<keyword category="Cartesian grid" required="false">
598     !  <description>Upper z-limit where the quadric is defined in a piecewise group.</description>
599     !  <arg index="1" id="Quadric ID" min="1" max="DIM_QUADRIC"/>
600     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
601           piece_zmax =   LARGE_NUMBER
602     !</keyword>
603     
604     
605     !<keyword category="Cartesian grid" required="false">
606     !  <description>
607     !    Flag defining the type of cells that are outside of the zone
608     !    defined by [CLIP_XMIN; CLIP_XMAX], [CLIP_YMIN; CLIP_YMAX],
609     !    [CLIP_ZMIN; CLIP_ZMAX].
610     !  </description>
611     !  <arg index="1" id="Quadric ID" min="1" max="DIM_QUADRIC"/>
612     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
613     !  <valid value=".false." note="Remove cells from computational domain."/>
614     !  <valid value=".true." note="Treat cells as fluid cells."/>
615           FLUID_IN_CLIPPED_REGION = .TRUE.
616     !</keyword>
617     
618     !<keyword category="Cartesian grid" required="false">
619     !  <description>Boundary condition flag.</description>
620     !  <arg index="1" id="Quadric ID" min="1" max="DIM_QUADRIC"/>
621     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
622           BC_ID_Q = UNDEFINED_I
623     !</keyword>
624     
625     !<keyword category="Cartesian grid" required="false">
626     !  <description>Number of group(s) of quadrics (<=50).</description>
627     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
628           N_GROUP = 1
629     !</keyword>
630     
631     !<keyword category="Cartesian grid" required="false">
632     !  <description>Number of quadrics in the group.</description>
633     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
634           GROUP_SIZE(1) = 1
635     !</keyword>
636           GROUP_SIZE(2:DIM_GROUP) = 0
637     
638     !<keyword category="Cartesian grid" required="false">
639     !  <description>Quadric ID assigned to a group.</description>
640     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
641           GROUP_Q = 0
642     !</keyword>
643     
644           GROUP_Q(1,1) = 1
645     !<keyword category="Cartesian grid" required="false">
646     !  <description>Relation among quadrics of a same group.</description>
647     !  <valid value="or" note="A point belongs to the computational domain
648     !    if at least one of f(x,y,z) among all quadrics is negative."/>
649     !  <valid value="and" note="A point belongs to the computational domain
650     !    if all of f(x,y,z) among all quadrics are negative."/>
651     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
652           GROUP_RELATION = 'OR'
653     !</keyword>
654     
655     !<keyword category="Cartesian grid" required="false">
656     
657     !  <description>
658     !    Relation between current group and combination of all previous groups.
659     !  </description>
660     !  <valid value="or" note="A point belongs to the computational domain
661     !    if f-value for the current group or f-value for the combination of
662     !    previous groups is negative."/>
663     !  <valid value="and" note="A point belongs to the computational
664     !    domain if f-value for the current group and f-value for the
665     !    combination of previous groups is negative."/>
666     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
667           RELATION_WITH_PREVIOUS = 'OR'
668     !</keyword>
669     
670     !<keyword category="Cartesian grid" required="false">
671     !  <description>Tolerance used to snap an intersection point onto an
672     !  existing cell corner (expressed as a fraction of edge length,
673     !  between 0.0 and 0.5). For stretched grids, three values can be
674     !  entered in the x, y and z directions.</description>
675     !  <range min="0.0" max="0.5" />
676     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
677           TOL_SNAP(1)    = 0.00D0  ! 0% of original edge length
678     !</keyword>
679           TOL_SNAP(2)    = UNDEFINED
680           TOL_SNAP(3)    = UNDEFINED
681     
682     !<keyword category="Cartesian grid" required="false">
683     !  <description>Tolerance used to limit acceptable values of normal
684     !  distance to the wall (expressed as a fraction of cell diagonal,
685     !  between 0.0 and 1.0).</description>
686     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
687           TOL_DELH       = 0.00D0  ! 0% of original Diagonal
688     !</keyword>
689     
690     !<keyword category="Cartesian grid" required="false">
691     !  <description>Tolerance used to detect small cells (expressed as a
692     !  fraction of cell volume, between 0.0 and 1.0).</description>
693     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
694           TOL_SMALL_CELL = 0.01D0  ! 1% of original cell volume
695     !</keyword>
696     
697     !<keyword category="Cartesian grid" required="false">
698     !  <description>Tolerance used to remove duplicate nodes (expressed as
699     !  a fraction of cell diagonal, between 0.0 and 1.0).</description>
700           TOL_MERGE      = 1.0D-12 ! fraction of original cell diagonal
701     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
702     !</keyword>
703     
704     !<keyword category="Cartesian grid" required="false">
705     !  <description>Tolerance used to detect small faces (expressed as a
706     !  fraction of original face area, between 0.0 and 1.0).</description>
707     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
708           TOL_SMALL_AREA = 0.01D0  ! 1% of original face area
709     !</keyword>
710     
711     !<keyword category="Cartesian grid" required="false">
712     !  <description>Maximum acceptable value of interpolation correction factor.</description>
713     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
714           ALPHA_MAX      = ONE
715     !</keyword>
716     
717     !<keyword category="Cartesian grid" required="false">
718     !  <description>Tolerance used to find intersection of quadric surfaces or user-defined function with background grid.</description>
719     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
720           TOL_F     = 1.0D-9
721     !</keyword>
722     
723     !<keyword category="Cartesian grid" required="false">
724     !  <description>Tolerance used to find intersection of polygon with background grid.</description>
725     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
726           TOL_POLY  = 1.0D-9
727     !</keyword>
728     
729     !<keyword category="Cartesian grid" required="false">
730     !  <description>Maximum number of iterations used to find intersection points.</description>
731     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
732           ITERMAX_INT = 10000
733     !</keyword>
734     
735     !<keyword category="Cartesian grid" required="false">
736     !  <description>Tolerance used to find intersection of STL triangles with background grid.</description>
737     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
738           TOL_STL = 1.0D-6        ! Settings for STL file
739     !</keyword>
740     
741     !<keyword category="Cartesian grid" required="false">
742     !  <description>Smallest angle accepted for valid STL triangles (in
743     !  degrees). Triangles having an angle smaller that this value will be
744     !  ignored.</description>
745     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
746           STL_SMALL_ANGLE = 5.0   ! Degrees
747     !</keyword>
748     
749     !<keyword category="Cartesian grid" required="false">
750     !  <description>
751     !    Dot product tolerance when determining if a point lies in a facet.
752     !  </description>
753     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
754           TOL_STL_DP = 1.0D-3        ! Settings for STL file
755     !</keyword>
756     
757     !<keyword category="Cartesian grid" required="false">
758     !  <description>Maximum number of STL facets per cell.</description>
759     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
760           DIM_FACETS_PER_CELL  = 10        !
761     !</keyword>
762     
763     !<keyword category="Cartesian grid" required="false">
764     !  <description>
765     !    Maximum number of STL facets per cell for des data arrays.
766     !  </description>
767     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
768           MAX_FACETS_PER_CELL_DES  = 24
769     !</keyword>
770     
771     
772     !<keyword category="Cartesian grid" required="false">
773     !  <description>Defines value of F_STL outside of the STL geometry. a
774     !  value of 1.0 means the domain outside of the STL geometry is
775     !  excluded from computation, i.e., an internal flow is
776     !  computed.</description>
777     !  <valid value="-1.0" note="model an external flow"/>
778     !  <valid value="1.0" note="model an internal flow"/>
779     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
780           OUT_STL_VALUE = 1.0
781     !</keyword>
782     
783     !<keyword category="Cartesian grid" required="false">
784     !  <description>Boundary condition flag for the STL geometry</description>
785     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
786           STL_BC_ID = UNDEFINED_I
787     !</keyword>
788     
789     !<keyword category="Cartesian grid" required="false">
790     !  <description>
791     !    Translation in x-direction, applied to the STL geometry.
792     !  </description>
793     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
794           TX_STL = ZERO
795     !</keyword>
796     
797     !<keyword category="Cartesian grid" required="false">
798     !  <description>
799     !    Translation in y-direction, applied to the STL geometry.
800     !  </description>
801     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
802           TY_STL = ZERO
803     !</keyword>
804     
805     !<keyword category="Cartesian grid" required="false">
806     !  <description>
807     !    Translation in z-direction, applied to the STL geometry.
808     !  </description>
809     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
810           TZ_STL = ZERO
811     !</keyword>
812     
813     !<keyword category="Cartesian grid" required="false">
814     !  <description>
815     !    Scaling factor, applied to the STL geometry. Note that translation
816     !    occurs after scaling.
817     !  </description>
818     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
819           SCALE_STL = ONE
820     !</keyword>
821     
822     !<keyword category="Cartesian grid" required="false">
823     !  <description>
824     !    Tolerance used to find intersection of .msh file with background grid.
825     !  </description>
826     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
827           TOL_MSH = 1.0D-6        ! Settings for MSH file
828     !</keyword>
829     
830     !<keyword category="Cartesian grid" required="false">
831     !  <description>Defines value of f outside of the .msh geometry. a
832     !  value of 1.0 means the domain outside of the .msh geometry is
833     !  excluded from computation, i.e., an internal flow is
834     !  computed.</description>
835     !  <valid value="-1.0" note="model an external flow"/>
836     !  <valid value="1.0" note="model an internal flow"/>
837     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
838           OUT_MSH_VALUE = 1.0
839     !</keyword>
840     
841     !<keyword category="Cartesian grid" required="false">
842     !  <description>Translation in x-direction, applied to the .msh geometry.</description>
843     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
844           TX_MSH = ZERO
845     !</keyword>
846     
847     !<keyword category="Cartesian grid" required="false">
848     !  <description>Translation in y-direction, applied to the .msh geometry.</description>
849     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
850           TY_MSH = ZERO
851     !</keyword>
852     
853     !<keyword category="Cartesian grid" required="false">
854     !  <description>Translation in z-direction, applied to the .msh geometry.</description>
855     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
856           TZ_MSH = ZERO
857     !</keyword>
858     
859     !<keyword category="Cartesian grid" required="false">
860     !  <description>Scaling factor, applied to the .msh geometry. Note that translation occurs after scaling.</description>
861     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
862           SCALE_MSH = ONE
863     !</keyword>
864     
865     !<keyword category="Cartesian grid" required="false">
866     !  <description>
867     !    Ray propagation order used to determine whether any point is
868     !    located inside or outside of the STL surface.
869     !  </description>
870     !  <valid value="ijk" note="Propagation occurs in the
871     !    I, followed by J, and K directions"/>
872     !  <valid value="jki" note="Propagation occurs in the
873     !    J, followed by K, and I directions"/>
874     !  <valid value="kij" note="Propagation occurs in the
875     !    K, followed by I, and J directions"/>
876     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
877           CAD_PROPAGATE_ORDER = '   '
878     !</keyword>
879     
880     !<keyword category="Cartesian grid" required="false">
881     !  <description>Ray direction when propagating CAD value</description>
882     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
883           RAY_DIR = 'X-'
884     !</keyword>
885     
886     !<keyword category="Cartesian grid" required="false">
887     !  <description>
888     !    Flag to detect and treat corner cells the same way as
889     !    in the original MFIX version (i.e. without cut cells).
890     !  </description>
891     !  <valid value=".true." note="Some cut cells may be treated as corner cells."/>
892     !  <valid value=".false." note="Do not treat cut cells as corner cells."/>
893     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
894           SET_CORNER_CELLS = .FALSE.
895     !</keyword>
896     
897     !<keyword category="Cartesian grid" required="false">
898     !  <description>
899     !    Factor used to allocate cut cell arrays (expressed as a fraction
900     !    of DIMENSION_3G).
901     !  </description>
902     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
903           FAC_DIM_MAX_CUT_CELL = 0.25
904     !</keyword>
905     
906     !<keyword category="Output Control" required="false">
907     !  <description>Write VTK files at regular intervals.</description>
908     !  <valid value=".false." note="Do not write VTK files. if there are
909     !  cut cells, they will not be displayed from the usual .res file"/>
910     !  <valid value=".true." note="Valid only if Cartesian_grid = .true."/>
911     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
912           WRITE_VTK_FILES = .FALSE.
913     !</keyword>
914     
915     !<keyword category="Output Control" required="false">
916     !  <description>Use time-dependent VTK file names</description>
917     !  <valid value=".false." note="The VTK file overwrites the previous
918     !    file (recommended for steady-state computation)."/>
919     !  <valid value=".true." note="A sequential integer is appended to the
920     !    VTK filenames as they are written to create a series of files
921     !    (recommended for transient computation)."/>
922     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
923           TIME_DEPENDENT_FILENAME = .TRUE.
924     !</keyword>
925     
926     !<keyword category="Output Control" required="false">
927     !  <description>
928     !    Interval (expressed in seconds of simulation time) at which VTK
929     !    files are written.
930     !  </description>
931     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
932           VTK_DT     = UNDEFINED
933     !</keyword>
934     
935     !<keyword category="Output Control" required="false">
936     !  <description>When VTK_DBG_FILE is .TRUE., the VTK region file is only written
937     !   when the subroutine WRITE_DBG_VTU_AND_VTP_FILES is called, typically in a UDF.
938     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
939           VTK_DBG_FILE = .FALSE.
940     !</keyword>
941     
942     
943     
944     !<keyword category="Output Control" required="false">
945     !  <description>List of variables written in the VTK files.</description>
946     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
947     !  <valid value="1" note="Void fraction (EP_g)"/>
948     !  <valid value="2" note="Gas pressure, solids pressure (P_g, P_star)"/>
949     !  <valid value="3" note="Gas velocity (U_g, V_g, W_g)"/>
950     !  <valid value="4" note="Solids velocity (U_s, V_s, W_s)"/>
951     !  <valid value="5" note="Solids density (ROP_s)"/>
952     !  <valid value="6" note="Gas and solids temperature (T_g, T_s)"/>
953     !  <valid value="7" note="Gas and solids mass fractions (X_g, X_s)"/>
954     !  <valid value="8" note="Granular temperature (Theta_m)"/>
955     !  <valid value="9" note="Scalar"/>
956     !  <valid value="10" note="Reaction rates"/>
957     !  <valid value="11" note="K and Epsilon"/>
958     !  <valid value="12" note="Vorticity magnitude and lambda_2"/>
959     !  <valid value="100" note="Grid Partition"/>
960     !  <valid value="101" note="Boundary Condition ID"/>
961     !  <valid value="102" note="Distance to wall"/>
962     !  <valid value="103" note="DEM facet count"/>
963     !  <valid value="104" note="DEM Neighboring facets"/>
964     !  <valid value="999" note="Cell IJK index"/>
965     !  <valid value="1000" note="Cut face normal vector"/>
966           VTK_VAR(1) = UNDEFINED_I
967     !</keyword>
968           VTK_VAR(2:20) = UNDEFINED_I
969     
970     !<keyword category="Output Control" required="false">
971     !  <description>Write void fraction in VTK file.</description>
972     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
973           VTK_EP_g = .FALSE.
974     !</keyword>
975     
976     
977     !<keyword category="Output Control" required="false">
978     !  <description>Write gas pressure in VTK file.</description>
979     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
980           VTK_P_g = .FALSE.
981     !</keyword>
982     
983     !<keyword category="Output Control" required="false">
984     !  <description>Write solids pressure in VTK file.</description>
985     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
986           VTK_P_star = .FALSE.
987     !</keyword>
988     
989     !<keyword category="Output Control" required="false">
990     !  <description>Write gas velocity vector in VTK file.</description>
991     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
992           VTK_VEL_g = .FALSE.
993     !</keyword>
994     
995     !<keyword category="Output Control" required="false">
996     !  <description>Write x-component of gas velocity vector in VTK file.</description>
997     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
998           VTK_U_g = .FALSE.
999     !</keyword>
1000     
1001     !<keyword category="Output Control" required="false">
1002     !  <description>Write y-component of gas velocity vector in VTK file.</description>
1003     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
1004           VTK_V_g = .FALSE.
1005     !</keyword>
1006     
1007     !<keyword category="Output Control" required="false">
1008     !  <description>Write z-component of gas velocity vector in VTK file.</description>
1009     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
1010           VTK_W_g = .FALSE.
1011     !</keyword>
1012     
1013     !<keyword category="Output Control" required="false">
1014     !  <description>Write solids velocity vector in VTK file.</description>
1015     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
1016           VTK_VEL_S = .FALSE.
1017     !</keyword>
1018     
1019     !<keyword category="Output Control" required="false">
1020     !  <description>Write x-component of solids velocity vector in VTK file.</description>
1021     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
1022           VTK_U_s = .FALSE.
1023     !</keyword>
1024     
1025     !<keyword category="Output Control" required="false">
1026     !  <description>Write y-component of solids velocity vector in VTK file.</description>
1027     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
1028           VTK_V_s = .FALSE.
1029     !</keyword>
1030     
1031     !<keyword category="Output Control" required="false">
1032     !  <description>Write z-component of solids velocity vector in VTK file.</description>
1033     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
1034           VTK_W_s = .FALSE.
1035     !</keyword>
1036     
1037     !<keyword category="Output Control" required="false">
1038     !  <description>Write solids bulk density in VTK file.</description>
1039     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
1040           VTK_ROP_s = .FALSE.
1041     !</keyword>
1042     
1043     !<keyword category="Output Control" required="false">
1044     !  <description>Write gas temperature in VTK file.</description>
1045     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
1046           VTK_T_g = .FALSE.
1047     !</keyword>
1048     
1049     !<keyword category="Output Control" required="false">
1050     !  <description>Write solids temperature in VTK file.</description>
1051     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
1052           VTK_T_s = .FALSE.
1053     !</keyword>
1054     
1055     !<keyword category="Output Control" required="false">
1056     !  <description>Write gas phase species in VTK file.</description>
1057     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
1058           VTK_X_g = .FALSE.
1059     !</keyword>
1060     
1061     !<keyword category="Output Control" required="false">
1062     !  <description>Write solids phase species in VTK file.</description>
1063     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
1064           VTK_X_s = .FALSE.
1065     !</keyword>
1066     
1067     !<keyword category="Output Control" required="false">
1068     !  <description>Write granular temperature in VTK file.</description>
1069     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
1070           VTK_Theta_m = .FALSE.
1071     !</keyword>
1072     
1073     !<keyword category="Output Control" required="false">
1074     !  <description>Write scalar in VTK file.</description>
1075     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
1076           VTK_Scalar =.FALSE.
1077     !</keyword>
1078     
1079     !<keyword category="Output Control" required="false">
1080     !  <description>Write reaction rates in VTK file.</description>
1081     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
1082           VTK_RRate = .FALSE.
1083     !</keyword>
1084     
1085     !<keyword category="Output Control" required="false">
1086     !  <description>Write turbulent kinetic energy in VTK file.</description>
1087     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
1088           VTK_K_Turb_G = .FALSE.
1089     !</keyword>
1090     
1091     !<keyword category="Output Control" required="false">
1092     !  <description>Write turbulent dissipation rate in VTK file.</description>
1093     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
1094           VTK_E_Turb_G = .FALSE.
1095     !</keyword>
1096     
1097     !<keyword category="Output Control" required="false">
1098     !  <description>Write vorticity magnitude in VTK file.</description>
1099     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
1100           VTK_VORTICITY = .FALSE.
1101     !</keyword>
1102     
1103     !<keyword category="Output Control" required="false">
1104     !  <description>Write lambda_2 in VTK file.</description>
1105     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
1106           VTK_LAMBDA_2  = .FALSE.
1107     !</keyword>
1108     
1109     !<keyword category="Output Control" required="false">
1110     !  <description>Write void grid partition in VTK file.</description>
1111     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
1112           VTK_PARTITION = .FALSE.
1113     !</keyword>
1114     
1115     !<keyword category="Output Control" required="false">
1116     !  <description>Write boundary condition ID in VTK file.</description>
1117     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
1118           VTK_BC_ID = .FALSE.
1119     !</keyword>
1120     
1121     !<keyword category="Output Control" required="false">
1122     !  <description>Write wall distance in VTK file.</description>
1123     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
1124           VTK_DWALL = .FALSE.
1125     !</keyword>
1126     
1127     !<keyword category="Output Control" required="false">
1128     !  <description>Write STL facet count for DES in VTK file.</description>
1129     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
1130           VTK_FACET_COUNT_DES = .FALSE.
1131     !</keyword>
1132     
1133     !<keyword category="Output Control" required="false">
1134     !  <description>Write neighboring facets in VTK file.</description>
1135     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
1136           VTK_NB_FACET_DES = .FALSE.
1137     !</keyword>
1138     
1139     !<keyword category="Output Control" required="false">
1140     !  <description>Write cell IJK index in VTK file.</description>
1141     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
1142           VTK_IJK = .FALSE.
1143     !</keyword>
1144     
1145     !<keyword category="Output Control" required="false">
1146     !  <description>Write cut face normal vector in VTK file.</description>
1147     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
1148           VTK_NORMAL = .FALSE.
1149     !</keyword>
1150     
1151     !<keyword category="Output Control" required="false">
1152     !  <description>Write debug variable in VTK file.</description>
1153     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
1154           VTK_DEBUG = .FALSE.
1155     !</keyword>
1156     
1157     !<keyword category="Output Control" required="false">
1158     !  <description>Type of data to write in the VTK file.</description>
1159     !  <valid value="C" note="Cell data (VTU file)."/>
1160     !  <valid value="P" note="Particle data (VTP file)."/>
1161     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
1162           VTK_DATA = 'C'
1163     !</keyword>
1164     
1165     !<keyword category="Output Control" required="false">
1166     !  <description>Tolerance to detect particle in a VTK region.</description>
1167     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
1168           VTK_SLICE_TOL = ZERO
1169     !</keyword>
1170     
1171     !<keyword category="Output Control" required="false">
1172     !  <description>Particle selection mode in a VTK region.</description>
1173     !  <valid value="C" note="Select particles with centers inside
1174     !    the VTK region."/>
1175     !  <valid value="P" note="Select particles that are entirely inside
1176     !    the VTK region."/>
1177     !  <valid value="I" note="Select particles that are inside or
1178     !    intersect the edges of the VTK region."/>
1179     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
1180           VTK_SELECT_MODE = 'C'
1181     !</keyword>
1182     
1183     !<keyword category="Output Control" required="false">
1184     !  <description>Write particle radius in VTK file.</description>
1185     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
1186           VTK_PART_DIAMETER= .FALSE.
1187     !</keyword>
1188     
1189     
1190     !<keyword category="Output Control" required="false">
1191     !  <description>Write particle velocity in VTK file.</description>
1192     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
1193           VTK_PART_VEL= .FALSE.
1194     !</keyword>
1195     
1196     !<keyword category="Output Control" required="false">
1197     !  <description>Write particle angular velocity in VTK file.</description>
1198     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
1199           VTK_PART_ANGULAR_VEL= .FALSE.
1200     !</keyword>
1201     
1202     !<keyword category="Output Control" required="false">
1203     !  <description>Write particle angular velocity in VTK file.</description>
1204     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
1205           VTK_PART_ORIENTATION= .FALSE.
1206     !</keyword>
1207     
1208     !<keyword category="Output Control" required="false">
1209     !  <description>Write particle user-defined variable in VTK file.</description>
1210     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
1211           VTK_PART_USR_VAR= .FALSE.
1212     !</keyword>
1213     
1214     !<keyword category="Output Control" required="false">
1215     !  <description>Write particle temperature in VTK file.</description>
1216     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
1217           VTK_PART_TEMP= .FALSE.
1218     !</keyword>
1219     
1220     !<keyword category="Output Control" required="false">
1221     !  <description>Write particle species mass fraction in VTK file.</description>
1222     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
1223           VTK_PART_X_s= .FALSE.
1224     !</keyword>
1225     
1226     !<keyword category="Output Control" required="false">
1227     !  <description>Write particle cohesion in VTK file.</description>
1228     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
1229           VTK_PART_COHESION= .FALSE.
1230     !</keyword>
1231     
1232     
1233     !<keyword category="Output Control" required="false">
1234     !  <description>Starting Index appended to VTU files</description>
1235     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
1236           FRAME = -1
1237     !</keyword>
1238     
1239     !<keyword category="Output Control" required="false">
1240     !  <description>Directory where vtk files are stored (default is run directory)</description>
1241     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
1242           VTU_DIR = '.'
1243     !</keyword>
1244     
1245     !<keyword category="Output Control" required="false">
1246     !  <description>West location of VTK region.</description>
1247     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
1248              VTK_X_W = -UNDEFINED
1249     !</keyword>
1250     
1251     !<keyword category="Output Control" required="false">
1252     !  <description>East location of VTK region.</description>
1253     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
1254              VTK_X_E = UNDEFINED
1255     !</keyword>
1256     
1257     !<keyword category="Output Control" required="false">
1258     !  <description>South location of VTK region.</description>
1259     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
1260              VTK_Y_S = -UNDEFINED
1261     !</keyword>
1262     
1263     !<keyword category="Output Control" required="false">
1264     !  <description>North location of VTK region.</description>
1265     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
1266              VTK_Y_N = UNDEFINED
1267     !</keyword>
1268     
1269     !<keyword category="Output Control" required="false">
1270     !  <description>Bottom location of VTK region.</description>
1271     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
1272              VTK_Z_B = -UNDEFINED
1273     !</keyword>
1274     
1275     !<keyword category="Output Control" required="false">
1276     !  <description>West location of VTK region.</description>
1277     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
1278              VTK_Z_T = UNDEFINED
1279     !</keyword>
1280     
1281     
1282     !<keyword category="Cartesian grid" required="false">
1283     !  <description>
1284     !    Option for pressure gradient computation in cut cells.
1285     !  </description>
1286     !  <valid value="1" note="Use maximum of (east/west), (north/south),
1287     !    and (top/bottom) pairs of velocity cells."/>
1288     !  <valid value="2" note="Use both (east/west), (north/south), and
1289     !    (top/bottom) areas of velocity cells."/>
1290     !  <valid value="0" note="Use east, north and top areas of pressure cell (same as standard cells)."/>
1291     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
1292           PG_OPTION = 0
1293     !</keyword>
1294     
1295     !<keyword category="Cartesian grid" required="false">
1296     !  <description>Run code in safe mode.</description>
1297     !  <valid value="1" note="Performs initial preprocessing but use all
1298     !    original MFIX subroutines during flow solution (using only cell
1299     !    volumes and areas of cut cells)."/>
1300     !  <valid value="0" note="Runs the code with modified subroutines for
1301     !    cut cell treatment."/>
1302     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
1303           CG_SAFE_MODE = 0
1304     !</keyword>
1305     
1306     !<keyword category="Cartesian grid" required="false">
1307     !  <description>
1308     !    Prints any warning message encountered during pre-processing
1309     !    on the screen.
1310     !  </description>
1311     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
1312           PRINT_WARNINGS = .FALSE.
1313     !</keyword>
1314     
1315     !<keyword category="Cartesian grid" required="false">
1316     !  <description>
1317     !    Under-relaxation factor used in cut cells (only CG_UR_FAC(2) is used).
1318     !  </description>
1319     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
1320           CG_UR_FAC = 1.0
1321     !</keyword>
1322     
1323     !<keyword category="Cartesian grid" required="false">
1324     !  <description>
1325     !    Print a progress bar during each major step of pre-processing stage.
1326     !  </description>
1327     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
1328           PRINT_PROGRESS_BAR = .FALSE.
1329     !</keyword>
1330     
1331     !<keyword category="Cartesian grid" required="false">
1332     !  <description>
1333     !    Width of the progress bar (complete status), expressed in number
1334     !    of characters (between 10 and 80).
1335     !  </description>
1336     !  <range min="10" max="80" />
1337     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
1338           BAR_WIDTH = 50
1339     !</keyword>
1340     
1341     !<keyword category="Cartesian grid" required="false">
1342     !  <description>Character used to create the progress bar.</description>
1343     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
1344           BAR_CHAR  = '='
1345     !</keyword>
1346     
1347     !<keyword category="Cartesian grid" required="false">
1348     !  <description>
1349     !    Update frequency of progress bar, expressed in percent of total
1350     !    length (between 1.0 and 100.0).
1351     !  </description>
1352     !  <range min="1.0" max="100.0" />
1353     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
1354           BAR_RESOLUTION = 5.0
1355     !</keyword>
1356     
1357     !<keyword category="Cartesian grid" required="false">
1358     !  <description>
1359     !    Writes the file dashboard.txt at regular intervals. The file shows
1360     !    a summary of the simulation progress.
1361     !  </description>
1362           WRITE_DASHBOARD = .FALSE.
1363     !</keyword>
1364     
1365     !<keyword category="Cartesian grid" required="false">
1366     !  <description>
1367     !    Frequency, expressed in terms of iterations, at which the dashboard
1368     !    is updated.
1369     !  </description>
1370           F_DASHBOARD = 1
1371     !</keyword>
1372     
1373     !<keyword category="Geometry and Discretization" required="false">
1374     !  <description>Location of control points in x-direction.</description>
1375           CPX = ZERO
1376     !</keyword>
1377     
1378     !<keyword category="Geometry and Discretization" required="false">
1379     !  <description>Number of cells within a segment (x-direction).</description>
1380           NCX      = 0
1381     !</keyword>
1382     
1383     !<keyword category="Geometry and Discretization" required="false">
1384     !  <description>
1385     !    Expansion ratio (last DX/first DX) in a segment (x-direction).
1386     !  </description>
1387           ERX      = ONE
1388     !</keyword>
1389     
1390     !<keyword category="Geometry and Discretization" required="false">
1391     !  <description>Value of first DX in a segment (x-direction). A negative
1392     !      value will copy DX from previous segment (if available).
1393     !  </description>
1394           FIRST_DX = ZERO
1395     !</keyword>
1396     
1397     !<keyword category="Geometry and Discretization" required="false">
1398     !  <description>Value of last DX in a segment (x-direction). A
1399     !  negative value will copy DX from next segment (if
1400     !  available).</description>
1401           LAST_DX  = ZERO
1402     !</keyword>
1403     
1404     
1405     !<keyword category="Geometry and Discretization" required="false">
1406     !  <description>Location of control points in y-direction.</description>
1407           CPY = ZERO
1408     !</keyword>
1409     
1410     !<keyword category="Geometry and Discretization" required="false">
1411     !  <description>
1412     !    Number of cells within a segment (y-direction).
1413     !  </description>
1414           NCY = 0
1415     !</keyword>
1416     
1417     !<keyword category="Geometry and Discretization" required="false">
1418     !  <description>
1419     !    Expansion ratio (last DY/first DY) in a segment (y-direction).
1420     !  </description>
1421           ERY = ONE
1422     !</keyword>
1423     
1424     !<keyword category="Geometry and Discretization" required="false">
1425     !  <description>
1426     !    Value of first DY in a segment (y-direction). A negative value will
1427     !    copy DY from previous segment (if available).
1428     !  </description>
1429           FIRST_DY = ZERO
1430     !</keyword>
1431     
1432     !<keyword category="Geometry and Discretization" required="false">
1433     !  <description>
1434     !    Value of last DY in a segment (y-direction). A negative value will
1435     !    copy DY from next segment (if available).
1436     !  </description>
1437           LAST_DY  = ZERO
1438     !</keyword>
1439     
1440     !<keyword category="Geometry and Discretization" required="false">
1441     !  <description>Location of control points in z-direction.</description>
1442           CPZ = ZERO
1443     !</keyword>
1444     
1445     !<keyword category="Geometry and Discretization" required="false">
1446     !  <description>
1447     !    Number of cells within a segment (z-direction).
1448     !  </description>
1449           NCZ = 0
1450     !</keyword>
1451     
1452     !<keyword category="Geometry and Discretization" required="false">
1453     !  <description>
1454     !    Expansion ratio (last DZ/first DZ) in a segment (z-direction).
1455     !  </description>
1456           ERZ      = ONE
1457     !</keyword>
1458     
1459     !<keyword category="Geometry and Discretization" required="false">
1460     !  <description>
1461     !    Value of first DZ in a segment (z-direction). A negative value will
1462     !    copy DZ from previous segment (if available).
1463     !  </description>
1464           FIRST_DZ = ZERO
1465     !</keyword>
1466     
1467     !<keyword category="Geometry and Discretization" required="false">
1468     !  <description>
1469     !    Value of last DZ in a segment (z-direction). A negative value will
1470     !    copy DZ from next segment (if available).
1471     !  </description>
1472           LAST_DZ  = ZERO
1473     !</keyword>
1474     
1475     !<keyword category="Cartesian grid" required="false">
1476     !  <description>
1477     !    Turns on the re-indexing of cells. When true, inactive (dead)
1478     !    cells are removed from computational domain.
1479     !  </description>
1480     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
1481           RE_INDEXING = .FALSE.
1482     !</keyword>
1483     
1484     !<keyword category="Cartesian grid" required="false">
1485     !  <description>
1486     !    Attempts to adjust grid partition. Each processor will be assigned
1487     !    its own size to minimize load imbalance.
1488     !  </description>
1489     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
1490           ADJUST_PROC_DOMAIN_SIZE = .FALSE.
1491     !</keyword>
1492     
1493     !<keyword category="Cartesian grid" required="false">
1494     !  <description>
1495     !    Attempts to adjust grid partition. Each processor will
1496     !    be assigned its own size to minimize load imbalance.
1497     !  </description>
1498     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
1499           REPORT_BEST_DOMAIN_SIZE = .FALSE.
1500     !</keyword>
1501     
1502     !<keyword category="Cartesian grid" required="false">
1503     !  <description>
1504     !    Temporary setting used in serial run to report best domain size
1505     !    for parallel run.
1506     !  </description>
1507     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
1508           NODESI_REPORT = 1
1509     !</keyword>
1510     
1511     !<keyword category="Cartesian grid" required="false">
1512     !  <description>
1513     !    Temporary setting used in serial run to report best domain size
1514     !    for parallel run.
1515     !  </description>
1516     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
1517           NODESJ_REPORT = 1
1518     !</keyword>
1519     
1520     !<keyword category="Cartesian grid" required="false">
1521     !  <description>
1522     !    Temporary setting used in serial run to report best domain size
1523     !    for parallel run.
1524     !  </description>
1525     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
1526           NODESK_REPORT = 1
1527     !</keyword>
1528     
1529     !<keyword category="Cartesian grid" required="false">
1530     !  <description>
1531     !    Attempts to minimize the size of the send/receive layers.
1532     !  </description>
1533     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
1534           MINIMIZE_SEND_RECV = .TRUE.
1535     !</keyword>
1536     
1537     !<keyword category="Cartesian grid" required="false">
1538     !  <description>Brute force calculation of wall distance.</description>
1539     !  <dependent keyword="CARTESIAN_GRID" value=".TRUE."/>
1540           DWALL_BRUTE_FORCE = .FALSE.
1541     !</keyword>
1542           RETURN
1543           END SUBROUTINE CARTESIAN_GRID_INIT_NAMELIST
1544