xref: /honee/README.md (revision c8c30d8746ab04616073ba14ea8e9a1bf159224f)
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
651219168aSLeila Ghaffari  - `0`
66ea10196cSJeremy L Thompson
67852e5969SJed Brown* - `-ts_monitor_solution`
68852e5969SJed Brown  - PETSc output format, such as `cgns:output-%d.cgns` (requires PETSc `--download-cgns`)
69852e5969SJed Brown  -
70ea10196cSJeremy L Thompson
71852e5969SJed Brown* - `-ts_monitor_solution_interval`
72852e5969SJed Brown  - Number of time steps between visualization output frames.
73852e5969SJed Brown  - `1`
74852e5969SJed Brown
75852e5969SJed Brown* - `-viewer_cgns_batch_size`
76852e5969SJed Brown  - Number of frames written per CGNS file if the CGNS file name includes a format specifier (`%d`).
77852e5969SJed Brown  - `20`
78852e5969SJed Brown
79852e5969SJed Brown* - `-checkpoint_interval`
80852e5969SJed Brown  - Number of steps between writing binary checkpoints. `0` has no output, `-1` outputs final state only
81575f8106SLeila Ghaffari  - `10`
82ea10196cSJeremy L Thompson
83852e5969SJed Brown* - `-checkpoint_vtk`
84852e5969SJed Brown  - Checkpoints include VTK (`*.vtu`) files for visualization. Consider `-ts_monitor_solution`instead.
85852e5969SJed Brown  - `false`
86852e5969SJed Brown
87852e5969SJed Brown* - `-viz_refine`
88852e5969SJed Brown  - Use regular refinement for VTK visualization
89852e5969SJed Brown  - `0`
90852e5969SJed Brown
91575f8106SLeila Ghaffari* - `-output_dir`
92852e5969SJed Brown  - Output directory for binary checkpoints and VTK files (if enabled).
93575f8106SLeila Ghaffari  - `.`
94ea10196cSJeremy L Thompson
9591a36801SJames Wright* - `-output_add_stepnum2bin`
9691a36801SJames Wright  - Whether to add step numbers to output binary files
9791a36801SJames Wright  - `false`
9891a36801SJames Wright
9991a36801SJames Wright* - `-continue`
10091a36801SJames Wright  - Continue from previous solution (input is step number of previous solution)
10191a36801SJames Wright  - `0`
10291a36801SJames Wright
10391a36801SJames Wright* - `-continue_filename`
10491a36801SJames Wright  - Path to solution binary file from which to continue from
10591a36801SJames Wright  - `[output_dir]/ns-solution.bin`
10691a36801SJames Wright
10791a36801SJames Wright* - `-continue_time_filename`
1089293eaa1SJed Brown  - Path to time stamp binary file (only for legacy checkpoints)
10991a36801SJames Wright  - `[output_dir]/ns-time.bin`
11091a36801SJames Wright
111f4277be3SLeila Ghaffari* - `-bc_wall`
112f4277be3SLeila Ghaffari  - Use wall boundary conditions on this list of faces
113f4277be3SLeila Ghaffari  -
114f4277be3SLeila Ghaffari
115f4277be3SLeila Ghaffari* - `-wall_comps`
116f4277be3SLeila Ghaffari  - An array of constrained component numbers for wall BCs
117f4277be3SLeila Ghaffari  -
118f4277be3SLeila Ghaffari
119f4277be3SLeila Ghaffari* - `-bc_slip_x`
120f4277be3SLeila Ghaffari  - Use slip boundary conditions, for the x component, on this list of faces
121f4277be3SLeila Ghaffari  -
122f4277be3SLeila Ghaffari
123f4277be3SLeila Ghaffari* - `-bc_slip_y`
124f4277be3SLeila Ghaffari  - Use slip boundary conditions, for the y component, on this list of faces
125f4277be3SLeila Ghaffari  -
126f4277be3SLeila Ghaffari
127f4277be3SLeila Ghaffari* - `-bc_slip_z`
128f4277be3SLeila Ghaffari  - Use slip boundary conditions, for the z component, on this list of faces
129f4277be3SLeila Ghaffari  -
130f4277be3SLeila Ghaffari
131f4277be3SLeila Ghaffari* - `-bc_inflow`
132f4277be3SLeila Ghaffari  - Use inflow boundary conditions on this list of faces
133f4277be3SLeila Ghaffari  -
134f4277be3SLeila Ghaffari
135f4277be3SLeila Ghaffari* - `-bc_outflow`
136f4277be3SLeila Ghaffari  - Use outflow boundary conditions on this list of faces
137f4277be3SLeila Ghaffari  -
1388ef11c93SLeila Ghaffari
13979b17980SJames Wright* - `-bc_freestream`
14079b17980SJames Wright  - Use freestream boundary conditions on this list of faces
14179b17980SJames Wright  -
14279b17980SJames Wright
143575f8106SLeila Ghaffari* - `-snes_view`
144575f8106SLeila Ghaffari  - View PETSc `SNES` nonlinear solver configuration
145575f8106SLeila Ghaffari  -
1468ef11c93SLeila Ghaffari
147575f8106SLeila Ghaffari* - `-log_view`
148575f8106SLeila Ghaffari  - View PETSc performance log
149575f8106SLeila Ghaffari  -
150ea10196cSJeremy L Thompson
151575f8106SLeila Ghaffari* - `-help`
152575f8106SLeila Ghaffari  - View comprehensive information about run-time options
153575f8106SLeila Ghaffari  -
154575f8106SLeila Ghaffari:::
155ea10196cSJeremy L Thompson
15679b17980SJames WrightFor the case of a square/cubic mesh, the list of face indices to be used with `-bc_wall`, `bc_inflow`, `bc_outflow`, `bc_freestream`  and/or `-bc_slip_x`, `-bc_slip_y`, and `-bc_slip_z` are:
157f4277be3SLeila Ghaffari
158bb8a0c61SJames Wright:::{list-table} 2D Face ID Labels
159bb8a0c61SJames Wright:header-rows: 1
160bb8a0c61SJames Wright* - PETSc Face Name
161bb8a0c61SJames Wright  - Cartesian direction
162bb8a0c61SJames Wright  - Face ID
163bb8a0c61SJames Wright
164bb8a0c61SJames Wright* - faceMarkerBottom
165bb8a0c61SJames Wright  - -z
166bb8a0c61SJames Wright  - 1
167bb8a0c61SJames Wright
168bb8a0c61SJames Wright* - faceMarkerRight
169bb8a0c61SJames Wright  - +x
170bb8a0c61SJames Wright  - 2
171bb8a0c61SJames Wright
172bb8a0c61SJames Wright* - faceMarkerTop
173bb8a0c61SJames Wright  - +z
174bb8a0c61SJames Wright  - 3
175bb8a0c61SJames Wright
176bb8a0c61SJames Wright* - faceMarkerLeft
177bb8a0c61SJames Wright  - -x
178bb8a0c61SJames Wright  - 4
179bb8a0c61SJames Wright:::
180bb8a0c61SJames Wright
181bb8a0c61SJames Wright:::{list-table} 2D Face ID Labels
182bb8a0c61SJames Wright:header-rows: 1
183bb8a0c61SJames Wright* - PETSc Face Name
184bb8a0c61SJames Wright  - Cartesian direction
185bb8a0c61SJames Wright  - Face ID
186bb8a0c61SJames Wright
187bb8a0c61SJames Wright* - faceMarkerBottom
188bb8a0c61SJames Wright  - -z
189bb8a0c61SJames Wright  - 1
190bb8a0c61SJames Wright
191bb8a0c61SJames Wright* - faceMarkerTop
192bb8a0c61SJames Wright  - +z
193bb8a0c61SJames Wright  - 2
194bb8a0c61SJames Wright
195bb8a0c61SJames Wright* - faceMarkerFront
196bb8a0c61SJames Wright  - -y
197bb8a0c61SJames Wright  - 3
198bb8a0c61SJames Wright
199bb8a0c61SJames Wright* - faceMarkerBack
200bb8a0c61SJames Wright  - +y
201bb8a0c61SJames Wright  - 4
202bb8a0c61SJames Wright
203bb8a0c61SJames Wright* - faceMarkerRight
204bb8a0c61SJames Wright  - +x
205bb8a0c61SJames Wright  - 5
206bb8a0c61SJames Wright
207bb8a0c61SJames Wright* - faceMarkerLeft
208bb8a0c61SJames Wright  - -x
209bb8a0c61SJames Wright  - 6
210bb8a0c61SJames Wright:::
211f4277be3SLeila Ghaffari
212*c8c30d87SJed Brown### Boundary conditions
213*c8c30d87SJed Brown
214*c8c30d87SJed BrownBoundary conditions for compressible viscous flows are notoriously tricky. Here we offer some recommendations
215*c8c30d87SJed Brown
216*c8c30d87SJed Brown#### Inflow
217*c8c30d87SJed Brown
218*c8c30d87SJed BrownIf in a region where the flow velocity is known (e.g., away from viscous walls), use `bc_freestream`, which solves a Riemann problem and can handle inflow and outflow (simultaneously and dynamically).
219*c8c30d87SJed BrownIt is stable and the least reflective boundary condition for acoustics.
220*c8c30d87SJed Brown
221*c8c30d87SJed BrownIf near a viscous wall, you may want a specified inflow profile.
222*c8c30d87SJed BrownUse `bc_inflow` and see {ref}`example-blasius` and discussion of synthetic turbulence generation for ways to analytically generate developed inflow profiles.
223*c8c30d87SJed BrownThese conditions may be either weak or strong, with the latter specifying velocity and temperature as essential boundary conditions and evaluating a boundary integral for the mass flux.
224*c8c30d87SJed BrownThe strong approach gives sharper resolution of velocity structures.
225*c8c30d87SJed BrownWe have described the primitive variable formulation here; the conservative variants are similar, but not equivalent.
226*c8c30d87SJed Brown
227*c8c30d87SJed Brown### Outflow
228*c8c30d87SJed Brown
229*c8c30d87SJed BrownIf you know the complete exterior state, `bc_freestream` is the least reflective boundary condition, but is disruptive to viscous flow structures.
230*c8c30d87SJed BrownIf thermal anomalies must exit the domain, the Riemann solver must resolve the contact wave to avoid reflections.
231*c8c30d87SJed BrownThe default Riemann solver, HLLC, is sufficient in this regard while the simpler HLL converts thermal structures exiting the domain into grid-scale reflecting acoustics.
232*c8c30d87SJed Brown
233*c8c30d87SJed BrownIf acoustic reflections are not a concern and/or the flow is impacted by walls or interior structures that you wish to resolve to near the boundary, choose `bc_outflow`. This condition (with default `outflow_type: riemann`) is stable for both inflow and outflow, so can be used in areas that have recirculation and lateral boundaries in which the flow fluctuates.
234*c8c30d87SJed Brown
235*c8c30d87SJed BrownThe simpler `bc_outflow` variant, `outflow_type: pressure`, requires that the flow be a strict outflow (or the problem becomes ill-posed and the solver will diverge).
236*c8c30d87SJed BrownIn our experience, `riemann` is slightly less reflective but produces similar flows in cases of strict outflow.
237*c8c30d87SJed BrownThe `pressure` variant is retained to facilitate comparison with other codes, such as PHASTA-C, but we recommend `riemann` for general use.
238*c8c30d87SJed Brown
239*c8c30d87SJed Brown### Periodicity
240*c8c30d87SJed Brown
241*c8c30d87SJed BrownPETSc provides two ways to specify periodicity:
242*c8c30d87SJed Brown
243*c8c30d87SJed Brown1. Topological periodicity, in which the donor and receiver dofs are the same, obtained using:
244*c8c30d87SJed Brown
245*c8c30d87SJed Brown``` yaml
246*c8c30d87SJed Browndm_plex:
247*c8c30d87SJed Brown  shape: box
248*c8c30d87SJed Brown  box_faces: 10,12,4
249*c8c30d87SJed Brown  box_bd: none,none,periodic
250*c8c30d87SJed Brown```
251*c8c30d87SJed Brown
252*c8c30d87SJed BrownThe coordinates for such cases are stored as a new field, and
253*c8c30d87SJed Brown
254af8870a9STimothy Aiken### Advection
255af8870a9STimothy Aiken
256b46bfc5eSJeremy L ThompsonFor testing purposes, there is a reduced mode for pure advection, which holds density $\rho$ and momentum density $\rho \bm u$ constant while advecting "total energy density" $E$.
257b46bfc5eSJeremy L ThompsonThese are available in 2D and 3D.
258af8870a9STimothy Aiken
259af8870a9STimothy Aiken#### 2D advection
260af8870a9STimothy Aiken
261575f8106SLeila GhaffariFor the 2D advection problem, the following additional command-line options are available:
262ea10196cSJeremy L Thompson
263575f8106SLeila Ghaffari:::{list-table} Advection2D Runtime Options
264575f8106SLeila Ghaffari:header-rows: 1
2658ef11c93SLeila Ghaffari
266575f8106SLeila Ghaffari* - Option
267575f8106SLeila Ghaffari  - Description
268575f8106SLeila Ghaffari  - Default value
269575f8106SLeila Ghaffari  - Unit
2708ef11c93SLeila Ghaffari
271575f8106SLeila Ghaffari* - `-rc`
272575f8106SLeila Ghaffari  - Characteristic radius of thermal bubble
273575f8106SLeila Ghaffari  - `1000`
274575f8106SLeila Ghaffari  - `m`
2758ef11c93SLeila Ghaffari
276575f8106SLeila Ghaffari* - `-units_meter`
277575f8106SLeila Ghaffari  - 1 meter in scaled length units
278575f8106SLeila Ghaffari  - `1E-2`
279575f8106SLeila Ghaffari  -
2808ef11c93SLeila Ghaffari
281575f8106SLeila Ghaffari* - `-units_second`
282575f8106SLeila Ghaffari  - 1 second in scaled time units
283575f8106SLeila Ghaffari  - `1E-2`
284575f8106SLeila Ghaffari  -
2858ef11c93SLeila Ghaffari
286575f8106SLeila Ghaffari* - `-units_kilogram`
287575f8106SLeila Ghaffari  - 1 kilogram in scaled mass units
288575f8106SLeila Ghaffari  - `1E-6`
289575f8106SLeila Ghaffari  -
290a515125bSLeila Ghaffari
291575f8106SLeila Ghaffari* - `-strong_form`
292575f8106SLeila Ghaffari  - Strong (1) or weak/integrated by parts (0) residual
293575f8106SLeila Ghaffari  - `0`
294575f8106SLeila Ghaffari  -
295a515125bSLeila Ghaffari
296575f8106SLeila Ghaffari* - `-stab`
297575f8106SLeila Ghaffari  - Stabilization method (`none`, `su`, or `supg`)
298575f8106SLeila Ghaffari  - `none`
299575f8106SLeila Ghaffari  -
300a515125bSLeila Ghaffari
301575f8106SLeila Ghaffari* - `-CtauS`
302575f8106SLeila Ghaffari  - Scale coefficient for stabilization tau (nondimensional)
303575f8106SLeila Ghaffari  - `0`
304575f8106SLeila Ghaffari  -
305a515125bSLeila Ghaffari
306575f8106SLeila Ghaffari* - `-wind_type`
307575f8106SLeila Ghaffari  - Wind type in Advection (`rotation` or `translation`)
308575f8106SLeila Ghaffari  - `rotation`
309575f8106SLeila Ghaffari  -
310a515125bSLeila Ghaffari
311575f8106SLeila Ghaffari* - `-wind_translation`
312575f8106SLeila Ghaffari  - Constant wind vector when `-wind_type translation`
313575f8106SLeila Ghaffari  - `1,0,0`
314575f8106SLeila Ghaffari  -
3158ef11c93SLeila Ghaffari
316575f8106SLeila Ghaffari* - `-E_wind`
317575f8106SLeila Ghaffari  - Total energy of inflow wind when `-wind_type translation`
318575f8106SLeila Ghaffari  - `1E6`
319575f8106SLeila Ghaffari  - `J`
320575f8106SLeila Ghaffari:::
321268c6924SLeila Ghaffari
322575f8106SLeila GhaffariAn example of the `rotation` mode can be run with:
323268c6924SLeila Ghaffari
324575f8106SLeila Ghaffari```
325f4277be3SLeila 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
326575f8106SLeila Ghaffari```
327268c6924SLeila Ghaffari
328575f8106SLeila Ghaffariand the `translation` mode with:
329268c6924SLeila Ghaffari
330575f8106SLeila Ghaffari```
331f4277be3SLeila 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
332575f8106SLeila Ghaffari```
333f4277be3SLeila GhaffariNote the lengths in `-dm_plex_box_upper` are given in meters, and will be nondimensionalized according to `-units_meter`.
334268c6924SLeila Ghaffari
335af8870a9STimothy Aiken#### 3D advection
336af8870a9STimothy Aiken
337575f8106SLeila GhaffariFor the 3D advection problem, the following additional command-line options are available:
338268c6924SLeila Ghaffari
339575f8106SLeila Ghaffari:::{list-table} Advection3D Runtime Options
340575f8106SLeila Ghaffari:header-rows: 1
341268c6924SLeila Ghaffari
342575f8106SLeila Ghaffari* - Option
343575f8106SLeila Ghaffari  - Description
344575f8106SLeila Ghaffari  - Default value
345575f8106SLeila Ghaffari  - Unit
346268c6924SLeila Ghaffari
347575f8106SLeila Ghaffari* - `-rc`
348575f8106SLeila Ghaffari  - Characteristic radius of thermal bubble
349575f8106SLeila Ghaffari  - `1000`
350575f8106SLeila Ghaffari  - `m`
351268c6924SLeila Ghaffari
352575f8106SLeila Ghaffari* - `-units_meter`
353575f8106SLeila Ghaffari  - 1 meter in scaled length units
354575f8106SLeila Ghaffari  - `1E-2`
355575f8106SLeila Ghaffari  -
356268c6924SLeila Ghaffari
357575f8106SLeila Ghaffari* - `-units_second`
358575f8106SLeila Ghaffari  - 1 second in scaled time units
359575f8106SLeila Ghaffari  - `1E-2`
360575f8106SLeila Ghaffari  -
361268c6924SLeila Ghaffari
362575f8106SLeila Ghaffari* - `-units_kilogram`
363575f8106SLeila Ghaffari  - 1 kilogram in scaled mass units
364575f8106SLeila Ghaffari  - `1E-6`
365575f8106SLeila Ghaffari  -
366268c6924SLeila Ghaffari
367575f8106SLeila Ghaffari* - `-strong_form`
368575f8106SLeila Ghaffari  - Strong (1) or weak/integrated by parts (0) residual
369575f8106SLeila Ghaffari  - `0`
370575f8106SLeila Ghaffari  -
371268c6924SLeila Ghaffari
372575f8106SLeila Ghaffari* - `-stab`
373575f8106SLeila Ghaffari  - Stabilization method (`none`, `su`, or `supg`)
374575f8106SLeila Ghaffari  - `none`
375575f8106SLeila Ghaffari  -
376268c6924SLeila Ghaffari
377575f8106SLeila Ghaffari* - `-CtauS`
378575f8106SLeila Ghaffari  - Scale coefficient for stabilization tau (nondimensional)
379575f8106SLeila Ghaffari  - `0`
380575f8106SLeila Ghaffari  -
381268c6924SLeila Ghaffari
382575f8106SLeila Ghaffari* - `-wind_type`
383575f8106SLeila Ghaffari  - Wind type in Advection (`rotation` or `translation`)
384575f8106SLeila Ghaffari  - `rotation`
385575f8106SLeila Ghaffari  -
386268c6924SLeila Ghaffari
387575f8106SLeila Ghaffari* - `-wind_translation`
388575f8106SLeila Ghaffari  - Constant wind vector when `-wind_type translation`
389575f8106SLeila Ghaffari  - `1,0,0`
390575f8106SLeila Ghaffari  -
391268c6924SLeila Ghaffari
392575f8106SLeila Ghaffari* - `-E_wind`
393575f8106SLeila Ghaffari  - Total energy of inflow wind when `-wind_type translation`
394575f8106SLeila Ghaffari  - `1E6`
395575f8106SLeila Ghaffari  - `J`
396268c6924SLeila Ghaffari
397575f8106SLeila Ghaffari* - `-bubble_type`
398575f8106SLeila Ghaffari  - `sphere` (3D) or `cylinder` (2D)
399575f8106SLeila Ghaffari  - `shpere`
400575f8106SLeila Ghaffari  -
401268c6924SLeila Ghaffari
402575f8106SLeila Ghaffari* - `-bubble_continuity`
403575f8106SLeila Ghaffari  - `smooth`, `back_sharp`, or `thick`
404575f8106SLeila Ghaffari  - `smooth`
405575f8106SLeila Ghaffari  -
406575f8106SLeila Ghaffari:::
407ea10196cSJeremy L Thompson
408575f8106SLeila GhaffariAn example of the `rotation` mode can be run with:
409ea10196cSJeremy L Thompson
410575f8106SLeila Ghaffari```
411f4277be3SLeila 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
412575f8106SLeila Ghaffari```
413ea10196cSJeremy L Thompson
414575f8106SLeila Ghaffariand the `translation` mode with:
415ea10196cSJeremy L Thompson
416575f8106SLeila Ghaffari```
417f4277be3SLeila 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
418575f8106SLeila Ghaffari```
419ea10196cSJeremy L Thompson
420af8870a9STimothy Aiken### Inviscid Ideal Gas
421af8870a9STimothy Aiken
422af8870a9STimothy Aiken#### Isentropic Euler vortex
423af8870a9STimothy Aiken
424575f8106SLeila GhaffariFor the Isentropic Vortex problem, the following additional command-line options are available:
425ea10196cSJeremy L Thompson
426575f8106SLeila Ghaffari:::{list-table} Isentropic Vortex Runtime Options
427575f8106SLeila Ghaffari:header-rows: 1
428ea10196cSJeremy L Thompson
429575f8106SLeila Ghaffari* - Option
430575f8106SLeila Ghaffari  - Description
431575f8106SLeila Ghaffari  - Default value
432575f8106SLeila Ghaffari  - Unit
433ea10196cSJeremy L Thompson
434575f8106SLeila Ghaffari* - `-center`
435575f8106SLeila Ghaffari  - Location of vortex center
436575f8106SLeila Ghaffari  - `(lx,ly,lz)/2`
437575f8106SLeila Ghaffari  - `(m,m,m)`
438ea10196cSJeremy L Thompson
439575f8106SLeila Ghaffari* - `-units_meter`
440575f8106SLeila Ghaffari  - 1 meter in scaled length units
441575f8106SLeila Ghaffari  - `1E-2`
442575f8106SLeila Ghaffari  -
443ea10196cSJeremy L Thompson
444575f8106SLeila Ghaffari* - `-units_second`
445575f8106SLeila Ghaffari  - 1 second in scaled time units
446575f8106SLeila Ghaffari  - `1E-2`
447575f8106SLeila Ghaffari  -
448ea10196cSJeremy L Thompson
449575f8106SLeila Ghaffari* - `-mean_velocity`
450575f8106SLeila Ghaffari  - Background velocity vector
451575f8106SLeila Ghaffari  - `(1,1,0)`
452575f8106SLeila Ghaffari  -
453ea10196cSJeremy L Thompson
454575f8106SLeila Ghaffari* - `-vortex_strength`
455575f8106SLeila Ghaffari  - Strength of vortex < 10
456575f8106SLeila Ghaffari  - `5`
457575f8106SLeila Ghaffari  -
458d8a22b9eSJed Brown
459d8a22b9eSJed Brown* - `-c_tau`
460d8a22b9eSJed Brown  - Stabilization constant
461f821ee77SLeila Ghaffari  - `0.5`
462d8a22b9eSJed Brown  -
463575f8106SLeila Ghaffari:::
464ea10196cSJeremy L Thompson
465575f8106SLeila GhaffariThis problem can be run with:
466ea10196cSJeremy L Thompson
467575f8106SLeila Ghaffari```
468f4277be3SLeila 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.
469575f8106SLeila Ghaffari```
470ea10196cSJeremy L Thompson
471af8870a9STimothy Aiken#### Sod shock tube
472af8870a9STimothy Aiken
473af8870a9STimothy AikenFor the Shock Tube problem, the following additional command-line options are available:
474af8870a9STimothy Aiken
475af8870a9STimothy Aiken:::{list-table} Shock Tube Runtime Options
476af8870a9STimothy Aiken:header-rows: 1
477af8870a9STimothy Aiken
478af8870a9STimothy Aiken* - Option
479af8870a9STimothy Aiken  - Description
480af8870a9STimothy Aiken  - Default value
481af8870a9STimothy Aiken  - Unit
482af8870a9STimothy Aiken
483af8870a9STimothy Aiken* - `-units_meter`
484af8870a9STimothy Aiken  - 1 meter in scaled length units
485af8870a9STimothy Aiken  - `1E-2`
486af8870a9STimothy Aiken  -
487af8870a9STimothy Aiken
488af8870a9STimothy Aiken* - `-units_second`
489af8870a9STimothy Aiken  - 1 second in scaled time units
490af8870a9STimothy Aiken  - `1E-2`
491af8870a9STimothy Aiken  -
492af8870a9STimothy Aiken
493af8870a9STimothy Aiken* - `-yzb`
494af8870a9STimothy Aiken  - Use YZB discontinuity capturing
495af8870a9STimothy Aiken  - `none`
496af8870a9STimothy Aiken  -
497af8870a9STimothy Aiken
498af8870a9STimothy Aiken* - `-stab`
499af8870a9STimothy Aiken  - Stabilization method (`none`, `su`, or `supg`)
500af8870a9STimothy Aiken  - `none`
501af8870a9STimothy Aiken  -
502af8870a9STimothy Aiken:::
503af8870a9STimothy Aiken
504af8870a9STimothy AikenThis problem can be run with:
505af8870a9STimothy Aiken
506af8870a9STimothy Aiken```
507af8870a9STimothy Aiken./navierstokes -problem shocktube -yzb -stab su -bc_slip_z 3,4 -bc_slip_y 1,2 -bc_wall 5,6 -dm_plex_dim 3 -dm_plex_box_lower 0,0,0 -dm_plex_box_upper 1000,100,100 -dm_plex_box_faces 200,1,1 -units_second 0.1
508af8870a9STimothy Aiken```
509af8870a9STimothy Aiken
510af8870a9STimothy Aiken### Newtonian viscosity, Ideal Gas
511af8870a9STimothy Aiken
512bb8a0c61SJames WrightFor the Density Current, Channel, and Blasius problems, the following common command-line options are available:
513ea10196cSJeremy L Thompson
514bb8a0c61SJames Wright:::{list-table} Newtonian Ideal Gas problems Runtime Options
515575f8106SLeila Ghaffari:header-rows: 1
516ea10196cSJeremy L Thompson
517575f8106SLeila Ghaffari* - Option
518575f8106SLeila Ghaffari  - Description
519575f8106SLeila Ghaffari  - Default value
520575f8106SLeila Ghaffari  - Unit
521ea10196cSJeremy L Thompson
522575f8106SLeila Ghaffari* - `-units_meter`
523575f8106SLeila Ghaffari  - 1 meter in scaled length units
524bb8a0c61SJames Wright  - `1`
525575f8106SLeila Ghaffari  -
526ea10196cSJeremy L Thompson
527575f8106SLeila Ghaffari* - `-units_second`
528575f8106SLeila Ghaffari  - 1 second in scaled time units
529bb8a0c61SJames Wright  - `1`
530575f8106SLeila Ghaffari  -
531ea10196cSJeremy L Thompson
532575f8106SLeila Ghaffari* - `-units_kilogram`
533575f8106SLeila Ghaffari  - 1 kilogram in scaled mass units
534bb8a0c61SJames Wright  - `1`
535575f8106SLeila Ghaffari  -
536ea10196cSJeremy L Thompson
537575f8106SLeila Ghaffari* - `-units_Kelvin`
538575f8106SLeila Ghaffari  - 1 Kelvin in scaled temperature units
539575f8106SLeila Ghaffari  - `1`
540575f8106SLeila Ghaffari  -
541ea10196cSJeremy L Thompson
542575f8106SLeila Ghaffari* - `-stab`
543575f8106SLeila Ghaffari  - Stabilization method (`none`, `su`, or `supg`)
544575f8106SLeila Ghaffari  - `none`
545575f8106SLeila Ghaffari  -
546ea10196cSJeremy L Thompson
547d8a22b9eSJed Brown* - `-c_tau`
548bb8a0c61SJames Wright  - Stabilization constant, $c_\tau$
549f821ee77SLeila Ghaffari  - `0.5`
550d8a22b9eSJed Brown  -
551d8a22b9eSJed Brown
552bb8a0c61SJames Wright* - `-Ctau_t`
553bb8a0c61SJames Wright  - Stabilization time constant, $C_t$
554bb8a0c61SJames Wright  - `1.0`
555bb8a0c61SJames Wright  -
556ea10196cSJeremy L Thompson
557bb8a0c61SJames Wright* - `-Ctau_v`
558bb8a0c61SJames Wright  - Stabilization viscous constant, $C_v$
559b5786772SLeila Ghaffari  - `36, 60, 128 for degree = 1, 2, 3`
560bb8a0c61SJames Wright  -
561ea10196cSJeremy L Thompson
562bb8a0c61SJames Wright* - `-Ctau_C`
563bb8a0c61SJames Wright  - Stabilization continuity constant, $C_c$
564bb8a0c61SJames Wright  - `1.0`
565bb8a0c61SJames Wright  -
566ea10196cSJeremy L Thompson
567bb8a0c61SJames Wright* - `-Ctau_M`
568bb8a0c61SJames Wright  - Stabilization momentum constant, $C_m$
569bb8a0c61SJames Wright  - `1.0`
570bb8a0c61SJames Wright  -
571bb8a0c61SJames Wright
572bb8a0c61SJames Wright* - `-Ctau_E`
573bb8a0c61SJames Wright  - Stabilization energy constant, $C_E$
574bb8a0c61SJames Wright  - `1.0`
575bb8a0c61SJames Wright  -
576ea10196cSJeremy L Thompson
577575f8106SLeila Ghaffari* - `-cv`
578575f8106SLeila Ghaffari  - Heat capacity at constant volume
579575f8106SLeila Ghaffari  - `717`
580575f8106SLeila Ghaffari  - `J/(kg K)`
581ea10196cSJeremy L Thompson
582575f8106SLeila Ghaffari* - `-cp`
583575f8106SLeila Ghaffari  - Heat capacity at constant pressure
584575f8106SLeila Ghaffari  - `1004`
585575f8106SLeila Ghaffari  - `J/(kg K)`
586ea10196cSJeremy L Thompson
587575f8106SLeila Ghaffari* - `-g`
588575f8106SLeila Ghaffari  - Gravitational acceleration
589575f8106SLeila Ghaffari  - `9.81`
590575f8106SLeila Ghaffari  - `m/s^2`
591ea10196cSJeremy L Thompson
592575f8106SLeila Ghaffari* - `-lambda`
593575f8106SLeila Ghaffari  - Stokes hypothesis second viscosity coefficient
594575f8106SLeila Ghaffari  - `-2/3`
595575f8106SLeila Ghaffari  -
596ea10196cSJeremy L Thompson
597575f8106SLeila Ghaffari* - `-mu`
598575f8106SLeila Ghaffari  - Shear dynamic viscosity coefficient
599575f8106SLeila Ghaffari  - `75`
600575f8106SLeila Ghaffari  -  `Pa s`
601a515125bSLeila Ghaffari
602575f8106SLeila Ghaffari* - `-k`
603575f8106SLeila Ghaffari  - Thermal conductivity
604575f8106SLeila Ghaffari  - `0.02638`
605575f8106SLeila Ghaffari  - `W/(m K)`
606edd152dcSJed Brown
607edd152dcSJed Brown* - `-newtonian_unit_tests`
608edd152dcSJed Brown  - Developer option to test properties
609edd152dcSJed Brown  - `false`
610edd152dcSJed Brown  - boolean
611aa61a79eSJames Wright
612ba952bfeSJames Wright* - `-state_var`
613ba952bfeSJames Wright  - State variables to solve solution with. `conservative` ($\rho, \rho \bm{u}, \rho e$) or `primitive` ($P, \bm{u}, T$)
614ba952bfeSJames Wright  - `conservative`
615ba952bfeSJames Wright  - string
616575f8106SLeila Ghaffari:::
617a515125bSLeila Ghaffari
61879b17980SJames Wright#### Newtonian Wave
61979b17980SJames Wright
62083c686feSJames WrightThe newtonian wave problem has the following command-line options in addition to the Newtonian Ideal Gas options:
62179b17980SJames Wright
622ff82278dSJames Wright:::{list-table} Newtonian Wave Runtime Options
62379b17980SJames Wright:header-rows: 1
62479b17980SJames Wright
62579b17980SJames Wright* - Option
62679b17980SJames Wright  - Description
62779b17980SJames Wright  - Default value
62879b17980SJames Wright  - Unit
62979b17980SJames Wright
630edf614b5SJed Brown* - `-freestream_riemann`
631edf614b5SJed Brown  - Riemann solver for boundaries (HLL or HLLC)
632edf614b5SJed Brown  - `hllc`
633edf614b5SJed Brown  -
634edf614b5SJed Brown
635edf614b5SJed Brown* - `-freestream_velocity`
63679b17980SJames Wright  - Freestream velocity vector
63779b17980SJames Wright  - `0,0,0`
63879b17980SJames Wright  - `m/s`
63979b17980SJames Wright
640edf614b5SJed Brown* - `-freestream_temperature`
64179b17980SJames Wright  - Freestream temperature
64279b17980SJames Wright  - `288`
64379b17980SJames Wright  - `K`
64479b17980SJames Wright
645edf614b5SJed Brown* - `-freestream_pressure`
646ff82278dSJames Wright  - Freestream pressure
64779b17980SJames Wright  - `1.01e5`
64879b17980SJames Wright  - `Pa`
64979b17980SJames Wright
65079b17980SJames Wright* - `-epicenter`
65179b17980SJames Wright  - Coordinates of center of perturbation
65279b17980SJames Wright  - `0,0,0`
65379b17980SJames Wright  - `m`
65479b17980SJames Wright
65579b17980SJames Wright* - `-amplitude`
65679b17980SJames Wright  - Amplitude of the perturbation
65779b17980SJames Wright  - `0.1`
65879b17980SJames Wright  -
65979b17980SJames Wright
66079b17980SJames Wright* - `-width`
66179b17980SJames Wright  - Width parameter of the perturbation
66279b17980SJames Wright  - `0.002`
66379b17980SJames Wright  - `m`
66479b17980SJames Wright
66579b17980SJames Wright:::
66679b17980SJames Wright
66779b17980SJames WrightThis problem can be run with the `newtonianwave.yaml` file via:
66879b17980SJames Wright
66979b17980SJames Wright```
67079b17980SJames Wright./navierstokes -options_file newtonianwave.yaml
67179b17980SJames Wright```
67279b17980SJames Wright
67379b17980SJames Wright```{literalinclude} ../../../../../examples/fluids/newtonianwave.yaml
67479b17980SJames Wright:language: yaml
67579b17980SJames Wright```
676edd152dcSJed Brown
677b8fb7609SAdeleke O. Bankole#### Vortex Shedding - Flow past Cylinder
678b8fb7609SAdeleke O. Bankole
679b8fb7609SAdeleke O. BankoleThe vortex shedding, flow past cylinder problem has the following command-line options in addition to the Newtonian Ideal Gas options:
680b8fb7609SAdeleke O. Bankole
681b8fb7609SAdeleke O. Bankole:::{list-table} Vortex Shedding Runtime Options
682b8fb7609SAdeleke O. Bankole:header-rows: 1
683b8fb7609SAdeleke O. Bankole
684b8fb7609SAdeleke O. Bankole* - Option
685b8fb7609SAdeleke O. Bankole  - Description
686b8fb7609SAdeleke O. Bankole  - Default value
687b8fb7609SAdeleke O. Bankole  - Unit
688b8fb7609SAdeleke O. Bankole
689b8fb7609SAdeleke O. Bankole* - `-freestream_velocity`
690b8fb7609SAdeleke O. Bankole  - Freestream velocity vector
691b8fb7609SAdeleke O. Bankole  - `0,0,0`
692b8fb7609SAdeleke O. Bankole  - `m/s`
693b8fb7609SAdeleke O. Bankole
694b8fb7609SAdeleke O. Bankole* - `-freestream_temperature`
695b8fb7609SAdeleke O. Bankole  - Freestream temperature
696b8fb7609SAdeleke O. Bankole  - `288`
697b8fb7609SAdeleke O. Bankole  - `K`
698b8fb7609SAdeleke O. Bankole
699b8fb7609SAdeleke O. Bankole* - `-freestream_pressure`
700b8fb7609SAdeleke O. Bankole  - Freestream pressure
701b8fb7609SAdeleke O. Bankole  - `1.01e5`
702b8fb7609SAdeleke O. Bankole  - `Pa`
703b8fb7609SAdeleke O. Bankole
704b8fb7609SAdeleke O. Bankole:::
705b8fb7609SAdeleke O. Bankole
706b8fb7609SAdeleke O. BankoleThe initial condition is taken from `-reference_temperature` and `-reference_pressure`.
707b8fb7609SAdeleke O. BankoleTo run this problem, first generate a mesh:
708b8fb7609SAdeleke O. Bankole
709b8fb7609SAdeleke O. Bankole```console
710b8fb7609SAdeleke O. Bankole$ make -C examples/fluids/meshes
711b8fb7609SAdeleke O. Bankole```
712b8fb7609SAdeleke O. Bankole
713b8fb7609SAdeleke O. BankoleThen run by building the executable and running:
714b8fb7609SAdeleke O. Bankole
715b8fb7609SAdeleke O. Bankole```console
716b8fb7609SAdeleke O. Bankole$ make build/fluids-navierstokes
717b8fb7609SAdeleke O. Bankole$ mpiexec -n 6 build/fluids-navierstokes -options_file vortexshedding.yaml
718b8fb7609SAdeleke O. Bankole```
719b8fb7609SAdeleke O. Bankole
720b8fb7609SAdeleke O. BankoleThe vortex shedding period is roughly 6 and this problem runs until time 100 (2000 time steps).
721b8fb7609SAdeleke O. Bankole
722b8fb7609SAdeleke O. Bankole```{literalinclude} ../../../../../examples/fluids/vortexshedding.yaml
723b8fb7609SAdeleke O. Bankole:language: yaml
724b8fb7609SAdeleke O. Bankole```
725b8fb7609SAdeleke O. Bankole
726af8870a9STimothy Aiken#### Density current
727af8870a9STimothy Aiken
72883c686feSJames WrightThe Density Current problem has the following command-line options in addition to the Newtonian Ideal Gas options:
729bb8a0c61SJames Wright
730bb8a0c61SJames Wright:::{list-table} Density Current Runtime Options
731bb8a0c61SJames Wright:header-rows: 1
732bb8a0c61SJames Wright
733bb8a0c61SJames Wright* - Option
734bb8a0c61SJames Wright  - Description
735bb8a0c61SJames Wright  - Default value
736bb8a0c61SJames Wright  - Unit
737bb8a0c61SJames Wright
738bb8a0c61SJames Wright* - `-center`
739bb8a0c61SJames Wright  - Location of bubble center
740bb8a0c61SJames Wright  - `(lx,ly,lz)/2`
741bb8a0c61SJames Wright  - `(m,m,m)`
742bb8a0c61SJames Wright
743bb8a0c61SJames Wright* - `-dc_axis`
744bb8a0c61SJames Wright  - Axis of density current cylindrical anomaly, or `(0,0,0)` for spherically symmetric
745bb8a0c61SJames Wright  - `(0,0,0)`
746bb8a0c61SJames Wright  -
747bb8a0c61SJames Wright
748bb8a0c61SJames Wright* - `-rc`
749bb8a0c61SJames Wright  - Characteristic radius of thermal bubble
750bb8a0c61SJames Wright  - `1000`
751bb8a0c61SJames Wright  - `m`
752bb8a0c61SJames Wright
753bb8a0c61SJames Wright* - `-theta0`
754bb8a0c61SJames Wright  - Reference potential temperature
755bb8a0c61SJames Wright  - `300`
756bb8a0c61SJames Wright  - `K`
757bb8a0c61SJames Wright
758bb8a0c61SJames Wright* - `-thetaC`
759bb8a0c61SJames Wright  - Perturbation of potential temperature
760bb8a0c61SJames Wright  - `-15`
761bb8a0c61SJames Wright  - `K`
762bb8a0c61SJames Wright
763bb8a0c61SJames Wright* - `-P0`
764bb8a0c61SJames Wright  - Atmospheric pressure
765bb8a0c61SJames Wright  - `1E5`
766bb8a0c61SJames Wright  - `Pa`
767bb8a0c61SJames Wright
768bb8a0c61SJames Wright* - `-N`
769bb8a0c61SJames Wright  - Brunt-Vaisala frequency
770bb8a0c61SJames Wright  - `0.01`
771bb8a0c61SJames Wright  - `1/s`
772bb8a0c61SJames Wright:::
773bb8a0c61SJames Wright
774575f8106SLeila GhaffariThis problem can be run with:
775ea10196cSJeremy L Thompson
776575f8106SLeila Ghaffari```
777bb8a0c61SJames 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
778bb8a0c61SJames Wright```
779bb8a0c61SJames Wright
780af8870a9STimothy Aiken#### Channel flow
781af8870a9STimothy Aiken
78283c686feSJames WrightThe Channel problem has the following command-line options in addition to the Newtonian Ideal Gas options:
783bb8a0c61SJames Wright
784bb8a0c61SJames Wright:::{list-table} Channel Runtime Options
785bb8a0c61SJames Wright:header-rows: 1
786bb8a0c61SJames Wright
787bb8a0c61SJames Wright* - Option
788bb8a0c61SJames Wright  - Description
789bb8a0c61SJames Wright  - Default value
790bb8a0c61SJames Wright  - Unit
791bb8a0c61SJames Wright
792bb8a0c61SJames Wright* - `-umax`
793bb8a0c61SJames Wright  - Maximum/centerline velocity of the flow
794bb8a0c61SJames Wright  - `10`
795bb8a0c61SJames Wright  - `m/s`
796bb8a0c61SJames Wright
797bb8a0c61SJames Wright* - `-theta0`
798bb8a0c61SJames Wright  - Reference potential temperature
799bb8a0c61SJames Wright  - `300`
800bb8a0c61SJames Wright  - `K`
801bb8a0c61SJames Wright
802bb8a0c61SJames Wright* - `-P0`
803bb8a0c61SJames Wright  - Atmospheric pressure
804bb8a0c61SJames Wright  - `1E5`
805bb8a0c61SJames Wright  - `Pa`
806edd152dcSJed Brown
807edd152dcSJed Brown* - `-body_force_scale`
808edd152dcSJed Brown  - Multiplier for body force (`-1` for flow reversal)
809edd152dcSJed Brown  - 1
810edd152dcSJed Brown  -
811bb8a0c61SJames Wright:::
812bb8a0c61SJames Wright
813bb8a0c61SJames WrightThis problem can be run with the `channel.yaml` file via:
814bb8a0c61SJames Wright
815bb8a0c61SJames Wright```
816bb8a0c61SJames Wright./navierstokes -options_file channel.yaml
817bb8a0c61SJames Wright```
818bb8a0c61SJames Wright```{literalinclude} ../../../../../examples/fluids/channel.yaml
819bb8a0c61SJames Wright:language: yaml
820bb8a0c61SJames Wright```
821bb8a0c61SJames Wright
822*c8c30d87SJed Brown(example-blasius)=
823*c8c30d87SJed Brown
824af8870a9STimothy Aiken#### Blasius boundary layer
825af8870a9STimothy Aiken
82683c686feSJames WrightThe Blasius problem has the following command-line options in addition to the Newtonian Ideal Gas options:
827bb8a0c61SJames Wright
828bb8a0c61SJames Wright:::{list-table} Blasius Runtime Options
829bb8a0c61SJames Wright:header-rows: 1
830bb8a0c61SJames Wright
831bb8a0c61SJames Wright* - Option
832bb8a0c61SJames Wright  - Description
833bb8a0c61SJames Wright  - Default value
834bb8a0c61SJames Wright  - Unit
835bb8a0c61SJames Wright
836aef1eb53SLeila Ghaffari* - `-velocity_infinity`
837bb8a0c61SJames Wright  - Freestream velocity
838bb8a0c61SJames Wright  - `40`
839bb8a0c61SJames Wright  - `m/s`
840bb8a0c61SJames Wright
841aef1eb53SLeila Ghaffari* - `-temperature_infinity`
842aef1eb53SLeila Ghaffari  - Freestream temperature
843bb8a0c61SJames Wright  - `288`
844bb8a0c61SJames Wright  - `K`
845bb8a0c61SJames Wright
846aef1eb53SLeila Ghaffari* - `-temperature_wall`
847aef1eb53SLeila Ghaffari  - Wall temperature
8480d850f2eSLeila Ghaffari  - `288`
849aef1eb53SLeila Ghaffari  - `K`
850aef1eb53SLeila Ghaffari
851aef1eb53SLeila Ghaffari* - `-delta0`
852aef1eb53SLeila Ghaffari  - Boundary layer height at the inflow
853aef1eb53SLeila Ghaffari  - `4.2e-3`
854aef1eb53SLeila Ghaffari  - `m`
855aef1eb53SLeila Ghaffari
856bb8a0c61SJames Wright* - `-P0`
857bb8a0c61SJames Wright  - Atmospheric pressure
858bb8a0c61SJames Wright  - `1.01E5`
859bb8a0c61SJames Wright  - `Pa`
860bb8a0c61SJames Wright
86198b448e2SJames Wright* - `-platemesh_refine_height`
86298b448e2SJames Wright  - Height at which `-platemesh_Ndelta` number of elements should refined into
863bb8a0c61SJames Wright  - `5.9E-4`
864bb8a0c61SJames Wright  - `m`
865bb8a0c61SJames Wright
86698b448e2SJames Wright* - `-platemesh_Ndelta`
86798b448e2SJames Wright  - Number of elements to keep below `-platemesh_refine_height`
868bb8a0c61SJames Wright  - `45`
869bb8a0c61SJames Wright  -
870bb8a0c61SJames Wright
87198b448e2SJames Wright* - `-platemesh_growth`
872bb8a0c61SJames Wright  - Growth rate of the elements in the refinement region
873bb8a0c61SJames Wright  - `1.08`
874bb8a0c61SJames Wright  -
875bb8a0c61SJames Wright
87698b448e2SJames Wright* - `-platemesh_top_angle`
877bb8a0c61SJames Wright  - Downward angle of the top face of the domain. This face serves as an outlet.
878bb8a0c61SJames Wright  - `5`
879bb8a0c61SJames Wright  - `degrees`
880493642f1SJames Wright
881493642f1SJames Wright* - `-stg_use`
882493642f1SJames Wright  - Whether to use stg for the inflow conditions
883493642f1SJames Wright  - `false`
884493642f1SJames Wright  -
88598b448e2SJames Wright
88698b448e2SJames Wright* - `-platemesh_y_node_locs_path`
88798b448e2SJames Wright  - Path to file with y node locations. If empty, will use mesh warping instead.
88898b448e2SJames Wright  - `""`
88998b448e2SJames Wright  -
890aef1eb53SLeila Ghaffari
8910d850f2eSLeila Ghaffari* - `-n_chebyshev`
892aef1eb53SLeila Ghaffari  - Number of Chebyshev terms
893aef1eb53SLeila Ghaffari  - `20`
894aef1eb53SLeila Ghaffari  -
895aef1eb53SLeila Ghaffari
8960d850f2eSLeila Ghaffari* - `-chebyshev_`
8970d850f2eSLeila Ghaffari  - Prefix for Chebyshev snes solve
8980d850f2eSLeila Ghaffari  -
8990d850f2eSLeila Ghaffari  -
9000d850f2eSLeila Ghaffari
901bb8a0c61SJames Wright:::
902bb8a0c61SJames Wright
903bb8a0c61SJames WrightThis problem can be run with the `blasius.yaml` file via:
904bb8a0c61SJames Wright
905bb8a0c61SJames Wright```
906bb8a0c61SJames Wright./navierstokes -options_file blasius.yaml
907bb8a0c61SJames Wright```
908bb8a0c61SJames Wright
909bb8a0c61SJames Wright```{literalinclude} ../../../../../examples/fluids/blasius.yaml
910bb8a0c61SJames Wright:language: yaml
911575f8106SLeila Ghaffari```
912493642f1SJames Wright
913493642f1SJames Wright#### STG Inflow for Flat Plate
914493642f1SJames Wright
915b46bfc5eSJeremy L ThompsonUsing the STG Inflow for the blasius problem adds the following command-line options:
916493642f1SJames Wright
917493642f1SJames Wright:::{list-table} Blasius Runtime Options
918493642f1SJames Wright:header-rows: 1
919493642f1SJames Wright
920493642f1SJames Wright* - Option
921493642f1SJames Wright  - Description
922493642f1SJames Wright  - Default value
923493642f1SJames Wright  - Unit
924493642f1SJames Wright
925493642f1SJames Wright* - `-stg_inflow_path`
926493642f1SJames Wright  - Path to the STGInflow file
927493642f1SJames Wright  - `./STGInflow.dat`
928493642f1SJames Wright  -
929493642f1SJames Wright
930493642f1SJames Wright* - `-stg_rand_path`
931493642f1SJames Wright  - Path to the STGRand file
932493642f1SJames Wright  - `./STGRand.dat`
933493642f1SJames Wright  -
934493642f1SJames Wright
935493642f1SJames Wright* - `-stg_alpha`
936493642f1SJames Wright  - Growth rate of the wavemodes
937493642f1SJames Wright  - `1.01`
938493642f1SJames Wright  -
939493642f1SJames Wright
940493642f1SJames Wright* - `-stg_u0`
941493642f1SJames Wright  - Convective velocity, $U_0$
942493642f1SJames Wright  - `0.0`
943493642f1SJames Wright  - `m/s`
944493642f1SJames Wright
945493642f1SJames Wright* - `-stg_mean_only`
946493642f1SJames Wright  - Only impose the mean velocity (no fluctutations)
947493642f1SJames Wright  - `false`
948493642f1SJames Wright  -
949493642f1SJames Wright
95029ea39e3SJames Wright* - `-stg_strong`
95129ea39e3SJames Wright  - Strongly enforce the STG inflow boundary condition
95229ea39e3SJames Wright  - `false`
95329ea39e3SJames Wright  -
95429ea39e3SJames Wright
955d4e0f297SJames Wright* - `-stg_fluctuating_IC`
956d4e0f297SJames Wright  - "Extrude" the fluctuations through the domain as an initial condition
957d4e0f297SJames Wright  - `false`
958d4e0f297SJames Wright  -
959d4e0f297SJames Wright
960493642f1SJames Wright:::
961493642f1SJames Wright
962493642f1SJames WrightThis problem can be run with the `blasius.yaml` file via:
963493642f1SJames Wright
964493642f1SJames Wright```
965493642f1SJames Wright./navierstokes -options_file blasius.yaml -stg_use true
966493642f1SJames Wright```
967493642f1SJames Wright
968b46bfc5eSJeremy L ThompsonNote the added `-stg_use true` flag
969b46bfc5eSJeremy L ThompsonThis overrides the `stg: use: false` setting in the `blasius.yaml` file, enabling the use of the STG inflow.
970