xref: /honee/README.md (revision 109cd75b3afc58df497019c3b7b3ecb3beae87aa)
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
143a8ce54bfSJames Wright* - `-stats_enable`
144a8ce54bfSJames Wright  - Enable collection of spanwise flow statistics
145a8ce54bfSJames Wright  - `false`
146a8ce54bfSJames Wright
147a8ce54bfSJames Wright* - `-stats_test`
148a8ce54bfSJames Wright  - Use manufactured solution for statistics collection (used for testing)
149a8ce54bfSJames Wright  - `false`
150a8ce54bfSJames Wright
151a8ce54bfSJames Wright* - `-stats_collect_interval`
152a8ce54bfSJames Wright  - Number of timesteps between statistics collection
153a8ce54bfSJames Wright  - `1`
154a8ce54bfSJames Wright
155*109cd75bSJames Wright* - `-stats_viewer`
156*109cd75bSJames Wright  - Sets the PetscViewer for the statistics file writing, such as `cgns:output-%d.cgns` (requires PETSc `--download-cgns`)
157*109cd75bSJames Wright  -
158*109cd75bSJames Wright
159*109cd75bSJames Wright* - `-stats_viewer_interval`
160a8ce54bfSJames Wright  - Number of timesteps between statistics file writing (`-1` means only at end of run)
161a8ce54bfSJames Wright  - `-1`
162a8ce54bfSJames Wright
163*109cd75bSJames Wright* - `-stats_viewer_cgns_batch_size`
164*109cd75bSJames Wright  - Number of frames written per CGNS file if the CGNS file name includes a format specifier (`%d`).
165*109cd75bSJames Wright  - `20`
166*109cd75bSJames Wright
167575f8106SLeila Ghaffari* - `-snes_view`
168575f8106SLeila Ghaffari  - View PETSc `SNES` nonlinear solver configuration
169575f8106SLeila Ghaffari  -
1708ef11c93SLeila Ghaffari
171575f8106SLeila Ghaffari* - `-log_view`
172575f8106SLeila Ghaffari  - View PETSc performance log
173575f8106SLeila Ghaffari  -
174ea10196cSJeremy L Thompson
175575f8106SLeila Ghaffari* - `-help`
176575f8106SLeila Ghaffari  - View comprehensive information about run-time options
177575f8106SLeila Ghaffari  -
178575f8106SLeila Ghaffari:::
179ea10196cSJeremy L Thompson
18079b17980SJames 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:
181f4277be3SLeila Ghaffari
182bb8a0c61SJames Wright:::{list-table} 2D Face ID Labels
183bb8a0c61SJames Wright:header-rows: 1
184bb8a0c61SJames Wright* - PETSc Face Name
185bb8a0c61SJames Wright  - Cartesian direction
186bb8a0c61SJames Wright  - Face ID
187bb8a0c61SJames Wright
188bb8a0c61SJames Wright* - faceMarkerBottom
189bb8a0c61SJames Wright  - -z
190bb8a0c61SJames Wright  - 1
191bb8a0c61SJames Wright
192bb8a0c61SJames Wright* - faceMarkerRight
193bb8a0c61SJames Wright  - +x
194bb8a0c61SJames Wright  - 2
195bb8a0c61SJames Wright
196bb8a0c61SJames Wright* - faceMarkerTop
197bb8a0c61SJames Wright  - +z
198bb8a0c61SJames Wright  - 3
199bb8a0c61SJames Wright
200bb8a0c61SJames Wright* - faceMarkerLeft
201bb8a0c61SJames Wright  - -x
202bb8a0c61SJames Wright  - 4
203bb8a0c61SJames Wright:::
204bb8a0c61SJames Wright
205bb8a0c61SJames Wright:::{list-table} 2D Face ID Labels
206bb8a0c61SJames Wright:header-rows: 1
207bb8a0c61SJames Wright* - PETSc Face Name
208bb8a0c61SJames Wright  - Cartesian direction
209bb8a0c61SJames Wright  - Face ID
210bb8a0c61SJames Wright
211bb8a0c61SJames Wright* - faceMarkerBottom
212bb8a0c61SJames Wright  - -z
213bb8a0c61SJames Wright  - 1
214bb8a0c61SJames Wright
215bb8a0c61SJames Wright* - faceMarkerTop
216bb8a0c61SJames Wright  - +z
217bb8a0c61SJames Wright  - 2
218bb8a0c61SJames Wright
219bb8a0c61SJames Wright* - faceMarkerFront
220bb8a0c61SJames Wright  - -y
221bb8a0c61SJames Wright  - 3
222bb8a0c61SJames Wright
223bb8a0c61SJames Wright* - faceMarkerBack
224bb8a0c61SJames Wright  - +y
225bb8a0c61SJames Wright  - 4
226bb8a0c61SJames Wright
227bb8a0c61SJames Wright* - faceMarkerRight
228bb8a0c61SJames Wright  - +x
229bb8a0c61SJames Wright  - 5
230bb8a0c61SJames Wright
231bb8a0c61SJames Wright* - faceMarkerLeft
232bb8a0c61SJames Wright  - -x
233bb8a0c61SJames Wright  - 6
234bb8a0c61SJames Wright:::
235f4277be3SLeila Ghaffari
236c8c30d87SJed Brown### Boundary conditions
237c8c30d87SJed Brown
238c8c30d87SJed BrownBoundary conditions for compressible viscous flows are notoriously tricky. Here we offer some recommendations
239c8c30d87SJed Brown
240c8c30d87SJed Brown#### Inflow
241c8c30d87SJed Brown
242c8c30d87SJed 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).
243c8c30d87SJed BrownIt is stable and the least reflective boundary condition for acoustics.
244c8c30d87SJed Brown
245c8c30d87SJed BrownIf near a viscous wall, you may want a specified inflow profile.
246c8c30d87SJed BrownUse `bc_inflow` and see {ref}`example-blasius` and discussion of synthetic turbulence generation for ways to analytically generate developed inflow profiles.
247c8c30d87SJed 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.
248c8c30d87SJed BrownThe strong approach gives sharper resolution of velocity structures.
249c8c30d87SJed BrownWe have described the primitive variable formulation here; the conservative variants are similar, but not equivalent.
250c8c30d87SJed Brown
251c8c30d87SJed Brown### Outflow
252c8c30d87SJed Brown
253c8c30d87SJed BrownIf you know the complete exterior state, `bc_freestream` is the least reflective boundary condition, but is disruptive to viscous flow structures.
254c8c30d87SJed BrownIf thermal anomalies must exit the domain, the Riemann solver must resolve the contact wave to avoid reflections.
255c8c30d87SJed 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.
256c8c30d87SJed Brown
257c8c30d87SJed 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.
258c8c30d87SJed Brown
259c8c30d87SJed 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).
260c8c30d87SJed BrownIn our experience, `riemann` is slightly less reflective but produces similar flows in cases of strict outflow.
261c8c30d87SJed BrownThe `pressure` variant is retained to facilitate comparison with other codes, such as PHASTA-C, but we recommend `riemann` for general use.
262c8c30d87SJed Brown
263c8c30d87SJed Brown### Periodicity
264c8c30d87SJed Brown
265c8c30d87SJed BrownPETSc provides two ways to specify periodicity:
266c8c30d87SJed Brown
267c8c30d87SJed Brown1. Topological periodicity, in which the donor and receiver dofs are the same, obtained using:
268c8c30d87SJed Brown
269c8c30d87SJed Brown``` yaml
270c8c30d87SJed Browndm_plex:
271c8c30d87SJed Brown  shape: box
272c8c30d87SJed Brown  box_faces: 10,12,4
273c8c30d87SJed Brown  box_bd: none,none,periodic
274c8c30d87SJed Brown```
275c8c30d87SJed Brown
276c8c30d87SJed BrownThe coordinates for such cases are stored as a new field, and
277c8c30d87SJed Brown
278af8870a9STimothy Aiken### Advection
279af8870a9STimothy Aiken
280b46bfc5eSJeremy 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$.
281b46bfc5eSJeremy L ThompsonThese are available in 2D and 3D.
282af8870a9STimothy Aiken
283af8870a9STimothy Aiken#### 2D advection
284af8870a9STimothy Aiken
285575f8106SLeila GhaffariFor the 2D advection problem, the following additional command-line options are available:
286ea10196cSJeremy L Thompson
287575f8106SLeila Ghaffari:::{list-table} Advection2D Runtime Options
288575f8106SLeila Ghaffari:header-rows: 1
2898ef11c93SLeila Ghaffari
290575f8106SLeila Ghaffari* - Option
291575f8106SLeila Ghaffari  - Description
292575f8106SLeila Ghaffari  - Default value
293575f8106SLeila Ghaffari  - Unit
2948ef11c93SLeila Ghaffari
295575f8106SLeila Ghaffari* - `-rc`
296575f8106SLeila Ghaffari  - Characteristic radius of thermal bubble
297575f8106SLeila Ghaffari  - `1000`
298575f8106SLeila Ghaffari  - `m`
2998ef11c93SLeila Ghaffari
300575f8106SLeila Ghaffari* - `-units_meter`
301575f8106SLeila Ghaffari  - 1 meter in scaled length units
302575f8106SLeila Ghaffari  - `1E-2`
303575f8106SLeila Ghaffari  -
3048ef11c93SLeila Ghaffari
305575f8106SLeila Ghaffari* - `-units_second`
306575f8106SLeila Ghaffari  - 1 second in scaled time units
307575f8106SLeila Ghaffari  - `1E-2`
308575f8106SLeila Ghaffari  -
3098ef11c93SLeila Ghaffari
310575f8106SLeila Ghaffari* - `-units_kilogram`
311575f8106SLeila Ghaffari  - 1 kilogram in scaled mass units
312575f8106SLeila Ghaffari  - `1E-6`
313575f8106SLeila Ghaffari  -
314a515125bSLeila Ghaffari
315575f8106SLeila Ghaffari* - `-strong_form`
316575f8106SLeila Ghaffari  - Strong (1) or weak/integrated by parts (0) residual
317575f8106SLeila Ghaffari  - `0`
318575f8106SLeila Ghaffari  -
319a515125bSLeila Ghaffari
320575f8106SLeila Ghaffari* - `-stab`
321575f8106SLeila Ghaffari  - Stabilization method (`none`, `su`, or `supg`)
322575f8106SLeila Ghaffari  - `none`
323575f8106SLeila Ghaffari  -
324a515125bSLeila Ghaffari
325575f8106SLeila Ghaffari* - `-CtauS`
326575f8106SLeila Ghaffari  - Scale coefficient for stabilization tau (nondimensional)
327575f8106SLeila Ghaffari  - `0`
328575f8106SLeila Ghaffari  -
329a515125bSLeila Ghaffari
330575f8106SLeila Ghaffari* - `-wind_type`
331575f8106SLeila Ghaffari  - Wind type in Advection (`rotation` or `translation`)
332575f8106SLeila Ghaffari  - `rotation`
333575f8106SLeila Ghaffari  -
334a515125bSLeila Ghaffari
335575f8106SLeila Ghaffari* - `-wind_translation`
336575f8106SLeila Ghaffari  - Constant wind vector when `-wind_type translation`
337575f8106SLeila Ghaffari  - `1,0,0`
338575f8106SLeila Ghaffari  -
3398ef11c93SLeila Ghaffari
340575f8106SLeila Ghaffari* - `-E_wind`
341575f8106SLeila Ghaffari  - Total energy of inflow wind when `-wind_type translation`
342575f8106SLeila Ghaffari  - `1E6`
343575f8106SLeila Ghaffari  - `J`
344575f8106SLeila Ghaffari:::
345268c6924SLeila Ghaffari
346575f8106SLeila GhaffariAn example of the `rotation` mode can be run with:
347268c6924SLeila Ghaffari
348575f8106SLeila Ghaffari```
349f4277be3SLeila 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
350575f8106SLeila Ghaffari```
351268c6924SLeila Ghaffari
352575f8106SLeila Ghaffariand the `translation` mode with:
353268c6924SLeila Ghaffari
354575f8106SLeila Ghaffari```
355f4277be3SLeila 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
356575f8106SLeila Ghaffari```
357f4277be3SLeila GhaffariNote the lengths in `-dm_plex_box_upper` are given in meters, and will be nondimensionalized according to `-units_meter`.
358268c6924SLeila Ghaffari
359af8870a9STimothy Aiken#### 3D advection
360af8870a9STimothy Aiken
361575f8106SLeila GhaffariFor the 3D advection problem, the following additional command-line options are available:
362268c6924SLeila Ghaffari
363575f8106SLeila Ghaffari:::{list-table} Advection3D Runtime Options
364575f8106SLeila Ghaffari:header-rows: 1
365268c6924SLeila Ghaffari
366575f8106SLeila Ghaffari* - Option
367575f8106SLeila Ghaffari  - Description
368575f8106SLeila Ghaffari  - Default value
369575f8106SLeila Ghaffari  - Unit
370268c6924SLeila Ghaffari
371575f8106SLeila Ghaffari* - `-rc`
372575f8106SLeila Ghaffari  - Characteristic radius of thermal bubble
373575f8106SLeila Ghaffari  - `1000`
374575f8106SLeila Ghaffari  - `m`
375268c6924SLeila Ghaffari
376575f8106SLeila Ghaffari* - `-units_meter`
377575f8106SLeila Ghaffari  - 1 meter in scaled length units
378575f8106SLeila Ghaffari  - `1E-2`
379575f8106SLeila Ghaffari  -
380268c6924SLeila Ghaffari
381575f8106SLeila Ghaffari* - `-units_second`
382575f8106SLeila Ghaffari  - 1 second in scaled time units
383575f8106SLeila Ghaffari  - `1E-2`
384575f8106SLeila Ghaffari  -
385268c6924SLeila Ghaffari
386575f8106SLeila Ghaffari* - `-units_kilogram`
387575f8106SLeila Ghaffari  - 1 kilogram in scaled mass units
388575f8106SLeila Ghaffari  - `1E-6`
389575f8106SLeila Ghaffari  -
390268c6924SLeila Ghaffari
391575f8106SLeila Ghaffari* - `-strong_form`
392575f8106SLeila Ghaffari  - Strong (1) or weak/integrated by parts (0) residual
393575f8106SLeila Ghaffari  - `0`
394575f8106SLeila Ghaffari  -
395268c6924SLeila Ghaffari
396575f8106SLeila Ghaffari* - `-stab`
397575f8106SLeila Ghaffari  - Stabilization method (`none`, `su`, or `supg`)
398575f8106SLeila Ghaffari  - `none`
399575f8106SLeila Ghaffari  -
400268c6924SLeila Ghaffari
401575f8106SLeila Ghaffari* - `-CtauS`
402575f8106SLeila Ghaffari  - Scale coefficient for stabilization tau (nondimensional)
403575f8106SLeila Ghaffari  - `0`
404575f8106SLeila Ghaffari  -
405268c6924SLeila Ghaffari
406575f8106SLeila Ghaffari* - `-wind_type`
407575f8106SLeila Ghaffari  - Wind type in Advection (`rotation` or `translation`)
408575f8106SLeila Ghaffari  - `rotation`
409575f8106SLeila Ghaffari  -
410268c6924SLeila Ghaffari
411575f8106SLeila Ghaffari* - `-wind_translation`
412575f8106SLeila Ghaffari  - Constant wind vector when `-wind_type translation`
413575f8106SLeila Ghaffari  - `1,0,0`
414575f8106SLeila Ghaffari  -
415268c6924SLeila Ghaffari
416575f8106SLeila Ghaffari* - `-E_wind`
417575f8106SLeila Ghaffari  - Total energy of inflow wind when `-wind_type translation`
418575f8106SLeila Ghaffari  - `1E6`
419575f8106SLeila Ghaffari  - `J`
420268c6924SLeila Ghaffari
421575f8106SLeila Ghaffari* - `-bubble_type`
422575f8106SLeila Ghaffari  - `sphere` (3D) or `cylinder` (2D)
423575f8106SLeila Ghaffari  - `shpere`
424575f8106SLeila Ghaffari  -
425268c6924SLeila Ghaffari
426575f8106SLeila Ghaffari* - `-bubble_continuity`
427575f8106SLeila Ghaffari  - `smooth`, `back_sharp`, or `thick`
428575f8106SLeila Ghaffari  - `smooth`
429575f8106SLeila Ghaffari  -
430575f8106SLeila Ghaffari:::
431ea10196cSJeremy L Thompson
432575f8106SLeila GhaffariAn example of the `rotation` mode can be run with:
433ea10196cSJeremy L Thompson
434575f8106SLeila Ghaffari```
435f4277be3SLeila 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
436575f8106SLeila Ghaffari```
437ea10196cSJeremy L Thompson
438575f8106SLeila Ghaffariand the `translation` mode with:
439ea10196cSJeremy L Thompson
440575f8106SLeila Ghaffari```
441f4277be3SLeila 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
442575f8106SLeila Ghaffari```
443ea10196cSJeremy L Thompson
444af8870a9STimothy Aiken### Inviscid Ideal Gas
445af8870a9STimothy Aiken
446af8870a9STimothy Aiken#### Isentropic Euler vortex
447af8870a9STimothy Aiken
448575f8106SLeila GhaffariFor the Isentropic Vortex problem, the following additional command-line options are available:
449ea10196cSJeremy L Thompson
450575f8106SLeila Ghaffari:::{list-table} Isentropic Vortex Runtime Options
451575f8106SLeila Ghaffari:header-rows: 1
452ea10196cSJeremy L Thompson
453575f8106SLeila Ghaffari* - Option
454575f8106SLeila Ghaffari  - Description
455575f8106SLeila Ghaffari  - Default value
456575f8106SLeila Ghaffari  - Unit
457ea10196cSJeremy L Thompson
458575f8106SLeila Ghaffari* - `-center`
459575f8106SLeila Ghaffari  - Location of vortex center
460575f8106SLeila Ghaffari  - `(lx,ly,lz)/2`
461575f8106SLeila Ghaffari  - `(m,m,m)`
462ea10196cSJeremy L Thompson
463575f8106SLeila Ghaffari* - `-units_meter`
464575f8106SLeila Ghaffari  - 1 meter in scaled length units
465575f8106SLeila Ghaffari  - `1E-2`
466575f8106SLeila Ghaffari  -
467ea10196cSJeremy L Thompson
468575f8106SLeila Ghaffari* - `-units_second`
469575f8106SLeila Ghaffari  - 1 second in scaled time units
470575f8106SLeila Ghaffari  - `1E-2`
471575f8106SLeila Ghaffari  -
472ea10196cSJeremy L Thompson
473575f8106SLeila Ghaffari* - `-mean_velocity`
474575f8106SLeila Ghaffari  - Background velocity vector
475575f8106SLeila Ghaffari  - `(1,1,0)`
476575f8106SLeila Ghaffari  -
477ea10196cSJeremy L Thompson
478575f8106SLeila Ghaffari* - `-vortex_strength`
479575f8106SLeila Ghaffari  - Strength of vortex < 10
480575f8106SLeila Ghaffari  - `5`
481575f8106SLeila Ghaffari  -
482d8a22b9eSJed Brown
483d8a22b9eSJed Brown* - `-c_tau`
484d8a22b9eSJed Brown  - Stabilization constant
485f821ee77SLeila Ghaffari  - `0.5`
486d8a22b9eSJed Brown  -
487575f8106SLeila Ghaffari:::
488ea10196cSJeremy L Thompson
489575f8106SLeila GhaffariThis problem can be run with:
490ea10196cSJeremy L Thompson
491575f8106SLeila Ghaffari```
492f4277be3SLeila 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.
493575f8106SLeila Ghaffari```
494ea10196cSJeremy L Thompson
495af8870a9STimothy Aiken#### Sod shock tube
496af8870a9STimothy Aiken
497af8870a9STimothy AikenFor the Shock Tube problem, the following additional command-line options are available:
498af8870a9STimothy Aiken
499af8870a9STimothy Aiken:::{list-table} Shock Tube Runtime Options
500af8870a9STimothy Aiken:header-rows: 1
501af8870a9STimothy Aiken
502af8870a9STimothy Aiken* - Option
503af8870a9STimothy Aiken  - Description
504af8870a9STimothy Aiken  - Default value
505af8870a9STimothy Aiken  - Unit
506af8870a9STimothy Aiken
507af8870a9STimothy Aiken* - `-units_meter`
508af8870a9STimothy Aiken  - 1 meter in scaled length units
509af8870a9STimothy Aiken  - `1E-2`
510af8870a9STimothy Aiken  -
511af8870a9STimothy Aiken
512af8870a9STimothy Aiken* - `-units_second`
513af8870a9STimothy Aiken  - 1 second in scaled time units
514af8870a9STimothy Aiken  - `1E-2`
515af8870a9STimothy Aiken  -
516af8870a9STimothy Aiken
517af8870a9STimothy Aiken* - `-yzb`
518af8870a9STimothy Aiken  - Use YZB discontinuity capturing
519af8870a9STimothy Aiken  - `none`
520af8870a9STimothy Aiken  -
521af8870a9STimothy Aiken
522af8870a9STimothy Aiken* - `-stab`
523af8870a9STimothy Aiken  - Stabilization method (`none`, `su`, or `supg`)
524af8870a9STimothy Aiken  - `none`
525af8870a9STimothy Aiken  -
526af8870a9STimothy Aiken:::
527af8870a9STimothy Aiken
528af8870a9STimothy AikenThis problem can be run with:
529af8870a9STimothy Aiken
530af8870a9STimothy Aiken```
531af8870a9STimothy 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
532af8870a9STimothy Aiken```
533af8870a9STimothy Aiken
534af8870a9STimothy Aiken### Newtonian viscosity, Ideal Gas
535af8870a9STimothy Aiken
536bb8a0c61SJames WrightFor the Density Current, Channel, and Blasius problems, the following common command-line options are available:
537ea10196cSJeremy L Thompson
538bb8a0c61SJames Wright:::{list-table} Newtonian Ideal Gas problems Runtime Options
539575f8106SLeila Ghaffari:header-rows: 1
540ea10196cSJeremy L Thompson
541575f8106SLeila Ghaffari* - Option
542575f8106SLeila Ghaffari  - Description
543575f8106SLeila Ghaffari  - Default value
544575f8106SLeila Ghaffari  - Unit
545ea10196cSJeremy L Thompson
546575f8106SLeila Ghaffari* - `-units_meter`
547575f8106SLeila Ghaffari  - 1 meter in scaled length units
548bb8a0c61SJames Wright  - `1`
549575f8106SLeila Ghaffari  -
550ea10196cSJeremy L Thompson
551575f8106SLeila Ghaffari* - `-units_second`
552575f8106SLeila Ghaffari  - 1 second in scaled time units
553bb8a0c61SJames Wright  - `1`
554575f8106SLeila Ghaffari  -
555ea10196cSJeremy L Thompson
556575f8106SLeila Ghaffari* - `-units_kilogram`
557575f8106SLeila Ghaffari  - 1 kilogram in scaled mass units
558bb8a0c61SJames Wright  - `1`
559575f8106SLeila Ghaffari  -
560ea10196cSJeremy L Thompson
561575f8106SLeila Ghaffari* - `-units_Kelvin`
562575f8106SLeila Ghaffari  - 1 Kelvin in scaled temperature units
563575f8106SLeila Ghaffari  - `1`
564575f8106SLeila Ghaffari  -
565ea10196cSJeremy L Thompson
566575f8106SLeila Ghaffari* - `-stab`
567575f8106SLeila Ghaffari  - Stabilization method (`none`, `su`, or `supg`)
568575f8106SLeila Ghaffari  - `none`
569575f8106SLeila Ghaffari  -
570ea10196cSJeremy L Thompson
571d8a22b9eSJed Brown* - `-c_tau`
572bb8a0c61SJames Wright  - Stabilization constant, $c_\tau$
573f821ee77SLeila Ghaffari  - `0.5`
574d8a22b9eSJed Brown  -
575d8a22b9eSJed Brown
576bb8a0c61SJames Wright* - `-Ctau_t`
577bb8a0c61SJames Wright  - Stabilization time constant, $C_t$
578bb8a0c61SJames Wright  - `1.0`
579bb8a0c61SJames Wright  -
580ea10196cSJeremy L Thompson
581bb8a0c61SJames Wright* - `-Ctau_v`
582bb8a0c61SJames Wright  - Stabilization viscous constant, $C_v$
583b5786772SLeila Ghaffari  - `36, 60, 128 for degree = 1, 2, 3`
584bb8a0c61SJames Wright  -
585ea10196cSJeremy L Thompson
586bb8a0c61SJames Wright* - `-Ctau_C`
587bb8a0c61SJames Wright  - Stabilization continuity constant, $C_c$
588bb8a0c61SJames Wright  - `1.0`
589bb8a0c61SJames Wright  -
590ea10196cSJeremy L Thompson
591bb8a0c61SJames Wright* - `-Ctau_M`
592bb8a0c61SJames Wright  - Stabilization momentum constant, $C_m$
593bb8a0c61SJames Wright  - `1.0`
594bb8a0c61SJames Wright  -
595bb8a0c61SJames Wright
596bb8a0c61SJames Wright* - `-Ctau_E`
597bb8a0c61SJames Wright  - Stabilization energy constant, $C_E$
598bb8a0c61SJames Wright  - `1.0`
599bb8a0c61SJames Wright  -
600ea10196cSJeremy L Thompson
601575f8106SLeila Ghaffari* - `-cv`
602575f8106SLeila Ghaffari  - Heat capacity at constant volume
603575f8106SLeila Ghaffari  - `717`
604575f8106SLeila Ghaffari  - `J/(kg K)`
605ea10196cSJeremy L Thompson
606575f8106SLeila Ghaffari* - `-cp`
607575f8106SLeila Ghaffari  - Heat capacity at constant pressure
608575f8106SLeila Ghaffari  - `1004`
609575f8106SLeila Ghaffari  - `J/(kg K)`
610ea10196cSJeremy L Thompson
611575f8106SLeila Ghaffari* - `-g`
612575f8106SLeila Ghaffari  - Gravitational acceleration
613575f8106SLeila Ghaffari  - `9.81`
614575f8106SLeila Ghaffari  - `m/s^2`
615ea10196cSJeremy L Thompson
616575f8106SLeila Ghaffari* - `-lambda`
617575f8106SLeila Ghaffari  - Stokes hypothesis second viscosity coefficient
618575f8106SLeila Ghaffari  - `-2/3`
619575f8106SLeila Ghaffari  -
620ea10196cSJeremy L Thompson
621575f8106SLeila Ghaffari* - `-mu`
622575f8106SLeila Ghaffari  - Shear dynamic viscosity coefficient
623575f8106SLeila Ghaffari  - `75`
624575f8106SLeila Ghaffari  -  `Pa s`
625a515125bSLeila Ghaffari
626575f8106SLeila Ghaffari* - `-k`
627575f8106SLeila Ghaffari  - Thermal conductivity
628575f8106SLeila Ghaffari  - `0.02638`
629575f8106SLeila Ghaffari  - `W/(m K)`
630edd152dcSJed Brown
631edd152dcSJed Brown* - `-newtonian_unit_tests`
632edd152dcSJed Brown  - Developer option to test properties
633edd152dcSJed Brown  - `false`
634edd152dcSJed Brown  - boolean
635aa61a79eSJames Wright
636ba952bfeSJames Wright* - `-state_var`
637ba952bfeSJames Wright  - State variables to solve solution with. `conservative` ($\rho, \rho \bm{u}, \rho e$) or `primitive` ($P, \bm{u}, T$)
638ba952bfeSJames Wright  - `conservative`
639ba952bfeSJames Wright  - string
640575f8106SLeila Ghaffari:::
641a515125bSLeila Ghaffari
64279b17980SJames Wright#### Newtonian Wave
64379b17980SJames Wright
64483c686feSJames WrightThe newtonian wave problem has the following command-line options in addition to the Newtonian Ideal Gas options:
64579b17980SJames Wright
646ff82278dSJames Wright:::{list-table} Newtonian Wave Runtime Options
64779b17980SJames Wright:header-rows: 1
64879b17980SJames Wright
64979b17980SJames Wright* - Option
65079b17980SJames Wright  - Description
65179b17980SJames Wright  - Default value
65279b17980SJames Wright  - Unit
65379b17980SJames Wright
654edf614b5SJed Brown* - `-freestream_riemann`
655edf614b5SJed Brown  - Riemann solver for boundaries (HLL or HLLC)
656edf614b5SJed Brown  - `hllc`
657edf614b5SJed Brown  -
658edf614b5SJed Brown
659edf614b5SJed Brown* - `-freestream_velocity`
66079b17980SJames Wright  - Freestream velocity vector
66179b17980SJames Wright  - `0,0,0`
66279b17980SJames Wright  - `m/s`
66379b17980SJames Wright
664edf614b5SJed Brown* - `-freestream_temperature`
66579b17980SJames Wright  - Freestream temperature
66679b17980SJames Wright  - `288`
66779b17980SJames Wright  - `K`
66879b17980SJames Wright
669edf614b5SJed Brown* - `-freestream_pressure`
670ff82278dSJames Wright  - Freestream pressure
67179b17980SJames Wright  - `1.01e5`
67279b17980SJames Wright  - `Pa`
67379b17980SJames Wright
67479b17980SJames Wright* - `-epicenter`
67579b17980SJames Wright  - Coordinates of center of perturbation
67679b17980SJames Wright  - `0,0,0`
67779b17980SJames Wright  - `m`
67879b17980SJames Wright
67979b17980SJames Wright* - `-amplitude`
68079b17980SJames Wright  - Amplitude of the perturbation
68179b17980SJames Wright  - `0.1`
68279b17980SJames Wright  -
68379b17980SJames Wright
68479b17980SJames Wright* - `-width`
68579b17980SJames Wright  - Width parameter of the perturbation
68679b17980SJames Wright  - `0.002`
68779b17980SJames Wright  - `m`
68879b17980SJames Wright
68979b17980SJames Wright:::
69079b17980SJames Wright
69179b17980SJames WrightThis problem can be run with the `newtonianwave.yaml` file via:
69279b17980SJames Wright
69379b17980SJames Wright```
69479b17980SJames Wright./navierstokes -options_file newtonianwave.yaml
69579b17980SJames Wright```
69679b17980SJames Wright
69779b17980SJames Wright```{literalinclude} ../../../../../examples/fluids/newtonianwave.yaml
69879b17980SJames Wright:language: yaml
69979b17980SJames Wright```
700edd152dcSJed Brown
701b8fb7609SAdeleke O. Bankole#### Vortex Shedding - Flow past Cylinder
702b8fb7609SAdeleke O. Bankole
703b8fb7609SAdeleke O. BankoleThe vortex shedding, flow past cylinder problem has the following command-line options in addition to the Newtonian Ideal Gas options:
704b8fb7609SAdeleke O. Bankole
705b8fb7609SAdeleke O. Bankole:::{list-table} Vortex Shedding Runtime Options
706b8fb7609SAdeleke O. Bankole:header-rows: 1
707b8fb7609SAdeleke O. Bankole
708b8fb7609SAdeleke O. Bankole* - Option
709b8fb7609SAdeleke O. Bankole  - Description
710b8fb7609SAdeleke O. Bankole  - Default value
711b8fb7609SAdeleke O. Bankole  - Unit
712b8fb7609SAdeleke O. Bankole
713b8fb7609SAdeleke O. Bankole* - `-freestream_velocity`
714b8fb7609SAdeleke O. Bankole  - Freestream velocity vector
715b8fb7609SAdeleke O. Bankole  - `0,0,0`
716b8fb7609SAdeleke O. Bankole  - `m/s`
717b8fb7609SAdeleke O. Bankole
718b8fb7609SAdeleke O. Bankole* - `-freestream_temperature`
719b8fb7609SAdeleke O. Bankole  - Freestream temperature
720b8fb7609SAdeleke O. Bankole  - `288`
721b8fb7609SAdeleke O. Bankole  - `K`
722b8fb7609SAdeleke O. Bankole
723b8fb7609SAdeleke O. Bankole* - `-freestream_pressure`
724b8fb7609SAdeleke O. Bankole  - Freestream pressure
725b8fb7609SAdeleke O. Bankole  - `1.01e5`
726b8fb7609SAdeleke O. Bankole  - `Pa`
727b8fb7609SAdeleke O. Bankole
728b8fb7609SAdeleke O. Bankole:::
729b8fb7609SAdeleke O. Bankole
730b8fb7609SAdeleke O. BankoleThe initial condition is taken from `-reference_temperature` and `-reference_pressure`.
731b8fb7609SAdeleke O. BankoleTo run this problem, first generate a mesh:
732b8fb7609SAdeleke O. Bankole
733b8fb7609SAdeleke O. Bankole```console
734b8fb7609SAdeleke O. Bankole$ make -C examples/fluids/meshes
735b8fb7609SAdeleke O. Bankole```
736b8fb7609SAdeleke O. Bankole
737b8fb7609SAdeleke O. BankoleThen run by building the executable and running:
738b8fb7609SAdeleke O. Bankole
739b8fb7609SAdeleke O. Bankole```console
740b8fb7609SAdeleke O. Bankole$ make build/fluids-navierstokes
741b8fb7609SAdeleke O. Bankole$ mpiexec -n 6 build/fluids-navierstokes -options_file vortexshedding.yaml
742b8fb7609SAdeleke O. Bankole```
743b8fb7609SAdeleke O. Bankole
744b8fb7609SAdeleke O. BankoleThe vortex shedding period is roughly 6 and this problem runs until time 100 (2000 time steps).
745b8fb7609SAdeleke O. Bankole
746b8fb7609SAdeleke O. Bankole```{literalinclude} ../../../../../examples/fluids/vortexshedding.yaml
747b8fb7609SAdeleke O. Bankole:language: yaml
748b8fb7609SAdeleke O. Bankole```
749b8fb7609SAdeleke O. Bankole
750af8870a9STimothy Aiken#### Density current
751af8870a9STimothy Aiken
75283c686feSJames WrightThe Density Current problem has the following command-line options in addition to the Newtonian Ideal Gas options:
753bb8a0c61SJames Wright
754bb8a0c61SJames Wright:::{list-table} Density Current Runtime Options
755bb8a0c61SJames Wright:header-rows: 1
756bb8a0c61SJames Wright
757bb8a0c61SJames Wright* - Option
758bb8a0c61SJames Wright  - Description
759bb8a0c61SJames Wright  - Default value
760bb8a0c61SJames Wright  - Unit
761bb8a0c61SJames Wright
762bb8a0c61SJames Wright* - `-center`
763bb8a0c61SJames Wright  - Location of bubble center
764bb8a0c61SJames Wright  - `(lx,ly,lz)/2`
765bb8a0c61SJames Wright  - `(m,m,m)`
766bb8a0c61SJames Wright
767bb8a0c61SJames Wright* - `-dc_axis`
768bb8a0c61SJames Wright  - Axis of density current cylindrical anomaly, or `(0,0,0)` for spherically symmetric
769bb8a0c61SJames Wright  - `(0,0,0)`
770bb8a0c61SJames Wright  -
771bb8a0c61SJames Wright
772bb8a0c61SJames Wright* - `-rc`
773bb8a0c61SJames Wright  - Characteristic radius of thermal bubble
774bb8a0c61SJames Wright  - `1000`
775bb8a0c61SJames Wright  - `m`
776bb8a0c61SJames Wright
777bb8a0c61SJames Wright* - `-theta0`
778bb8a0c61SJames Wright  - Reference potential temperature
779bb8a0c61SJames Wright  - `300`
780bb8a0c61SJames Wright  - `K`
781bb8a0c61SJames Wright
782bb8a0c61SJames Wright* - `-thetaC`
783bb8a0c61SJames Wright  - Perturbation of potential temperature
784bb8a0c61SJames Wright  - `-15`
785bb8a0c61SJames Wright  - `K`
786bb8a0c61SJames Wright
787bb8a0c61SJames Wright* - `-P0`
788bb8a0c61SJames Wright  - Atmospheric pressure
789bb8a0c61SJames Wright  - `1E5`
790bb8a0c61SJames Wright  - `Pa`
791bb8a0c61SJames Wright
792bb8a0c61SJames Wright* - `-N`
793bb8a0c61SJames Wright  - Brunt-Vaisala frequency
794bb8a0c61SJames Wright  - `0.01`
795bb8a0c61SJames Wright  - `1/s`
796bb8a0c61SJames Wright:::
797bb8a0c61SJames Wright
798575f8106SLeila GhaffariThis problem can be run with:
799ea10196cSJeremy L Thompson
800575f8106SLeila Ghaffari```
801bb8a0c61SJames 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
802bb8a0c61SJames Wright```
803bb8a0c61SJames Wright
804af8870a9STimothy Aiken#### Channel flow
805af8870a9STimothy Aiken
80683c686feSJames WrightThe Channel problem has the following command-line options in addition to the Newtonian Ideal Gas options:
807bb8a0c61SJames Wright
808bb8a0c61SJames Wright:::{list-table} Channel Runtime Options
809bb8a0c61SJames Wright:header-rows: 1
810bb8a0c61SJames Wright
811bb8a0c61SJames Wright* - Option
812bb8a0c61SJames Wright  - Description
813bb8a0c61SJames Wright  - Default value
814bb8a0c61SJames Wright  - Unit
815bb8a0c61SJames Wright
816bb8a0c61SJames Wright* - `-umax`
817bb8a0c61SJames Wright  - Maximum/centerline velocity of the flow
818bb8a0c61SJames Wright  - `10`
819bb8a0c61SJames Wright  - `m/s`
820bb8a0c61SJames Wright
821bb8a0c61SJames Wright* - `-theta0`
822bb8a0c61SJames Wright  - Reference potential temperature
823bb8a0c61SJames Wright  - `300`
824bb8a0c61SJames Wright  - `K`
825bb8a0c61SJames Wright
826bb8a0c61SJames Wright* - `-P0`
827bb8a0c61SJames Wright  - Atmospheric pressure
828bb8a0c61SJames Wright  - `1E5`
829bb8a0c61SJames Wright  - `Pa`
830edd152dcSJed Brown
831edd152dcSJed Brown* - `-body_force_scale`
832edd152dcSJed Brown  - Multiplier for body force (`-1` for flow reversal)
833edd152dcSJed Brown  - 1
834edd152dcSJed Brown  -
835bb8a0c61SJames Wright:::
836bb8a0c61SJames Wright
837bb8a0c61SJames WrightThis problem can be run with the `channel.yaml` file via:
838bb8a0c61SJames Wright
839bb8a0c61SJames Wright```
840bb8a0c61SJames Wright./navierstokes -options_file channel.yaml
841bb8a0c61SJames Wright```
842bb8a0c61SJames Wright```{literalinclude} ../../../../../examples/fluids/channel.yaml
843bb8a0c61SJames Wright:language: yaml
844bb8a0c61SJames Wright```
845bb8a0c61SJames Wright
846c8c30d87SJed Brown(example-blasius)=
847c8c30d87SJed Brown
848af8870a9STimothy Aiken#### Blasius boundary layer
849af8870a9STimothy Aiken
85083c686feSJames WrightThe Blasius problem has the following command-line options in addition to the Newtonian Ideal Gas options:
851bb8a0c61SJames Wright
852bb8a0c61SJames Wright:::{list-table} Blasius Runtime Options
853bb8a0c61SJames Wright:header-rows: 1
854bb8a0c61SJames Wright
855bb8a0c61SJames Wright* - Option
856bb8a0c61SJames Wright  - Description
857bb8a0c61SJames Wright  - Default value
858bb8a0c61SJames Wright  - Unit
859bb8a0c61SJames Wright
860aef1eb53SLeila Ghaffari* - `-velocity_infinity`
861bb8a0c61SJames Wright  - Freestream velocity
862bb8a0c61SJames Wright  - `40`
863bb8a0c61SJames Wright  - `m/s`
864bb8a0c61SJames Wright
865aef1eb53SLeila Ghaffari* - `-temperature_infinity`
866aef1eb53SLeila Ghaffari  - Freestream temperature
867bb8a0c61SJames Wright  - `288`
868bb8a0c61SJames Wright  - `K`
869bb8a0c61SJames Wright
870aef1eb53SLeila Ghaffari* - `-temperature_wall`
871aef1eb53SLeila Ghaffari  - Wall temperature
8720d850f2eSLeila Ghaffari  - `288`
873aef1eb53SLeila Ghaffari  - `K`
874aef1eb53SLeila Ghaffari
875aef1eb53SLeila Ghaffari* - `-delta0`
876aef1eb53SLeila Ghaffari  - Boundary layer height at the inflow
877aef1eb53SLeila Ghaffari  - `4.2e-3`
878aef1eb53SLeila Ghaffari  - `m`
879aef1eb53SLeila Ghaffari
880bb8a0c61SJames Wright* - `-P0`
881bb8a0c61SJames Wright  - Atmospheric pressure
882bb8a0c61SJames Wright  - `1.01E5`
883bb8a0c61SJames Wright  - `Pa`
884bb8a0c61SJames Wright
88598b448e2SJames Wright* - `-platemesh_refine_height`
88698b448e2SJames Wright  - Height at which `-platemesh_Ndelta` number of elements should refined into
887bb8a0c61SJames Wright  - `5.9E-4`
888bb8a0c61SJames Wright  - `m`
889bb8a0c61SJames Wright
89098b448e2SJames Wright* - `-platemesh_Ndelta`
89198b448e2SJames Wright  - Number of elements to keep below `-platemesh_refine_height`
892bb8a0c61SJames Wright  - `45`
893bb8a0c61SJames Wright  -
894bb8a0c61SJames Wright
89598b448e2SJames Wright* - `-platemesh_growth`
896bb8a0c61SJames Wright  - Growth rate of the elements in the refinement region
897bb8a0c61SJames Wright  - `1.08`
898bb8a0c61SJames Wright  -
899bb8a0c61SJames Wright
90098b448e2SJames Wright* - `-platemesh_top_angle`
901bb8a0c61SJames Wright  - Downward angle of the top face of the domain. This face serves as an outlet.
902bb8a0c61SJames Wright  - `5`
903bb8a0c61SJames Wright  - `degrees`
904493642f1SJames Wright
905493642f1SJames Wright* - `-stg_use`
906493642f1SJames Wright  - Whether to use stg for the inflow conditions
907493642f1SJames Wright  - `false`
908493642f1SJames Wright  -
90998b448e2SJames Wright
91098b448e2SJames Wright* - `-platemesh_y_node_locs_path`
91198b448e2SJames Wright  - Path to file with y node locations. If empty, will use mesh warping instead.
91298b448e2SJames Wright  - `""`
91398b448e2SJames Wright  -
914aef1eb53SLeila Ghaffari
9150d850f2eSLeila Ghaffari* - `-n_chebyshev`
916aef1eb53SLeila Ghaffari  - Number of Chebyshev terms
917aef1eb53SLeila Ghaffari  - `20`
918aef1eb53SLeila Ghaffari  -
919aef1eb53SLeila Ghaffari
9200d850f2eSLeila Ghaffari* - `-chebyshev_`
9210d850f2eSLeila Ghaffari  - Prefix for Chebyshev snes solve
9220d850f2eSLeila Ghaffari  -
9230d850f2eSLeila Ghaffari  -
9240d850f2eSLeila Ghaffari
925bb8a0c61SJames Wright:::
926bb8a0c61SJames Wright
927bb8a0c61SJames WrightThis problem can be run with the `blasius.yaml` file via:
928bb8a0c61SJames Wright
929bb8a0c61SJames Wright```
930bb8a0c61SJames Wright./navierstokes -options_file blasius.yaml
931bb8a0c61SJames Wright```
932bb8a0c61SJames Wright
933bb8a0c61SJames Wright```{literalinclude} ../../../../../examples/fluids/blasius.yaml
934bb8a0c61SJames Wright:language: yaml
935575f8106SLeila Ghaffari```
936493642f1SJames Wright
937493642f1SJames Wright#### STG Inflow for Flat Plate
938493642f1SJames Wright
939b46bfc5eSJeremy L ThompsonUsing the STG Inflow for the blasius problem adds the following command-line options:
940493642f1SJames Wright
941493642f1SJames Wright:::{list-table} Blasius Runtime Options
942493642f1SJames Wright:header-rows: 1
943493642f1SJames Wright
944493642f1SJames Wright* - Option
945493642f1SJames Wright  - Description
946493642f1SJames Wright  - Default value
947493642f1SJames Wright  - Unit
948493642f1SJames Wright
949493642f1SJames Wright* - `-stg_inflow_path`
950493642f1SJames Wright  - Path to the STGInflow file
951493642f1SJames Wright  - `./STGInflow.dat`
952493642f1SJames Wright  -
953493642f1SJames Wright
954493642f1SJames Wright* - `-stg_rand_path`
955493642f1SJames Wright  - Path to the STGRand file
956493642f1SJames Wright  - `./STGRand.dat`
957493642f1SJames Wright  -
958493642f1SJames Wright
959493642f1SJames Wright* - `-stg_alpha`
960493642f1SJames Wright  - Growth rate of the wavemodes
961493642f1SJames Wright  - `1.01`
962493642f1SJames Wright  -
963493642f1SJames Wright
964493642f1SJames Wright* - `-stg_u0`
965493642f1SJames Wright  - Convective velocity, $U_0$
966493642f1SJames Wright  - `0.0`
967493642f1SJames Wright  - `m/s`
968493642f1SJames Wright
969493642f1SJames Wright* - `-stg_mean_only`
970493642f1SJames Wright  - Only impose the mean velocity (no fluctutations)
971493642f1SJames Wright  - `false`
972493642f1SJames Wright  -
973493642f1SJames Wright
97429ea39e3SJames Wright* - `-stg_strong`
97529ea39e3SJames Wright  - Strongly enforce the STG inflow boundary condition
97629ea39e3SJames Wright  - `false`
97729ea39e3SJames Wright  -
97829ea39e3SJames Wright
979d4e0f297SJames Wright* - `-stg_fluctuating_IC`
980d4e0f297SJames Wright  - "Extrude" the fluctuations through the domain as an initial condition
981d4e0f297SJames Wright  - `false`
982d4e0f297SJames Wright  -
983d4e0f297SJames Wright
984493642f1SJames Wright:::
985493642f1SJames Wright
986493642f1SJames WrightThis problem can be run with the `blasius.yaml` file via:
987493642f1SJames Wright
988493642f1SJames Wright```
989493642f1SJames Wright./navierstokes -options_file blasius.yaml -stg_use true
990493642f1SJames Wright```
991493642f1SJames Wright
992b46bfc5eSJeremy L ThompsonNote the added `-stg_use true` flag
993b46bfc5eSJeremy L ThompsonThis overrides the `stg: use: false` setting in the `blasius.yaml` file, enabling the use of the STG inflow.
994