xref: /honee/README.md (revision bb8a0c61f21224cefcdd60e71004bb99df1e9a58)
1ea10196cSJeremy L Thompson## libCEED: Navier-Stokes Example
2ea10196cSJeremy L Thompson
3ea10196cSJeremy L ThompsonThis page provides a description of the Navier-Stokes example for the libCEED library, based on PETSc.
4b9842f74SJeremy L ThompsonPETSc v3.17 or a development version of PETSc at commit 0e95d842 or later is required.
5ea10196cSJeremy L Thompson
6a515125bSLeila GhaffariThe Navier-Stokes problem solves the compressible Navier-Stokes equations in three dimensions using an explicit time integration.
7a515125bSLeila GhaffariThe state variables are mass density, momentum density, and energy density.
8ea10196cSJeremy L Thompson
9a515125bSLeila GhaffariThe main Navier-Stokes solver for libCEED is defined in [`navierstokes.c`](navierstokes.c) with different problem definitions according to the application of interest.
10ea10196cSJeremy L Thompson
11575f8106SLeila GhaffariBuild by using:
12ea10196cSJeremy L Thompson
13ea10196cSJeremy L Thompson`make`
14ea10196cSJeremy L Thompson
15575f8106SLeila Ghaffariand run with:
16ea10196cSJeremy L Thompson
17575f8106SLeila Ghaffari```
18575f8106SLeila Ghaffari./navierstokes -ceed [ceed] -problem [problem type] -degree [degree]
19575f8106SLeila Ghaffari```
20ea10196cSJeremy L Thompson
21575f8106SLeila Ghaffari## Runtime options
22ea10196cSJeremy L Thompson
23575f8106SLeila Ghaffari% inclusion-fluids-marker
24ea10196cSJeremy L Thompson
25575f8106SLeila GhaffariThe Navier-Stokes mini-app is controlled via command-line options.
26575f8106SLeila GhaffariThe following options are common among all problem types:
27ea10196cSJeremy L Thompson
28575f8106SLeila Ghaffari:::{list-table} Common Runtime Options
29575f8106SLeila Ghaffari:header-rows: 1
30ea10196cSJeremy L Thompson
31575f8106SLeila Ghaffari* - Option
32575f8106SLeila Ghaffari  - Description
33575f8106SLeila Ghaffari  - Default value
34ea10196cSJeremy L Thompson
35575f8106SLeila Ghaffari* - `-ceed`
36575f8106SLeila Ghaffari  - CEED resource specifier
37575f8106SLeila Ghaffari  - `/cpu/self/opt/blocked`
38ea10196cSJeremy L Thompson
39575f8106SLeila Ghaffari* - `-test`
40575f8106SLeila Ghaffari  - Run in test mode
41575f8106SLeila Ghaffari  - `false`
42ea10196cSJeremy L Thompson
43575f8106SLeila Ghaffari* - `-compare_final_state_atol`
44575f8106SLeila Ghaffari  - Test absolute tolerance
45575f8106SLeila Ghaffari  - `1E-11`
46ea10196cSJeremy L Thompson
47575f8106SLeila Ghaffari* - `-compare_final_state_filename`
48575f8106SLeila Ghaffari  - Test filename
49575f8106SLeila Ghaffari  -
50ea10196cSJeremy L Thompson
51575f8106SLeila Ghaffari* - `-problem`
52575f8106SLeila Ghaffari  - Problem to solve (`advection`, `advection2d`, `density_current`, or `euler_vortex`)
53575f8106SLeila Ghaffari  - `density_current`
54ea10196cSJeremy L Thompson
55575f8106SLeila Ghaffari* - `-implicit`
56575f8106SLeila Ghaffari  - Use implicit time integartor formulation
57575f8106SLeila Ghaffari  -
58ea10196cSJeremy L Thompson
59575f8106SLeila Ghaffari* - `-degree`
60575f8106SLeila Ghaffari  - Polynomial degree of tensor product basis (must be >= 1)
61575f8106SLeila Ghaffari  - `1`
62ea10196cSJeremy L Thompson
63c1680e98SJeremy L Thompson* - `-q_extra`
64575f8106SLeila Ghaffari  - Number of extra quadrature points
65575f8106SLeila Ghaffari  - `2`
66ea10196cSJeremy L Thompson
67575f8106SLeila Ghaffari* - `-viz_refine`
68575f8106SLeila Ghaffari  - Use regular refinement for visualization
69575f8106SLeila Ghaffari  - `0`
70ea10196cSJeremy L Thompson
71575f8106SLeila Ghaffari* - `-output_freq`
72575f8106SLeila Ghaffari  - Frequency of output, in number of steps
73575f8106SLeila Ghaffari  - `10`
74ea10196cSJeremy L Thompson
75575f8106SLeila Ghaffari* - `-continue`
76575f8106SLeila Ghaffari  - Continue from previous solution
77575f8106SLeila Ghaffari  - `0`
78ea10196cSJeremy L Thompson
79575f8106SLeila Ghaffari* - `-output_dir`
80575f8106SLeila Ghaffari  - Output directory
81575f8106SLeila Ghaffari  - `.`
82ea10196cSJeremy L Thompson
83f4277be3SLeila Ghaffari* - `-bc_wall`
84f4277be3SLeila Ghaffari  - Use wall boundary conditions on this list of faces
85f4277be3SLeila Ghaffari  -
86f4277be3SLeila Ghaffari
87f4277be3SLeila Ghaffari* - `-wall_comps`
88f4277be3SLeila Ghaffari  - An array of constrained component numbers for wall BCs
89f4277be3SLeila Ghaffari  -
90f4277be3SLeila Ghaffari
91f4277be3SLeila Ghaffari* - `-bc_slip_x`
92f4277be3SLeila Ghaffari  - Use slip boundary conditions, for the x component, on this list of faces
93f4277be3SLeila Ghaffari  -
94f4277be3SLeila Ghaffari
95f4277be3SLeila Ghaffari* - `-bc_slip_y`
96f4277be3SLeila Ghaffari  - Use slip boundary conditions, for the y component, on this list of faces
97f4277be3SLeila Ghaffari  -
98f4277be3SLeila Ghaffari
99f4277be3SLeila Ghaffari* - `-bc_slip_z`
100f4277be3SLeila Ghaffari  - Use slip boundary conditions, for the z component, on this list of faces
101f4277be3SLeila Ghaffari  -
102f4277be3SLeila Ghaffari
103f4277be3SLeila Ghaffari* - `-bc_inflow`
104f4277be3SLeila Ghaffari  - Use inflow boundary conditions on this list of faces
105f4277be3SLeila Ghaffari  -
106f4277be3SLeila Ghaffari
107f4277be3SLeila Ghaffari* - `-bc_outflow`
108f4277be3SLeila Ghaffari  - Use outflow boundary conditions on this list of faces
109f4277be3SLeila Ghaffari  -
1108ef11c93SLeila Ghaffari
111575f8106SLeila Ghaffari* - `-snes_view`
112575f8106SLeila Ghaffari  - View PETSc `SNES` nonlinear solver configuration
113575f8106SLeila Ghaffari  -
1148ef11c93SLeila Ghaffari
115575f8106SLeila Ghaffari* - `-log_view`
116575f8106SLeila Ghaffari  - View PETSc performance log
117575f8106SLeila Ghaffari  -
118ea10196cSJeremy L Thompson
119575f8106SLeila Ghaffari* - `-help`
120575f8106SLeila Ghaffari  - View comprehensive information about run-time options
121575f8106SLeila Ghaffari  -
122575f8106SLeila Ghaffari:::
123ea10196cSJeremy L Thompson
124f4277be3SLeila GhaffariFor the case of a square/cubic mesh, the list of face indices to be used with `-bc_wall`, `bc_inflow`, `bc_outflow` and/or `-bc_slip_x`, `-bc_slip_y`, and `-bc_slip_z` are:
125f4277be3SLeila Ghaffari
126*bb8a0c61SJames Wright:::{list-table} 2D Face ID Labels
127*bb8a0c61SJames Wright:header-rows: 1
128*bb8a0c61SJames Wright* - PETSc Face Name
129*bb8a0c61SJames Wright  - Cartesian direction
130*bb8a0c61SJames Wright  - Face ID
131*bb8a0c61SJames Wright
132*bb8a0c61SJames Wright* - faceMarkerBottom
133*bb8a0c61SJames Wright  - -z
134*bb8a0c61SJames Wright  - 1
135*bb8a0c61SJames Wright
136*bb8a0c61SJames Wright* - faceMarkerRight
137*bb8a0c61SJames Wright  - +x
138*bb8a0c61SJames Wright  - 2
139*bb8a0c61SJames Wright
140*bb8a0c61SJames Wright* - faceMarkerTop
141*bb8a0c61SJames Wright  - +z
142*bb8a0c61SJames Wright  - 3
143*bb8a0c61SJames Wright
144*bb8a0c61SJames Wright* - faceMarkerLeft
145*bb8a0c61SJames Wright  - -x
146*bb8a0c61SJames Wright  - 4
147*bb8a0c61SJames Wright:::
148*bb8a0c61SJames Wright
149*bb8a0c61SJames Wright:::{list-table} 2D Face ID Labels
150*bb8a0c61SJames Wright:header-rows: 1
151*bb8a0c61SJames Wright* - PETSc Face Name
152*bb8a0c61SJames Wright  - Cartesian direction
153*bb8a0c61SJames Wright  - Face ID
154*bb8a0c61SJames Wright
155*bb8a0c61SJames Wright* - faceMarkerBottom
156*bb8a0c61SJames Wright  - -z
157*bb8a0c61SJames Wright  - 1
158*bb8a0c61SJames Wright
159*bb8a0c61SJames Wright* - faceMarkerTop
160*bb8a0c61SJames Wright  - +z
161*bb8a0c61SJames Wright  - 2
162*bb8a0c61SJames Wright
163*bb8a0c61SJames Wright* - faceMarkerFront
164*bb8a0c61SJames Wright  - -y
165*bb8a0c61SJames Wright  - 3
166*bb8a0c61SJames Wright
167*bb8a0c61SJames Wright* - faceMarkerBack
168*bb8a0c61SJames Wright  - +y
169*bb8a0c61SJames Wright  - 4
170*bb8a0c61SJames Wright
171*bb8a0c61SJames Wright* - faceMarkerRight
172*bb8a0c61SJames Wright  - +x
173*bb8a0c61SJames Wright  - 5
174*bb8a0c61SJames Wright
175*bb8a0c61SJames Wright* - faceMarkerLeft
176*bb8a0c61SJames Wright  - -x
177*bb8a0c61SJames Wright  - 6
178*bb8a0c61SJames Wright:::
179f4277be3SLeila Ghaffari
180575f8106SLeila GhaffariFor the 2D advection problem, the following additional command-line options are available:
181ea10196cSJeremy L Thompson
182575f8106SLeila Ghaffari:::{list-table} Advection2D Runtime Options
183575f8106SLeila Ghaffari:header-rows: 1
1848ef11c93SLeila Ghaffari
185575f8106SLeila Ghaffari* - Option
186575f8106SLeila Ghaffari  - Description
187575f8106SLeila Ghaffari  - Default value
188575f8106SLeila Ghaffari  - Unit
1898ef11c93SLeila Ghaffari
190575f8106SLeila Ghaffari* - `-rc`
191575f8106SLeila Ghaffari  - Characteristic radius of thermal bubble
192575f8106SLeila Ghaffari  - `1000`
193575f8106SLeila Ghaffari  - `m`
1948ef11c93SLeila Ghaffari
195575f8106SLeila Ghaffari* - `-units_meter`
196575f8106SLeila Ghaffari  - 1 meter in scaled length units
197575f8106SLeila Ghaffari  - `1E-2`
198575f8106SLeila Ghaffari  -
1998ef11c93SLeila Ghaffari
200575f8106SLeila Ghaffari* - `-units_second`
201575f8106SLeila Ghaffari  - 1 second in scaled time units
202575f8106SLeila Ghaffari  - `1E-2`
203575f8106SLeila Ghaffari  -
2048ef11c93SLeila Ghaffari
205575f8106SLeila Ghaffari* - `-units_kilogram`
206575f8106SLeila Ghaffari  - 1 kilogram in scaled mass units
207575f8106SLeila Ghaffari  - `1E-6`
208575f8106SLeila Ghaffari  -
209a515125bSLeila Ghaffari
210575f8106SLeila Ghaffari* - `-strong_form`
211575f8106SLeila Ghaffari  - Strong (1) or weak/integrated by parts (0) residual
212575f8106SLeila Ghaffari  - `0`
213575f8106SLeila Ghaffari  -
214a515125bSLeila Ghaffari
215575f8106SLeila Ghaffari* - `-stab`
216575f8106SLeila Ghaffari  - Stabilization method (`none`, `su`, or `supg`)
217575f8106SLeila Ghaffari  - `none`
218575f8106SLeila Ghaffari  -
219a515125bSLeila Ghaffari
220575f8106SLeila Ghaffari* - `-CtauS`
221575f8106SLeila Ghaffari  - Scale coefficient for stabilization tau (nondimensional)
222575f8106SLeila Ghaffari  - `0`
223575f8106SLeila Ghaffari  -
224a515125bSLeila Ghaffari
225575f8106SLeila Ghaffari* - `-wind_type`
226575f8106SLeila Ghaffari  - Wind type in Advection (`rotation` or `translation`)
227575f8106SLeila Ghaffari  - `rotation`
228575f8106SLeila Ghaffari  -
229a515125bSLeila Ghaffari
230575f8106SLeila Ghaffari* - `-wind_translation`
231575f8106SLeila Ghaffari  - Constant wind vector when `-wind_type translation`
232575f8106SLeila Ghaffari  - `1,0,0`
233575f8106SLeila Ghaffari  -
2348ef11c93SLeila Ghaffari
235575f8106SLeila Ghaffari* - `-E_wind`
236575f8106SLeila Ghaffari  - Total energy of inflow wind when `-wind_type translation`
237575f8106SLeila Ghaffari  - `1E6`
238575f8106SLeila Ghaffari  - `J`
239575f8106SLeila Ghaffari:::
240268c6924SLeila Ghaffari
241575f8106SLeila GhaffariAn example of the `rotation` mode can be run with:
242268c6924SLeila Ghaffari
243575f8106SLeila Ghaffari```
244f4277be3SLeila Ghaffari./navierstokes -problem advection2d -dm_plex_box_faces 20,20 -dm_plex_box_lower 0,0 -dm_plex_box_upper 1000,1000 -bc_wall 1,2,3,4 -wall_comps 4 -wind_type rotation -implicit -stab supg
245575f8106SLeila Ghaffari```
246268c6924SLeila Ghaffari
247575f8106SLeila Ghaffariand the `translation` mode with:
248268c6924SLeila Ghaffari
249575f8106SLeila Ghaffari```
250f4277be3SLeila Ghaffari./navierstokes -problem advection2d -dm_plex_box_faces 20,20 -dm_plex_box_lower 0,0 -dm_plex_box_upper 1000,1000 -units_meter 1e-4 -wind_type translation -wind_translation 1,-.5 -bc_inflow 1,2,3,4
251575f8106SLeila Ghaffari```
252f4277be3SLeila GhaffariNote the lengths in `-dm_plex_box_upper` are given in meters, and will be nondimensionalized according to `-units_meter`.
253268c6924SLeila Ghaffari
254575f8106SLeila GhaffariFor the 3D advection problem, the following additional command-line options are available:
255268c6924SLeila Ghaffari
256575f8106SLeila Ghaffari:::{list-table} Advection3D Runtime Options
257575f8106SLeila Ghaffari:header-rows: 1
258268c6924SLeila Ghaffari
259575f8106SLeila Ghaffari* - Option
260575f8106SLeila Ghaffari  - Description
261575f8106SLeila Ghaffari  - Default value
262575f8106SLeila Ghaffari  - Unit
263268c6924SLeila Ghaffari
264575f8106SLeila Ghaffari* - `-rc`
265575f8106SLeila Ghaffari  - Characteristic radius of thermal bubble
266575f8106SLeila Ghaffari  - `1000`
267575f8106SLeila Ghaffari  - `m`
268268c6924SLeila Ghaffari
269575f8106SLeila Ghaffari* - `-units_meter`
270575f8106SLeila Ghaffari  - 1 meter in scaled length units
271575f8106SLeila Ghaffari  - `1E-2`
272575f8106SLeila Ghaffari  -
273268c6924SLeila Ghaffari
274575f8106SLeila Ghaffari* - `-units_second`
275575f8106SLeila Ghaffari  - 1 second in scaled time units
276575f8106SLeila Ghaffari  - `1E-2`
277575f8106SLeila Ghaffari  -
278268c6924SLeila Ghaffari
279575f8106SLeila Ghaffari* - `-units_kilogram`
280575f8106SLeila Ghaffari  - 1 kilogram in scaled mass units
281575f8106SLeila Ghaffari  - `1E-6`
282575f8106SLeila Ghaffari  -
283268c6924SLeila Ghaffari
284575f8106SLeila Ghaffari* - `-strong_form`
285575f8106SLeila Ghaffari  - Strong (1) or weak/integrated by parts (0) residual
286575f8106SLeila Ghaffari  - `0`
287575f8106SLeila Ghaffari  -
288268c6924SLeila Ghaffari
289575f8106SLeila Ghaffari* - `-stab`
290575f8106SLeila Ghaffari  - Stabilization method (`none`, `su`, or `supg`)
291575f8106SLeila Ghaffari  - `none`
292575f8106SLeila Ghaffari  -
293268c6924SLeila Ghaffari
294575f8106SLeila Ghaffari* - `-CtauS`
295575f8106SLeila Ghaffari  - Scale coefficient for stabilization tau (nondimensional)
296575f8106SLeila Ghaffari  - `0`
297575f8106SLeila Ghaffari  -
298268c6924SLeila Ghaffari
299575f8106SLeila Ghaffari* - `-wind_type`
300575f8106SLeila Ghaffari  - Wind type in Advection (`rotation` or `translation`)
301575f8106SLeila Ghaffari  - `rotation`
302575f8106SLeila Ghaffari  -
303268c6924SLeila Ghaffari
304575f8106SLeila Ghaffari* - `-wind_translation`
305575f8106SLeila Ghaffari  - Constant wind vector when `-wind_type translation`
306575f8106SLeila Ghaffari  - `1,0,0`
307575f8106SLeila Ghaffari  -
308268c6924SLeila Ghaffari
309575f8106SLeila Ghaffari* - `-E_wind`
310575f8106SLeila Ghaffari  - Total energy of inflow wind when `-wind_type translation`
311575f8106SLeila Ghaffari  - `1E6`
312575f8106SLeila Ghaffari  - `J`
313268c6924SLeila Ghaffari
314575f8106SLeila Ghaffari* - `-bubble_type`
315575f8106SLeila Ghaffari  - `sphere` (3D) or `cylinder` (2D)
316575f8106SLeila Ghaffari  - `shpere`
317575f8106SLeila Ghaffari  -
318268c6924SLeila Ghaffari
319575f8106SLeila Ghaffari* - `-bubble_continuity`
320575f8106SLeila Ghaffari  - `smooth`, `back_sharp`, or `thick`
321575f8106SLeila Ghaffari  - `smooth`
322575f8106SLeila Ghaffari  -
323575f8106SLeila Ghaffari:::
324ea10196cSJeremy L Thompson
325575f8106SLeila GhaffariAn example of the `rotation` mode can be run with:
326ea10196cSJeremy L Thompson
327575f8106SLeila Ghaffari```
328f4277be3SLeila Ghaffari./navierstokes -problem advection -dm_plex_box_faces 10,10,10 -dm_plex_dim 3 -dm_plex_box_lower 0,0,0 -dm_plex_box_upper 8000,8000,8000 -bc_wall 1,2,3,4,5,6 -wall_comps 4 -wind_type rotation -implicit -stab su
329575f8106SLeila Ghaffari```
330ea10196cSJeremy L Thompson
331575f8106SLeila Ghaffariand the `translation` mode with:
332ea10196cSJeremy L Thompson
333575f8106SLeila Ghaffari```
334f4277be3SLeila Ghaffari./navierstokes -problem advection -dm_plex_box_faces 10,10,10 -dm_plex_dim 3 -dm_plex_box_lower 0,0,0 -dm_plex_box_upper 8000,8000,8000 -wind_type translation -wind_translation .5,-1,0 -bc_inflow 1,2,3,4,5,6
335575f8106SLeila Ghaffari```
336ea10196cSJeremy L Thompson
337575f8106SLeila GhaffariFor the Isentropic Vortex problem, the following additional command-line options are available:
338ea10196cSJeremy L Thompson
339575f8106SLeila Ghaffari:::{list-table} Isentropic Vortex Runtime Options
340575f8106SLeila Ghaffari:header-rows: 1
341ea10196cSJeremy L Thompson
342575f8106SLeila Ghaffari* - Option
343575f8106SLeila Ghaffari  - Description
344575f8106SLeila Ghaffari  - Default value
345575f8106SLeila Ghaffari  - Unit
346ea10196cSJeremy L Thompson
347575f8106SLeila Ghaffari* - `-center`
348575f8106SLeila Ghaffari  - Location of vortex center
349575f8106SLeila Ghaffari  - `(lx,ly,lz)/2`
350575f8106SLeila Ghaffari  - `(m,m,m)`
351ea10196cSJeremy L Thompson
352575f8106SLeila Ghaffari* - `-units_meter`
353575f8106SLeila Ghaffari  - 1 meter in scaled length units
354575f8106SLeila Ghaffari  - `1E-2`
355575f8106SLeila Ghaffari  -
356ea10196cSJeremy L Thompson
357575f8106SLeila Ghaffari* - `-units_second`
358575f8106SLeila Ghaffari  - 1 second in scaled time units
359575f8106SLeila Ghaffari  - `1E-2`
360575f8106SLeila Ghaffari  -
361ea10196cSJeremy L Thompson
362575f8106SLeila Ghaffari* - `-mean_velocity`
363575f8106SLeila Ghaffari  - Background velocity vector
364575f8106SLeila Ghaffari  - `(1,1,0)`
365575f8106SLeila Ghaffari  -
366ea10196cSJeremy L Thompson
367575f8106SLeila Ghaffari* - `-vortex_strength`
368575f8106SLeila Ghaffari  - Strength of vortex < 10
369575f8106SLeila Ghaffari  - `5`
370575f8106SLeila Ghaffari  -
371d8a22b9eSJed Brown
372d8a22b9eSJed Brown* - `-c_tau`
373d8a22b9eSJed Brown  - Stabilization constant
374f821ee77SLeila Ghaffari  - `0.5`
375d8a22b9eSJed Brown  -
376575f8106SLeila Ghaffari:::
377ea10196cSJeremy L Thompson
378575f8106SLeila GhaffariThis problem can be run with:
379ea10196cSJeremy L Thompson
380575f8106SLeila Ghaffari```
381f4277be3SLeila Ghaffari./navierstokes -problem euler_vortex -dm_plex_box_faces 20,20,1 -dm_plex_box_lower 0,0,0 -dm_plex_box_upper 1000,1000,50 -dm_plex_dim 3 -bc_inflow 4,6 -bc_outflow 3,5 -bc_slip_z 1,2 -mean_velocity .5,-.8,0.
382575f8106SLeila Ghaffari```
383ea10196cSJeremy L Thompson
384*bb8a0c61SJames WrightFor the Density Current, Channel, and Blasius problems, the following common command-line options are available:
385ea10196cSJeremy L Thompson
386*bb8a0c61SJames Wright:::{list-table} Newtonian Ideal Gas problems Runtime Options
387575f8106SLeila Ghaffari:header-rows: 1
388ea10196cSJeremy L Thompson
389575f8106SLeila Ghaffari* - Option
390575f8106SLeila Ghaffari  - Description
391575f8106SLeila Ghaffari  - Default value
392575f8106SLeila Ghaffari  - Unit
393ea10196cSJeremy L Thompson
394575f8106SLeila Ghaffari* - `-units_meter`
395575f8106SLeila Ghaffari  - 1 meter in scaled length units
396*bb8a0c61SJames Wright  - `1`
397575f8106SLeila Ghaffari  -
398ea10196cSJeremy L Thompson
399575f8106SLeila Ghaffari* - `-units_second`
400575f8106SLeila Ghaffari  - 1 second in scaled time units
401*bb8a0c61SJames Wright  - `1`
402575f8106SLeila Ghaffari  -
403ea10196cSJeremy L Thompson
404575f8106SLeila Ghaffari* - `-units_kilogram`
405575f8106SLeila Ghaffari  - 1 kilogram in scaled mass units
406*bb8a0c61SJames Wright  - `1`
407575f8106SLeila Ghaffari  -
408ea10196cSJeremy L Thompson
409575f8106SLeila Ghaffari* - `-units_Kelvin`
410575f8106SLeila Ghaffari  - 1 Kelvin in scaled temperature units
411575f8106SLeila Ghaffari  - `1`
412575f8106SLeila Ghaffari  -
413ea10196cSJeremy L Thompson
414575f8106SLeila Ghaffari* - `-stab`
415575f8106SLeila Ghaffari  - Stabilization method (`none`, `su`, or `supg`)
416575f8106SLeila Ghaffari  - `none`
417575f8106SLeila Ghaffari  -
418ea10196cSJeremy L Thompson
419d8a22b9eSJed Brown* - `-c_tau`
420*bb8a0c61SJames Wright  - Stabilization constant, $c_\tau$
421f821ee77SLeila Ghaffari  - `0.5`
422d8a22b9eSJed Brown  -
423d8a22b9eSJed Brown
424*bb8a0c61SJames Wright* - `-Ctau_t`
425*bb8a0c61SJames Wright  - Stabilization time constant, $C_t$
426*bb8a0c61SJames Wright  - `1.0`
427*bb8a0c61SJames Wright  -
428ea10196cSJeremy L Thompson
429*bb8a0c61SJames Wright* - `-Ctau_v`
430*bb8a0c61SJames Wright  - Stabilization viscous constant, $C_v$
431*bb8a0c61SJames Wright  - `36.0`
432*bb8a0c61SJames Wright  -
433ea10196cSJeremy L Thompson
434*bb8a0c61SJames Wright* - `-Ctau_C`
435*bb8a0c61SJames Wright  - Stabilization continuity constant, $C_c$
436*bb8a0c61SJames Wright  - `1.0`
437*bb8a0c61SJames Wright  -
438ea10196cSJeremy L Thompson
439*bb8a0c61SJames Wright* - `-Ctau_M`
440*bb8a0c61SJames Wright  - Stabilization momentum constant, $C_m$
441*bb8a0c61SJames Wright  - `1.0`
442*bb8a0c61SJames Wright  -
443*bb8a0c61SJames Wright
444*bb8a0c61SJames Wright* - `-Ctau_E`
445*bb8a0c61SJames Wright  - Stabilization energy constant, $C_E$
446*bb8a0c61SJames Wright  - `1.0`
447*bb8a0c61SJames Wright  -
448ea10196cSJeremy L Thompson
449575f8106SLeila Ghaffari* - `-cv`
450575f8106SLeila Ghaffari  - Heat capacity at constant volume
451575f8106SLeila Ghaffari  - `717`
452575f8106SLeila Ghaffari  - `J/(kg K)`
453ea10196cSJeremy L Thompson
454575f8106SLeila Ghaffari* - `-cp`
455575f8106SLeila Ghaffari  - Heat capacity at constant pressure
456575f8106SLeila Ghaffari  - `1004`
457575f8106SLeila Ghaffari  - `J/(kg K)`
458ea10196cSJeremy L Thompson
459575f8106SLeila Ghaffari* - `-g`
460575f8106SLeila Ghaffari  - Gravitational acceleration
461575f8106SLeila Ghaffari  - `9.81`
462575f8106SLeila Ghaffari  - `m/s^2`
463ea10196cSJeremy L Thompson
464575f8106SLeila Ghaffari* - `-lambda`
465575f8106SLeila Ghaffari  - Stokes hypothesis second viscosity coefficient
466575f8106SLeila Ghaffari  - `-2/3`
467575f8106SLeila Ghaffari  -
468ea10196cSJeremy L Thompson
469575f8106SLeila Ghaffari* - `-mu`
470575f8106SLeila Ghaffari  - Shear dynamic viscosity coefficient
471575f8106SLeila Ghaffari  - `75`
472575f8106SLeila Ghaffari  -  `Pa s`
473a515125bSLeila Ghaffari
474575f8106SLeila Ghaffari* - `-k`
475575f8106SLeila Ghaffari  - Thermal conductivity
476575f8106SLeila Ghaffari  - `0.02638`
477575f8106SLeila Ghaffari  - `W/(m K)`
478575f8106SLeila Ghaffari:::
479a515125bSLeila Ghaffari
480*bb8a0c61SJames WrightThe Density Current problem the following command-line options are available in
481*bb8a0c61SJames Wrightaddition to the Newtonian Ideal Gas options:
482*bb8a0c61SJames Wright
483*bb8a0c61SJames Wright:::{list-table} Density Current Runtime Options
484*bb8a0c61SJames Wright:header-rows: 1
485*bb8a0c61SJames Wright
486*bb8a0c61SJames Wright* - Option
487*bb8a0c61SJames Wright  - Description
488*bb8a0c61SJames Wright  - Default value
489*bb8a0c61SJames Wright  - Unit
490*bb8a0c61SJames Wright
491*bb8a0c61SJames Wright* - `-center`
492*bb8a0c61SJames Wright  - Location of bubble center
493*bb8a0c61SJames Wright  - `(lx,ly,lz)/2`
494*bb8a0c61SJames Wright  - `(m,m,m)`
495*bb8a0c61SJames Wright
496*bb8a0c61SJames Wright* - `-dc_axis`
497*bb8a0c61SJames Wright  - Axis of density current cylindrical anomaly, or `(0,0,0)` for spherically symmetric
498*bb8a0c61SJames Wright  - `(0,0,0)`
499*bb8a0c61SJames Wright  -
500*bb8a0c61SJames Wright
501*bb8a0c61SJames Wright* - `-rc`
502*bb8a0c61SJames Wright  - Characteristic radius of thermal bubble
503*bb8a0c61SJames Wright  - `1000`
504*bb8a0c61SJames Wright  - `m`
505*bb8a0c61SJames Wright
506*bb8a0c61SJames Wright* - `-theta0`
507*bb8a0c61SJames Wright  - Reference potential temperature
508*bb8a0c61SJames Wright  - `300`
509*bb8a0c61SJames Wright  - `K`
510*bb8a0c61SJames Wright
511*bb8a0c61SJames Wright* - `-thetaC`
512*bb8a0c61SJames Wright  - Perturbation of potential temperature
513*bb8a0c61SJames Wright  - `-15`
514*bb8a0c61SJames Wright  - `K`
515*bb8a0c61SJames Wright
516*bb8a0c61SJames Wright* - `-P0`
517*bb8a0c61SJames Wright  - Atmospheric pressure
518*bb8a0c61SJames Wright  - `1E5`
519*bb8a0c61SJames Wright  - `Pa`
520*bb8a0c61SJames Wright
521*bb8a0c61SJames Wright* - `-N`
522*bb8a0c61SJames Wright  - Brunt-Vaisala frequency
523*bb8a0c61SJames Wright  - `0.01`
524*bb8a0c61SJames Wright  - `1/s`
525*bb8a0c61SJames Wright:::
526*bb8a0c61SJames Wright
527575f8106SLeila GhaffariThis problem can be run with:
528ea10196cSJeremy L Thompson
529575f8106SLeila Ghaffari```
530*bb8a0c61SJames Wright./navierstokes -problem density_current -dm_plex_box_faces 16,1,8 -degree 1 -dm_plex_box_lower 0,0,0 -dm_plex_box_upper 2000,125,1000 -dm_plex_dim 3 -rc 400. -bc_wall 1,2,5,6 -wall_comps 1,2,3 -bc_slip_y 3,4 -mu 75
531*bb8a0c61SJames Wright```
532*bb8a0c61SJames Wright
533*bb8a0c61SJames WrightThe Channel problem the following command-line options are available in
534*bb8a0c61SJames Wrightaddition to the Newtonian Ideal Gas options:
535*bb8a0c61SJames Wright
536*bb8a0c61SJames Wright:::{list-table} Channel Runtime Options
537*bb8a0c61SJames Wright:header-rows: 1
538*bb8a0c61SJames Wright
539*bb8a0c61SJames Wright* - Option
540*bb8a0c61SJames Wright  - Description
541*bb8a0c61SJames Wright  - Default value
542*bb8a0c61SJames Wright  - Unit
543*bb8a0c61SJames Wright
544*bb8a0c61SJames Wright* - `-umax`
545*bb8a0c61SJames Wright  - Maximum/centerline velocity of the flow
546*bb8a0c61SJames Wright  - `10`
547*bb8a0c61SJames Wright  - `m/s`
548*bb8a0c61SJames Wright
549*bb8a0c61SJames Wright* - `-theta0`
550*bb8a0c61SJames Wright  - Reference potential temperature
551*bb8a0c61SJames Wright  - `300`
552*bb8a0c61SJames Wright  - `K`
553*bb8a0c61SJames Wright
554*bb8a0c61SJames Wright* - `-P0`
555*bb8a0c61SJames Wright  - Atmospheric pressure
556*bb8a0c61SJames Wright  - `1E5`
557*bb8a0c61SJames Wright  - `Pa`
558*bb8a0c61SJames Wright:::
559*bb8a0c61SJames Wright
560*bb8a0c61SJames WrightThis problem can be run with the `channel.yaml` file via:
561*bb8a0c61SJames Wright
562*bb8a0c61SJames Wright```
563*bb8a0c61SJames Wright./navierstokes -options_file channel.yaml
564*bb8a0c61SJames Wright```
565*bb8a0c61SJames Wright```{literalinclude} ../../../../../examples/fluids/channel.yaml
566*bb8a0c61SJames Wright:language: yaml
567*bb8a0c61SJames Wright```
568*bb8a0c61SJames Wright
569*bb8a0c61SJames WrightThe Blasius problem the following command-line options are available in
570*bb8a0c61SJames Wrightaddition to the Newtonian Ideal Gas options:
571*bb8a0c61SJames Wright
572*bb8a0c61SJames Wright:::{list-table} Blasius Runtime Options
573*bb8a0c61SJames Wright:header-rows: 1
574*bb8a0c61SJames Wright
575*bb8a0c61SJames Wright* - Option
576*bb8a0c61SJames Wright  - Description
577*bb8a0c61SJames Wright  - Default value
578*bb8a0c61SJames Wright  - Unit
579*bb8a0c61SJames Wright
580*bb8a0c61SJames Wright* - `-Uinf`
581*bb8a0c61SJames Wright  - Freestream velocity
582*bb8a0c61SJames Wright  - `40`
583*bb8a0c61SJames Wright  - `m/s`
584*bb8a0c61SJames Wright
585*bb8a0c61SJames Wright* - `-delta0`
586*bb8a0c61SJames Wright  - Boundary layer height at the inflow
587*bb8a0c61SJames Wright  - `4.2e-4`
588*bb8a0c61SJames Wright  - `m`
589*bb8a0c61SJames Wright
590*bb8a0c61SJames Wright* - `-theta0`
591*bb8a0c61SJames Wright  - Reference potential temperature
592*bb8a0c61SJames Wright  - `288`
593*bb8a0c61SJames Wright  - `K`
594*bb8a0c61SJames Wright
595*bb8a0c61SJames Wright* - `-P0`
596*bb8a0c61SJames Wright  - Atmospheric pressure
597*bb8a0c61SJames Wright  - `1.01E5`
598*bb8a0c61SJames Wright  - `Pa`
599*bb8a0c61SJames Wright
600*bb8a0c61SJames Wright* - `-refine_height`
601*bb8a0c61SJames Wright  - Height at which `-Ndelta` number of elements should refined into
602*bb8a0c61SJames Wright  - `5.9E-4`
603*bb8a0c61SJames Wright  - `m`
604*bb8a0c61SJames Wright
605*bb8a0c61SJames Wright* - `-Ndelta`
606*bb8a0c61SJames Wright  - Number of elements to keep below `-refine_height`
607*bb8a0c61SJames Wright  - `45`
608*bb8a0c61SJames Wright  -
609*bb8a0c61SJames Wright
610*bb8a0c61SJames Wright* - `-growth`
611*bb8a0c61SJames Wright  - Growth rate of the elements in the refinement region
612*bb8a0c61SJames Wright  - `1.08`
613*bb8a0c61SJames Wright  -
614*bb8a0c61SJames Wright
615*bb8a0c61SJames Wright* - `-top_angle`
616*bb8a0c61SJames Wright  - Downward angle of the top face of the domain. This face serves as an outlet.
617*bb8a0c61SJames Wright  - `5`
618*bb8a0c61SJames Wright  - `degrees`
619*bb8a0c61SJames Wright:::
620*bb8a0c61SJames Wright
621*bb8a0c61SJames WrightThis problem can be run with the `blasius.yaml` file via:
622*bb8a0c61SJames Wright
623*bb8a0c61SJames Wright```
624*bb8a0c61SJames Wright./navierstokes -options_file blasius.yaml
625*bb8a0c61SJames Wright```
626*bb8a0c61SJames Wright
627*bb8a0c61SJames Wright```{literalinclude} ../../../../../examples/fluids/blasius.yaml
628*bb8a0c61SJames Wright:language: yaml
629575f8106SLeila Ghaffari```
630