File: N:\mfix\model\cartesian_grid\cartesian_grid_init_namelist.f

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