1ccaff030SJeremy L Thompson## libCEED: Navier-Stokes Example 2ccaff030SJeremy L Thompson 3ccaff030SJeremy L ThompsonThis page provides a description of the Navier-Stokes example for the libCEED library, based on PETSc. 4b8962995SJeremy L ThompsonPETSc v3.17 or a development version of PETSc at commit 0e95d842 or later is required. 5ccaff030SJeremy L Thompson 677841947SLeila GhaffariThe Navier-Stokes problem solves the compressible Navier-Stokes equations in three dimensions using an explicit time integration. 777841947SLeila GhaffariThe state variables are mass density, momentum density, and energy density. 8ccaff030SJeremy L Thompson 977841947SLeila GhaffariThe main Navier-Stokes solver for libCEED is defined in [`navierstokes.c`](navierstokes.c) with different problem definitions according to the application of interest. 10ccaff030SJeremy L Thompson 11bc7bbd5dSLeila GhaffariBuild by using: 12ccaff030SJeremy L Thompson 13ccaff030SJeremy L Thompson`make` 14ccaff030SJeremy L Thompson 15bc7bbd5dSLeila Ghaffariand run with: 16ccaff030SJeremy L Thompson 17bc7bbd5dSLeila Ghaffari``` 18bc7bbd5dSLeila Ghaffari./navierstokes -ceed [ceed] -problem [problem type] -degree [degree] 19bc7bbd5dSLeila Ghaffari``` 20ccaff030SJeremy L Thompson 21bc7bbd5dSLeila Ghaffari## Runtime options 22ccaff030SJeremy L Thompson 23bc7bbd5dSLeila Ghaffari% inclusion-fluids-marker 24ccaff030SJeremy L Thompson 25bc7bbd5dSLeila GhaffariThe Navier-Stokes mini-app is controlled via command-line options. 26bc7bbd5dSLeila GhaffariThe following options are common among all problem types: 27ccaff030SJeremy L Thompson 28bc7bbd5dSLeila Ghaffari:::{list-table} Common Runtime Options 29bc7bbd5dSLeila Ghaffari:header-rows: 1 30ccaff030SJeremy L Thompson 31bc7bbd5dSLeila Ghaffari* - Option 32bc7bbd5dSLeila Ghaffari - Description 33bc7bbd5dSLeila Ghaffari - Default value 34ccaff030SJeremy L Thompson 35bc7bbd5dSLeila Ghaffari* - `-ceed` 36bc7bbd5dSLeila Ghaffari - CEED resource specifier 37bc7bbd5dSLeila Ghaffari - `/cpu/self/opt/blocked` 38ccaff030SJeremy L Thompson 39bc7bbd5dSLeila Ghaffari* - `-test` 40bc7bbd5dSLeila Ghaffari - Run in test mode 41bc7bbd5dSLeila Ghaffari - `false` 42ccaff030SJeremy L Thompson 43bc7bbd5dSLeila Ghaffari* - `-compare_final_state_atol` 44bc7bbd5dSLeila Ghaffari - Test absolute tolerance 45bc7bbd5dSLeila Ghaffari - `1E-11` 46ccaff030SJeremy L Thompson 47bc7bbd5dSLeila Ghaffari* - `-compare_final_state_filename` 48bc7bbd5dSLeila Ghaffari - Test filename 49bc7bbd5dSLeila Ghaffari - 50ccaff030SJeremy L Thompson 51bc7bbd5dSLeila Ghaffari* - `-problem` 52bc7bbd5dSLeila Ghaffari - Problem to solve (`advection`, `advection2d`, `density_current`, or `euler_vortex`) 53bc7bbd5dSLeila Ghaffari - `density_current` 54ccaff030SJeremy L Thompson 55bc7bbd5dSLeila Ghaffari* - `-implicit` 56bc7bbd5dSLeila Ghaffari - Use implicit time integartor formulation 57bc7bbd5dSLeila Ghaffari - 58ccaff030SJeremy L Thompson 59bc7bbd5dSLeila Ghaffari* - `-degree` 60bc7bbd5dSLeila Ghaffari - Polynomial degree of tensor product basis (must be >= 1) 61bc7bbd5dSLeila Ghaffari - `1` 62ccaff030SJeremy L Thompson 632288fb52SJeremy L Thompson* - `-q_extra` 64bc7bbd5dSLeila Ghaffari - Number of extra quadrature points 65fc14f3f6SLeila Ghaffari - `0` 66ccaff030SJeremy L Thompson 6737cbb16aSJed Brown* - `-ts_monitor_solution` 6837cbb16aSJed Brown - PETSc output format, such as `cgns:output-%d.cgns` (requires PETSc `--download-cgns`) 6937cbb16aSJed Brown - 70ccaff030SJeremy L Thompson 7137cbb16aSJed Brown* - `-ts_monitor_solution_interval` 7237cbb16aSJed Brown - Number of time steps between visualization output frames. 7337cbb16aSJed Brown - `1` 7437cbb16aSJed Brown 7537cbb16aSJed Brown* - `-viewer_cgns_batch_size` 7637cbb16aSJed Brown - Number of frames written per CGNS file if the CGNS file name includes a format specifier (`%d`). 7737cbb16aSJed Brown - `20` 7837cbb16aSJed Brown 7937cbb16aSJed Brown* - `-checkpoint_interval` 8037cbb16aSJed Brown - Number of steps between writing binary checkpoints. `0` has no output, `-1` outputs final state only 81bc7bbd5dSLeila Ghaffari - `10` 82ccaff030SJeremy L Thompson 8337cbb16aSJed Brown* - `-checkpoint_vtk` 8437cbb16aSJed Brown - Checkpoints include VTK (`*.vtu`) files for visualization. Consider `-ts_monitor_solution`instead. 8537cbb16aSJed Brown - `false` 8637cbb16aSJed Brown 8737cbb16aSJed Brown* - `-viz_refine` 8837cbb16aSJed Brown - Use regular refinement for VTK visualization 8937cbb16aSJed Brown - `0` 9037cbb16aSJed Brown 91bc7bbd5dSLeila Ghaffari* - `-output_dir` 9237cbb16aSJed Brown - Output directory for binary checkpoints and VTK files (if enabled). 93bc7bbd5dSLeila Ghaffari - `.` 94ccaff030SJeremy L Thompson 9569293791SJames Wright* - `-output_add_stepnum2bin` 9669293791SJames Wright - Whether to add step numbers to output binary files 9769293791SJames Wright - `false` 9869293791SJames Wright 9969293791SJames Wright* - `-continue` 10069293791SJames Wright - Continue from previous solution (input is step number of previous solution) 10169293791SJames Wright - `0` 10269293791SJames Wright 10369293791SJames Wright* - `-continue_filename` 10469293791SJames Wright - Path to solution binary file from which to continue from 10569293791SJames Wright - `[output_dir]/ns-solution.bin` 10669293791SJames Wright 10769293791SJames Wright* - `-continue_time_filename` 1084de8550aSJed Brown - Path to time stamp binary file (only for legacy checkpoints) 10969293791SJames Wright - `[output_dir]/ns-time.bin` 11069293791SJames Wright 1114534a52eSLeila Ghaffari* - `-bc_wall` 1124534a52eSLeila Ghaffari - Use wall boundary conditions on this list of faces 1134534a52eSLeila Ghaffari - 1144534a52eSLeila Ghaffari 1154534a52eSLeila Ghaffari* - `-wall_comps` 1164534a52eSLeila Ghaffari - An array of constrained component numbers for wall BCs 1174534a52eSLeila Ghaffari - 1184534a52eSLeila Ghaffari 1194534a52eSLeila Ghaffari* - `-bc_slip_x` 1204534a52eSLeila Ghaffari - Use slip boundary conditions, for the x component, on this list of faces 1214534a52eSLeila Ghaffari - 1224534a52eSLeila Ghaffari 1234534a52eSLeila Ghaffari* - `-bc_slip_y` 1244534a52eSLeila Ghaffari - Use slip boundary conditions, for the y component, on this list of faces 1254534a52eSLeila Ghaffari - 1264534a52eSLeila Ghaffari 1274534a52eSLeila Ghaffari* - `-bc_slip_z` 1284534a52eSLeila Ghaffari - Use slip boundary conditions, for the z component, on this list of faces 1294534a52eSLeila Ghaffari - 1304534a52eSLeila Ghaffari 1314534a52eSLeila Ghaffari* - `-bc_inflow` 1324534a52eSLeila Ghaffari - Use inflow boundary conditions on this list of faces 1334534a52eSLeila Ghaffari - 1344534a52eSLeila Ghaffari 1354534a52eSLeila Ghaffari* - `-bc_outflow` 1364534a52eSLeila Ghaffari - Use outflow boundary conditions on this list of faces 1374534a52eSLeila Ghaffari - 13889d0f5c0SLeila Ghaffari 1397ec884f8SJames Wright* - `-bc_freestream` 1407ec884f8SJames Wright - Use freestream boundary conditions on this list of faces 1417ec884f8SJames Wright - 1427ec884f8SJames Wright 143*ee3de563SJames Wright* - `-stats_enable` 144*ee3de563SJames Wright - Enable collection of spanwise flow statistics 145*ee3de563SJames Wright - `false` 146*ee3de563SJames Wright 147*ee3de563SJames Wright* - `-stats_test` 148*ee3de563SJames Wright - Use manufactured solution for statistics collection (used for testing) 149*ee3de563SJames Wright - `false` 150*ee3de563SJames Wright 151*ee3de563SJames Wright* - `-stats_collect_interval` 152*ee3de563SJames Wright - Number of timesteps between statistics collection 153*ee3de563SJames Wright - `1` 154*ee3de563SJames Wright 155*ee3de563SJames Wright* - `-stats_write_interval` 156*ee3de563SJames Wright - Number of timesteps between statistics file writing (`-1` means only at end of run) 157*ee3de563SJames Wright - `-1` 158*ee3de563SJames Wright 159bc7bbd5dSLeila Ghaffari* - `-snes_view` 160bc7bbd5dSLeila Ghaffari - View PETSc `SNES` nonlinear solver configuration 161bc7bbd5dSLeila Ghaffari - 16289d0f5c0SLeila Ghaffari 163bc7bbd5dSLeila Ghaffari* - `-log_view` 164bc7bbd5dSLeila Ghaffari - View PETSc performance log 165bc7bbd5dSLeila Ghaffari - 166ccaff030SJeremy L Thompson 167bc7bbd5dSLeila Ghaffari* - `-help` 168bc7bbd5dSLeila Ghaffari - View comprehensive information about run-time options 169bc7bbd5dSLeila Ghaffari - 170bc7bbd5dSLeila Ghaffari::: 171ccaff030SJeremy L Thompson 1727ec884f8SJames 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: 1734534a52eSLeila Ghaffari 17488626eedSJames Wright:::{list-table} 2D Face ID Labels 17588626eedSJames Wright:header-rows: 1 17688626eedSJames Wright* - PETSc Face Name 17788626eedSJames Wright - Cartesian direction 17888626eedSJames Wright - Face ID 17988626eedSJames Wright 18088626eedSJames Wright* - faceMarkerBottom 18188626eedSJames Wright - -z 18288626eedSJames Wright - 1 18388626eedSJames Wright 18488626eedSJames Wright* - faceMarkerRight 18588626eedSJames Wright - +x 18688626eedSJames Wright - 2 18788626eedSJames Wright 18888626eedSJames Wright* - faceMarkerTop 18988626eedSJames Wright - +z 19088626eedSJames Wright - 3 19188626eedSJames Wright 19288626eedSJames Wright* - faceMarkerLeft 19388626eedSJames Wright - -x 19488626eedSJames Wright - 4 19588626eedSJames Wright::: 19688626eedSJames Wright 19788626eedSJames Wright:::{list-table} 2D Face ID Labels 19888626eedSJames Wright:header-rows: 1 19988626eedSJames Wright* - PETSc Face Name 20088626eedSJames Wright - Cartesian direction 20188626eedSJames Wright - Face ID 20288626eedSJames Wright 20388626eedSJames Wright* - faceMarkerBottom 20488626eedSJames Wright - -z 20588626eedSJames Wright - 1 20688626eedSJames Wright 20788626eedSJames Wright* - faceMarkerTop 20888626eedSJames Wright - +z 20988626eedSJames Wright - 2 21088626eedSJames Wright 21188626eedSJames Wright* - faceMarkerFront 21288626eedSJames Wright - -y 21388626eedSJames Wright - 3 21488626eedSJames Wright 21588626eedSJames Wright* - faceMarkerBack 21688626eedSJames Wright - +y 21788626eedSJames Wright - 4 21888626eedSJames Wright 21988626eedSJames Wright* - faceMarkerRight 22088626eedSJames Wright - +x 22188626eedSJames Wright - 5 22288626eedSJames Wright 22388626eedSJames Wright* - faceMarkerLeft 22488626eedSJames Wright - -x 22588626eedSJames Wright - 6 22688626eedSJames Wright::: 2274534a52eSLeila Ghaffari 2288a94a473SJed Brown### Boundary conditions 2298a94a473SJed Brown 2308a94a473SJed BrownBoundary conditions for compressible viscous flows are notoriously tricky. Here we offer some recommendations 2318a94a473SJed Brown 2328a94a473SJed Brown#### Inflow 2338a94a473SJed Brown 2348a94a473SJed 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). 2358a94a473SJed BrownIt is stable and the least reflective boundary condition for acoustics. 2368a94a473SJed Brown 2378a94a473SJed BrownIf near a viscous wall, you may want a specified inflow profile. 2388a94a473SJed BrownUse `bc_inflow` and see {ref}`example-blasius` and discussion of synthetic turbulence generation for ways to analytically generate developed inflow profiles. 2398a94a473SJed 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. 2408a94a473SJed BrownThe strong approach gives sharper resolution of velocity structures. 2418a94a473SJed BrownWe have described the primitive variable formulation here; the conservative variants are similar, but not equivalent. 2428a94a473SJed Brown 2438a94a473SJed Brown### Outflow 2448a94a473SJed Brown 2458a94a473SJed BrownIf you know the complete exterior state, `bc_freestream` is the least reflective boundary condition, but is disruptive to viscous flow structures. 2468a94a473SJed BrownIf thermal anomalies must exit the domain, the Riemann solver must resolve the contact wave to avoid reflections. 2478a94a473SJed 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. 2488a94a473SJed Brown 2498a94a473SJed 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. 2508a94a473SJed Brown 2518a94a473SJed 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). 2528a94a473SJed BrownIn our experience, `riemann` is slightly less reflective but produces similar flows in cases of strict outflow. 2538a94a473SJed BrownThe `pressure` variant is retained to facilitate comparison with other codes, such as PHASTA-C, but we recommend `riemann` for general use. 2548a94a473SJed Brown 2558a94a473SJed Brown### Periodicity 2568a94a473SJed Brown 2578a94a473SJed BrownPETSc provides two ways to specify periodicity: 2588a94a473SJed Brown 2598a94a473SJed Brown1. Topological periodicity, in which the donor and receiver dofs are the same, obtained using: 2608a94a473SJed Brown 2618a94a473SJed Brown``` yaml 2628a94a473SJed Browndm_plex: 2638a94a473SJed Brown shape: box 2648a94a473SJed Brown box_faces: 10,12,4 2658a94a473SJed Brown box_bd: none,none,periodic 2668a94a473SJed Brown``` 2678a94a473SJed Brown 2688a94a473SJed BrownThe coordinates for such cases are stored as a new field, and 2698a94a473SJed Brown 270019b7682STimothy Aiken### Advection 271019b7682STimothy Aiken 27217be3a41SJeremy 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$. 27317be3a41SJeremy L ThompsonThese are available in 2D and 3D. 274019b7682STimothy Aiken 275019b7682STimothy Aiken#### 2D advection 276019b7682STimothy Aiken 277bc7bbd5dSLeila GhaffariFor the 2D advection problem, the following additional command-line options are available: 278ccaff030SJeremy L Thompson 279bc7bbd5dSLeila Ghaffari:::{list-table} Advection2D Runtime Options 280bc7bbd5dSLeila Ghaffari:header-rows: 1 28189d0f5c0SLeila Ghaffari 282bc7bbd5dSLeila Ghaffari* - Option 283bc7bbd5dSLeila Ghaffari - Description 284bc7bbd5dSLeila Ghaffari - Default value 285bc7bbd5dSLeila Ghaffari - Unit 28689d0f5c0SLeila Ghaffari 287bc7bbd5dSLeila Ghaffari* - `-rc` 288bc7bbd5dSLeila Ghaffari - Characteristic radius of thermal bubble 289bc7bbd5dSLeila Ghaffari - `1000` 290bc7bbd5dSLeila Ghaffari - `m` 29189d0f5c0SLeila Ghaffari 292bc7bbd5dSLeila Ghaffari* - `-units_meter` 293bc7bbd5dSLeila Ghaffari - 1 meter in scaled length units 294bc7bbd5dSLeila Ghaffari - `1E-2` 295bc7bbd5dSLeila Ghaffari - 29689d0f5c0SLeila Ghaffari 297bc7bbd5dSLeila Ghaffari* - `-units_second` 298bc7bbd5dSLeila Ghaffari - 1 second in scaled time units 299bc7bbd5dSLeila Ghaffari - `1E-2` 300bc7bbd5dSLeila Ghaffari - 30189d0f5c0SLeila Ghaffari 302bc7bbd5dSLeila Ghaffari* - `-units_kilogram` 303bc7bbd5dSLeila Ghaffari - 1 kilogram in scaled mass units 304bc7bbd5dSLeila Ghaffari - `1E-6` 305bc7bbd5dSLeila Ghaffari - 30677841947SLeila Ghaffari 307bc7bbd5dSLeila Ghaffari* - `-strong_form` 308bc7bbd5dSLeila Ghaffari - Strong (1) or weak/integrated by parts (0) residual 309bc7bbd5dSLeila Ghaffari - `0` 310bc7bbd5dSLeila Ghaffari - 31177841947SLeila Ghaffari 312bc7bbd5dSLeila Ghaffari* - `-stab` 313bc7bbd5dSLeila Ghaffari - Stabilization method (`none`, `su`, or `supg`) 314bc7bbd5dSLeila Ghaffari - `none` 315bc7bbd5dSLeila Ghaffari - 31677841947SLeila Ghaffari 317bc7bbd5dSLeila Ghaffari* - `-CtauS` 318bc7bbd5dSLeila Ghaffari - Scale coefficient for stabilization tau (nondimensional) 319bc7bbd5dSLeila Ghaffari - `0` 320bc7bbd5dSLeila Ghaffari - 32177841947SLeila Ghaffari 322bc7bbd5dSLeila Ghaffari* - `-wind_type` 323bc7bbd5dSLeila Ghaffari - Wind type in Advection (`rotation` or `translation`) 324bc7bbd5dSLeila Ghaffari - `rotation` 325bc7bbd5dSLeila Ghaffari - 32677841947SLeila Ghaffari 327bc7bbd5dSLeila Ghaffari* - `-wind_translation` 328bc7bbd5dSLeila Ghaffari - Constant wind vector when `-wind_type translation` 329bc7bbd5dSLeila Ghaffari - `1,0,0` 330bc7bbd5dSLeila Ghaffari - 33189d0f5c0SLeila Ghaffari 332bc7bbd5dSLeila Ghaffari* - `-E_wind` 333bc7bbd5dSLeila Ghaffari - Total energy of inflow wind when `-wind_type translation` 334bc7bbd5dSLeila Ghaffari - `1E6` 335bc7bbd5dSLeila Ghaffari - `J` 336bc7bbd5dSLeila Ghaffari::: 337e43605a5SLeila Ghaffari 338bc7bbd5dSLeila GhaffariAn example of the `rotation` mode can be run with: 339e43605a5SLeila Ghaffari 340bc7bbd5dSLeila Ghaffari``` 3414534a52eSLeila 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 342bc7bbd5dSLeila Ghaffari``` 343e43605a5SLeila Ghaffari 344bc7bbd5dSLeila Ghaffariand the `translation` mode with: 345e43605a5SLeila Ghaffari 346bc7bbd5dSLeila Ghaffari``` 3474534a52eSLeila 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 348bc7bbd5dSLeila Ghaffari``` 3494534a52eSLeila GhaffariNote the lengths in `-dm_plex_box_upper` are given in meters, and will be nondimensionalized according to `-units_meter`. 350e43605a5SLeila Ghaffari 351019b7682STimothy Aiken#### 3D advection 352019b7682STimothy Aiken 353bc7bbd5dSLeila GhaffariFor the 3D advection problem, the following additional command-line options are available: 354e43605a5SLeila Ghaffari 355bc7bbd5dSLeila Ghaffari:::{list-table} Advection3D Runtime Options 356bc7bbd5dSLeila Ghaffari:header-rows: 1 357e43605a5SLeila Ghaffari 358bc7bbd5dSLeila Ghaffari* - Option 359bc7bbd5dSLeila Ghaffari - Description 360bc7bbd5dSLeila Ghaffari - Default value 361bc7bbd5dSLeila Ghaffari - Unit 362e43605a5SLeila Ghaffari 363bc7bbd5dSLeila Ghaffari* - `-rc` 364bc7bbd5dSLeila Ghaffari - Characteristic radius of thermal bubble 365bc7bbd5dSLeila Ghaffari - `1000` 366bc7bbd5dSLeila Ghaffari - `m` 367e43605a5SLeila Ghaffari 368bc7bbd5dSLeila Ghaffari* - `-units_meter` 369bc7bbd5dSLeila Ghaffari - 1 meter in scaled length units 370bc7bbd5dSLeila Ghaffari - `1E-2` 371bc7bbd5dSLeila Ghaffari - 372e43605a5SLeila Ghaffari 373bc7bbd5dSLeila Ghaffari* - `-units_second` 374bc7bbd5dSLeila Ghaffari - 1 second in scaled time units 375bc7bbd5dSLeila Ghaffari - `1E-2` 376bc7bbd5dSLeila Ghaffari - 377e43605a5SLeila Ghaffari 378bc7bbd5dSLeila Ghaffari* - `-units_kilogram` 379bc7bbd5dSLeila Ghaffari - 1 kilogram in scaled mass units 380bc7bbd5dSLeila Ghaffari - `1E-6` 381bc7bbd5dSLeila Ghaffari - 382e43605a5SLeila Ghaffari 383bc7bbd5dSLeila Ghaffari* - `-strong_form` 384bc7bbd5dSLeila Ghaffari - Strong (1) or weak/integrated by parts (0) residual 385bc7bbd5dSLeila Ghaffari - `0` 386bc7bbd5dSLeila Ghaffari - 387e43605a5SLeila Ghaffari 388bc7bbd5dSLeila Ghaffari* - `-stab` 389bc7bbd5dSLeila Ghaffari - Stabilization method (`none`, `su`, or `supg`) 390bc7bbd5dSLeila Ghaffari - `none` 391bc7bbd5dSLeila Ghaffari - 392e43605a5SLeila Ghaffari 393bc7bbd5dSLeila Ghaffari* - `-CtauS` 394bc7bbd5dSLeila Ghaffari - Scale coefficient for stabilization tau (nondimensional) 395bc7bbd5dSLeila Ghaffari - `0` 396bc7bbd5dSLeila Ghaffari - 397e43605a5SLeila Ghaffari 398bc7bbd5dSLeila Ghaffari* - `-wind_type` 399bc7bbd5dSLeila Ghaffari - Wind type in Advection (`rotation` or `translation`) 400bc7bbd5dSLeila Ghaffari - `rotation` 401bc7bbd5dSLeila Ghaffari - 402e43605a5SLeila Ghaffari 403bc7bbd5dSLeila Ghaffari* - `-wind_translation` 404bc7bbd5dSLeila Ghaffari - Constant wind vector when `-wind_type translation` 405bc7bbd5dSLeila Ghaffari - `1,0,0` 406bc7bbd5dSLeila Ghaffari - 407e43605a5SLeila Ghaffari 408bc7bbd5dSLeila Ghaffari* - `-E_wind` 409bc7bbd5dSLeila Ghaffari - Total energy of inflow wind when `-wind_type translation` 410bc7bbd5dSLeila Ghaffari - `1E6` 411bc7bbd5dSLeila Ghaffari - `J` 412e43605a5SLeila Ghaffari 413bc7bbd5dSLeila Ghaffari* - `-bubble_type` 414bc7bbd5dSLeila Ghaffari - `sphere` (3D) or `cylinder` (2D) 415bc7bbd5dSLeila Ghaffari - `shpere` 416bc7bbd5dSLeila Ghaffari - 417e43605a5SLeila Ghaffari 418bc7bbd5dSLeila Ghaffari* - `-bubble_continuity` 419bc7bbd5dSLeila Ghaffari - `smooth`, `back_sharp`, or `thick` 420bc7bbd5dSLeila Ghaffari - `smooth` 421bc7bbd5dSLeila Ghaffari - 422bc7bbd5dSLeila Ghaffari::: 423ccaff030SJeremy L Thompson 424bc7bbd5dSLeila GhaffariAn example of the `rotation` mode can be run with: 425ccaff030SJeremy L Thompson 426bc7bbd5dSLeila Ghaffari``` 4274534a52eSLeila 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 428bc7bbd5dSLeila Ghaffari``` 429ccaff030SJeremy L Thompson 430bc7bbd5dSLeila Ghaffariand the `translation` mode with: 431ccaff030SJeremy L Thompson 432bc7bbd5dSLeila Ghaffari``` 4334534a52eSLeila 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 434bc7bbd5dSLeila Ghaffari``` 435ccaff030SJeremy L Thompson 436019b7682STimothy Aiken### Inviscid Ideal Gas 437019b7682STimothy Aiken 438019b7682STimothy Aiken#### Isentropic Euler vortex 439019b7682STimothy Aiken 440bc7bbd5dSLeila GhaffariFor the Isentropic Vortex problem, the following additional command-line options are available: 441ccaff030SJeremy L Thompson 442bc7bbd5dSLeila Ghaffari:::{list-table} Isentropic Vortex Runtime Options 443bc7bbd5dSLeila Ghaffari:header-rows: 1 444ccaff030SJeremy L Thompson 445bc7bbd5dSLeila Ghaffari* - Option 446bc7bbd5dSLeila Ghaffari - Description 447bc7bbd5dSLeila Ghaffari - Default value 448bc7bbd5dSLeila Ghaffari - Unit 449ccaff030SJeremy L Thompson 450bc7bbd5dSLeila Ghaffari* - `-center` 451bc7bbd5dSLeila Ghaffari - Location of vortex center 452bc7bbd5dSLeila Ghaffari - `(lx,ly,lz)/2` 453bc7bbd5dSLeila Ghaffari - `(m,m,m)` 454ccaff030SJeremy L Thompson 455bc7bbd5dSLeila Ghaffari* - `-units_meter` 456bc7bbd5dSLeila Ghaffari - 1 meter in scaled length units 457bc7bbd5dSLeila Ghaffari - `1E-2` 458bc7bbd5dSLeila Ghaffari - 459ccaff030SJeremy L Thompson 460bc7bbd5dSLeila Ghaffari* - `-units_second` 461bc7bbd5dSLeila Ghaffari - 1 second in scaled time units 462bc7bbd5dSLeila Ghaffari - `1E-2` 463bc7bbd5dSLeila Ghaffari - 464ccaff030SJeremy L Thompson 465bc7bbd5dSLeila Ghaffari* - `-mean_velocity` 466bc7bbd5dSLeila Ghaffari - Background velocity vector 467bc7bbd5dSLeila Ghaffari - `(1,1,0)` 468bc7bbd5dSLeila Ghaffari - 469ccaff030SJeremy L Thompson 470bc7bbd5dSLeila Ghaffari* - `-vortex_strength` 471bc7bbd5dSLeila Ghaffari - Strength of vortex < 10 472bc7bbd5dSLeila Ghaffari - `5` 473bc7bbd5dSLeila Ghaffari - 474932417b3SJed Brown 475932417b3SJed Brown* - `-c_tau` 476932417b3SJed Brown - Stabilization constant 477504dc8e0SLeila Ghaffari - `0.5` 478932417b3SJed Brown - 479bc7bbd5dSLeila Ghaffari::: 480ccaff030SJeremy L Thompson 481bc7bbd5dSLeila GhaffariThis problem can be run with: 482ccaff030SJeremy L Thompson 483bc7bbd5dSLeila Ghaffari``` 4844534a52eSLeila 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. 485bc7bbd5dSLeila Ghaffari``` 486ccaff030SJeremy L Thompson 487019b7682STimothy Aiken#### Sod shock tube 488019b7682STimothy Aiken 489019b7682STimothy AikenFor the Shock Tube problem, the following additional command-line options are available: 490019b7682STimothy Aiken 491019b7682STimothy Aiken:::{list-table} Shock Tube Runtime Options 492019b7682STimothy Aiken:header-rows: 1 493019b7682STimothy Aiken 494019b7682STimothy Aiken* - Option 495019b7682STimothy Aiken - Description 496019b7682STimothy Aiken - Default value 497019b7682STimothy Aiken - Unit 498019b7682STimothy Aiken 499019b7682STimothy Aiken* - `-units_meter` 500019b7682STimothy Aiken - 1 meter in scaled length units 501019b7682STimothy Aiken - `1E-2` 502019b7682STimothy Aiken - 503019b7682STimothy Aiken 504019b7682STimothy Aiken* - `-units_second` 505019b7682STimothy Aiken - 1 second in scaled time units 506019b7682STimothy Aiken - `1E-2` 507019b7682STimothy Aiken - 508019b7682STimothy Aiken 509019b7682STimothy Aiken* - `-yzb` 510019b7682STimothy Aiken - Use YZB discontinuity capturing 511019b7682STimothy Aiken - `none` 512019b7682STimothy Aiken - 513019b7682STimothy Aiken 514019b7682STimothy Aiken* - `-stab` 515019b7682STimothy Aiken - Stabilization method (`none`, `su`, or `supg`) 516019b7682STimothy Aiken - `none` 517019b7682STimothy Aiken - 518019b7682STimothy Aiken::: 519019b7682STimothy Aiken 520019b7682STimothy AikenThis problem can be run with: 521019b7682STimothy Aiken 522019b7682STimothy Aiken``` 523019b7682STimothy 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 524019b7682STimothy Aiken``` 525019b7682STimothy Aiken 526019b7682STimothy Aiken### Newtonian viscosity, Ideal Gas 527019b7682STimothy Aiken 52888626eedSJames WrightFor the Density Current, Channel, and Blasius problems, the following common command-line options are available: 529ccaff030SJeremy L Thompson 53088626eedSJames Wright:::{list-table} Newtonian Ideal Gas problems Runtime Options 531bc7bbd5dSLeila Ghaffari:header-rows: 1 532ccaff030SJeremy L Thompson 533bc7bbd5dSLeila Ghaffari* - Option 534bc7bbd5dSLeila Ghaffari - Description 535bc7bbd5dSLeila Ghaffari - Default value 536bc7bbd5dSLeila Ghaffari - Unit 537ccaff030SJeremy L Thompson 538bc7bbd5dSLeila Ghaffari* - `-units_meter` 539bc7bbd5dSLeila Ghaffari - 1 meter in scaled length units 54088626eedSJames Wright - `1` 541bc7bbd5dSLeila Ghaffari - 542ccaff030SJeremy L Thompson 543bc7bbd5dSLeila Ghaffari* - `-units_second` 544bc7bbd5dSLeila Ghaffari - 1 second in scaled time units 54588626eedSJames Wright - `1` 546bc7bbd5dSLeila Ghaffari - 547ccaff030SJeremy L Thompson 548bc7bbd5dSLeila Ghaffari* - `-units_kilogram` 549bc7bbd5dSLeila Ghaffari - 1 kilogram in scaled mass units 55088626eedSJames Wright - `1` 551bc7bbd5dSLeila Ghaffari - 552ccaff030SJeremy L Thompson 553bc7bbd5dSLeila Ghaffari* - `-units_Kelvin` 554bc7bbd5dSLeila Ghaffari - 1 Kelvin in scaled temperature units 555bc7bbd5dSLeila Ghaffari - `1` 556bc7bbd5dSLeila Ghaffari - 557ccaff030SJeremy L Thompson 558bc7bbd5dSLeila Ghaffari* - `-stab` 559bc7bbd5dSLeila Ghaffari - Stabilization method (`none`, `su`, or `supg`) 560bc7bbd5dSLeila Ghaffari - `none` 561bc7bbd5dSLeila Ghaffari - 562ccaff030SJeremy L Thompson 563932417b3SJed Brown* - `-c_tau` 56488626eedSJames Wright - Stabilization constant, $c_\tau$ 565504dc8e0SLeila Ghaffari - `0.5` 566932417b3SJed Brown - 567932417b3SJed Brown 56888626eedSJames Wright* - `-Ctau_t` 56988626eedSJames Wright - Stabilization time constant, $C_t$ 57088626eedSJames Wright - `1.0` 57188626eedSJames Wright - 572ccaff030SJeremy L Thompson 57388626eedSJames Wright* - `-Ctau_v` 57488626eedSJames Wright - Stabilization viscous constant, $C_v$ 57594c01735SLeila Ghaffari - `36, 60, 128 for degree = 1, 2, 3` 57688626eedSJames Wright - 577ccaff030SJeremy L Thompson 57888626eedSJames Wright* - `-Ctau_C` 57988626eedSJames Wright - Stabilization continuity constant, $C_c$ 58088626eedSJames Wright - `1.0` 58188626eedSJames Wright - 582ccaff030SJeremy L Thompson 58388626eedSJames Wright* - `-Ctau_M` 58488626eedSJames Wright - Stabilization momentum constant, $C_m$ 58588626eedSJames Wright - `1.0` 58688626eedSJames Wright - 58788626eedSJames Wright 58888626eedSJames Wright* - `-Ctau_E` 58988626eedSJames Wright - Stabilization energy constant, $C_E$ 59088626eedSJames Wright - `1.0` 59188626eedSJames Wright - 592ccaff030SJeremy L Thompson 593bc7bbd5dSLeila Ghaffari* - `-cv` 594bc7bbd5dSLeila Ghaffari - Heat capacity at constant volume 595bc7bbd5dSLeila Ghaffari - `717` 596bc7bbd5dSLeila Ghaffari - `J/(kg K)` 597ccaff030SJeremy L Thompson 598bc7bbd5dSLeila Ghaffari* - `-cp` 599bc7bbd5dSLeila Ghaffari - Heat capacity at constant pressure 600bc7bbd5dSLeila Ghaffari - `1004` 601bc7bbd5dSLeila Ghaffari - `J/(kg K)` 602ccaff030SJeremy L Thompson 603bc7bbd5dSLeila Ghaffari* - `-g` 604bc7bbd5dSLeila Ghaffari - Gravitational acceleration 605bc7bbd5dSLeila Ghaffari - `9.81` 606bc7bbd5dSLeila Ghaffari - `m/s^2` 607ccaff030SJeremy L Thompson 608bc7bbd5dSLeila Ghaffari* - `-lambda` 609bc7bbd5dSLeila Ghaffari - Stokes hypothesis second viscosity coefficient 610bc7bbd5dSLeila Ghaffari - `-2/3` 611bc7bbd5dSLeila Ghaffari - 612ccaff030SJeremy L Thompson 613bc7bbd5dSLeila Ghaffari* - `-mu` 614bc7bbd5dSLeila Ghaffari - Shear dynamic viscosity coefficient 615bc7bbd5dSLeila Ghaffari - `75` 616bc7bbd5dSLeila Ghaffari - `Pa s` 61777841947SLeila Ghaffari 618bc7bbd5dSLeila Ghaffari* - `-k` 619bc7bbd5dSLeila Ghaffari - Thermal conductivity 620bc7bbd5dSLeila Ghaffari - `0.02638` 621bc7bbd5dSLeila Ghaffari - `W/(m K)` 622a1df05f8SJed Brown 623a1df05f8SJed Brown* - `-newtonian_unit_tests` 624a1df05f8SJed Brown - Developer option to test properties 625a1df05f8SJed Brown - `false` 626a1df05f8SJed Brown - boolean 627de2fdd78SJames Wright 6285c0afad3SJames Wright* - `-state_var` 6295c0afad3SJames Wright - State variables to solve solution with. `conservative` ($\rho, \rho \bm{u}, \rho e$) or `primitive` ($P, \bm{u}, T$) 6305c0afad3SJames Wright - `conservative` 6315c0afad3SJames Wright - string 632bc7bbd5dSLeila Ghaffari::: 63377841947SLeila Ghaffari 6347ec884f8SJames Wright#### Newtonian Wave 6357ec884f8SJames Wright 636061ff11eSJames WrightThe newtonian wave problem has the following command-line options in addition to the Newtonian Ideal Gas options: 6377ec884f8SJames Wright 63889e3cb53SJames Wright:::{list-table} Newtonian Wave Runtime Options 6397ec884f8SJames Wright:header-rows: 1 6407ec884f8SJames Wright 6417ec884f8SJames Wright* - Option 6427ec884f8SJames Wright - Description 6437ec884f8SJames Wright - Default value 6447ec884f8SJames Wright - Unit 6457ec884f8SJames Wright 646f1e435c9SJed Brown* - `-freestream_riemann` 647f1e435c9SJed Brown - Riemann solver for boundaries (HLL or HLLC) 648f1e435c9SJed Brown - `hllc` 649f1e435c9SJed Brown - 650f1e435c9SJed Brown 651f1e435c9SJed Brown* - `-freestream_velocity` 6527ec884f8SJames Wright - Freestream velocity vector 6537ec884f8SJames Wright - `0,0,0` 6547ec884f8SJames Wright - `m/s` 6557ec884f8SJames Wright 656f1e435c9SJed Brown* - `-freestream_temperature` 6577ec884f8SJames Wright - Freestream temperature 6587ec884f8SJames Wright - `288` 6597ec884f8SJames Wright - `K` 6607ec884f8SJames Wright 661f1e435c9SJed Brown* - `-freestream_pressure` 66289e3cb53SJames Wright - Freestream pressure 6637ec884f8SJames Wright - `1.01e5` 6647ec884f8SJames Wright - `Pa` 6657ec884f8SJames Wright 6667ec884f8SJames Wright* - `-epicenter` 6677ec884f8SJames Wright - Coordinates of center of perturbation 6687ec884f8SJames Wright - `0,0,0` 6697ec884f8SJames Wright - `m` 6707ec884f8SJames Wright 6717ec884f8SJames Wright* - `-amplitude` 6727ec884f8SJames Wright - Amplitude of the perturbation 6737ec884f8SJames Wright - `0.1` 6747ec884f8SJames Wright - 6757ec884f8SJames Wright 6767ec884f8SJames Wright* - `-width` 6777ec884f8SJames Wright - Width parameter of the perturbation 6787ec884f8SJames Wright - `0.002` 6797ec884f8SJames Wright - `m` 6807ec884f8SJames Wright 6817ec884f8SJames Wright::: 6827ec884f8SJames Wright 6837ec884f8SJames WrightThis problem can be run with the `newtonianwave.yaml` file via: 6847ec884f8SJames Wright 6857ec884f8SJames Wright``` 6867ec884f8SJames Wright./navierstokes -options_file newtonianwave.yaml 6877ec884f8SJames Wright``` 6887ec884f8SJames Wright 6897ec884f8SJames Wright```{literalinclude} ../../../../../examples/fluids/newtonianwave.yaml 6907ec884f8SJames Wright:language: yaml 6917ec884f8SJames Wright``` 692a1df05f8SJed Brown 693d310b3d3SAdeleke O. Bankole#### Vortex Shedding - Flow past Cylinder 694d310b3d3SAdeleke O. Bankole 695d310b3d3SAdeleke O. BankoleThe vortex shedding, flow past cylinder problem has the following command-line options in addition to the Newtonian Ideal Gas options: 696d310b3d3SAdeleke O. Bankole 697d310b3d3SAdeleke O. Bankole:::{list-table} Vortex Shedding Runtime Options 698d310b3d3SAdeleke O. Bankole:header-rows: 1 699d310b3d3SAdeleke O. Bankole 700d310b3d3SAdeleke O. Bankole* - Option 701d310b3d3SAdeleke O. Bankole - Description 702d310b3d3SAdeleke O. Bankole - Default value 703d310b3d3SAdeleke O. Bankole - Unit 704d310b3d3SAdeleke O. Bankole 705d310b3d3SAdeleke O. Bankole* - `-freestream_velocity` 706d310b3d3SAdeleke O. Bankole - Freestream velocity vector 707d310b3d3SAdeleke O. Bankole - `0,0,0` 708d310b3d3SAdeleke O. Bankole - `m/s` 709d310b3d3SAdeleke O. Bankole 710d310b3d3SAdeleke O. Bankole* - `-freestream_temperature` 711d310b3d3SAdeleke O. Bankole - Freestream temperature 712d310b3d3SAdeleke O. Bankole - `288` 713d310b3d3SAdeleke O. Bankole - `K` 714d310b3d3SAdeleke O. Bankole 715d310b3d3SAdeleke O. Bankole* - `-freestream_pressure` 716d310b3d3SAdeleke O. Bankole - Freestream pressure 717d310b3d3SAdeleke O. Bankole - `1.01e5` 718d310b3d3SAdeleke O. Bankole - `Pa` 719d310b3d3SAdeleke O. Bankole 720d310b3d3SAdeleke O. Bankole::: 721d310b3d3SAdeleke O. Bankole 722d310b3d3SAdeleke O. BankoleThe initial condition is taken from `-reference_temperature` and `-reference_pressure`. 723d310b3d3SAdeleke O. BankoleTo run this problem, first generate a mesh: 724d310b3d3SAdeleke O. Bankole 725d310b3d3SAdeleke O. Bankole```console 726d310b3d3SAdeleke O. Bankole$ make -C examples/fluids/meshes 727d310b3d3SAdeleke O. Bankole``` 728d310b3d3SAdeleke O. Bankole 729d310b3d3SAdeleke O. BankoleThen run by building the executable and running: 730d310b3d3SAdeleke O. Bankole 731d310b3d3SAdeleke O. Bankole```console 732d310b3d3SAdeleke O. Bankole$ make build/fluids-navierstokes 733d310b3d3SAdeleke O. Bankole$ mpiexec -n 6 build/fluids-navierstokes -options_file vortexshedding.yaml 734d310b3d3SAdeleke O. Bankole``` 735d310b3d3SAdeleke O. Bankole 736d310b3d3SAdeleke O. BankoleThe vortex shedding period is roughly 6 and this problem runs until time 100 (2000 time steps). 737d310b3d3SAdeleke O. Bankole 738d310b3d3SAdeleke O. Bankole```{literalinclude} ../../../../../examples/fluids/vortexshedding.yaml 739d310b3d3SAdeleke O. Bankole:language: yaml 740d310b3d3SAdeleke O. Bankole``` 741d310b3d3SAdeleke O. Bankole 742019b7682STimothy Aiken#### Density current 743019b7682STimothy Aiken 744061ff11eSJames WrightThe Density Current problem has the following command-line options in addition to the Newtonian Ideal Gas options: 74588626eedSJames Wright 74688626eedSJames Wright:::{list-table} Density Current Runtime Options 74788626eedSJames Wright:header-rows: 1 74888626eedSJames Wright 74988626eedSJames Wright* - Option 75088626eedSJames Wright - Description 75188626eedSJames Wright - Default value 75288626eedSJames Wright - Unit 75388626eedSJames Wright 75488626eedSJames Wright* - `-center` 75588626eedSJames Wright - Location of bubble center 75688626eedSJames Wright - `(lx,ly,lz)/2` 75788626eedSJames Wright - `(m,m,m)` 75888626eedSJames Wright 75988626eedSJames Wright* - `-dc_axis` 76088626eedSJames Wright - Axis of density current cylindrical anomaly, or `(0,0,0)` for spherically symmetric 76188626eedSJames Wright - `(0,0,0)` 76288626eedSJames Wright - 76388626eedSJames Wright 76488626eedSJames Wright* - `-rc` 76588626eedSJames Wright - Characteristic radius of thermal bubble 76688626eedSJames Wright - `1000` 76788626eedSJames Wright - `m` 76888626eedSJames Wright 76988626eedSJames Wright* - `-theta0` 77088626eedSJames Wright - Reference potential temperature 77188626eedSJames Wright - `300` 77288626eedSJames Wright - `K` 77388626eedSJames Wright 77488626eedSJames Wright* - `-thetaC` 77588626eedSJames Wright - Perturbation of potential temperature 77688626eedSJames Wright - `-15` 77788626eedSJames Wright - `K` 77888626eedSJames Wright 77988626eedSJames Wright* - `-P0` 78088626eedSJames Wright - Atmospheric pressure 78188626eedSJames Wright - `1E5` 78288626eedSJames Wright - `Pa` 78388626eedSJames Wright 78488626eedSJames Wright* - `-N` 78588626eedSJames Wright - Brunt-Vaisala frequency 78688626eedSJames Wright - `0.01` 78788626eedSJames Wright - `1/s` 78888626eedSJames Wright::: 78988626eedSJames Wright 790bc7bbd5dSLeila GhaffariThis problem can be run with: 791ccaff030SJeremy L Thompson 792bc7bbd5dSLeila Ghaffari``` 79388626eedSJames 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 79488626eedSJames Wright``` 79588626eedSJames Wright 796019b7682STimothy Aiken#### Channel flow 797019b7682STimothy Aiken 798061ff11eSJames WrightThe Channel problem has the following command-line options in addition to the Newtonian Ideal Gas options: 79988626eedSJames Wright 80088626eedSJames Wright:::{list-table} Channel Runtime Options 80188626eedSJames Wright:header-rows: 1 80288626eedSJames Wright 80388626eedSJames Wright* - Option 80488626eedSJames Wright - Description 80588626eedSJames Wright - Default value 80688626eedSJames Wright - Unit 80788626eedSJames Wright 80888626eedSJames Wright* - `-umax` 80988626eedSJames Wright - Maximum/centerline velocity of the flow 81088626eedSJames Wright - `10` 81188626eedSJames Wright - `m/s` 81288626eedSJames Wright 81388626eedSJames Wright* - `-theta0` 81488626eedSJames Wright - Reference potential temperature 81588626eedSJames Wright - `300` 81688626eedSJames Wright - `K` 81788626eedSJames Wright 81888626eedSJames Wright* - `-P0` 81988626eedSJames Wright - Atmospheric pressure 82088626eedSJames Wright - `1E5` 82188626eedSJames Wright - `Pa` 822a1df05f8SJed Brown 823a1df05f8SJed Brown* - `-body_force_scale` 824a1df05f8SJed Brown - Multiplier for body force (`-1` for flow reversal) 825a1df05f8SJed Brown - 1 826a1df05f8SJed Brown - 82788626eedSJames Wright::: 82888626eedSJames Wright 82988626eedSJames WrightThis problem can be run with the `channel.yaml` file via: 83088626eedSJames Wright 83188626eedSJames Wright``` 83288626eedSJames Wright./navierstokes -options_file channel.yaml 83388626eedSJames Wright``` 83488626eedSJames Wright```{literalinclude} ../../../../../examples/fluids/channel.yaml 83588626eedSJames Wright:language: yaml 83688626eedSJames Wright``` 83788626eedSJames Wright 8388a94a473SJed Brown(example-blasius)= 8398a94a473SJed Brown 840019b7682STimothy Aiken#### Blasius boundary layer 841019b7682STimothy Aiken 842061ff11eSJames WrightThe Blasius problem has the following command-line options in addition to the Newtonian Ideal Gas options: 84388626eedSJames Wright 84488626eedSJames Wright:::{list-table} Blasius Runtime Options 84588626eedSJames Wright:header-rows: 1 84688626eedSJames Wright 84788626eedSJames Wright* - Option 84888626eedSJames Wright - Description 84988626eedSJames Wright - Default value 85088626eedSJames Wright - Unit 85188626eedSJames Wright 852fb455ff0SLeila Ghaffari* - `-velocity_infinity` 85388626eedSJames Wright - Freestream velocity 85488626eedSJames Wright - `40` 85588626eedSJames Wright - `m/s` 85688626eedSJames Wright 857fb455ff0SLeila Ghaffari* - `-temperature_infinity` 858fb455ff0SLeila Ghaffari - Freestream temperature 85988626eedSJames Wright - `288` 86088626eedSJames Wright - `K` 86188626eedSJames Wright 862fb455ff0SLeila Ghaffari* - `-temperature_wall` 863fb455ff0SLeila Ghaffari - Wall temperature 86407d14e58SLeila Ghaffari - `288` 865fb455ff0SLeila Ghaffari - `K` 866fb455ff0SLeila Ghaffari 867fb455ff0SLeila Ghaffari* - `-delta0` 868fb455ff0SLeila Ghaffari - Boundary layer height at the inflow 869fb455ff0SLeila Ghaffari - `4.2e-3` 870fb455ff0SLeila Ghaffari - `m` 871fb455ff0SLeila Ghaffari 87288626eedSJames Wright* - `-P0` 87388626eedSJames Wright - Atmospheric pressure 87488626eedSJames Wright - `1.01E5` 87588626eedSJames Wright - `Pa` 87688626eedSJames Wright 87791eaef80SJames Wright* - `-platemesh_refine_height` 87891eaef80SJames Wright - Height at which `-platemesh_Ndelta` number of elements should refined into 87988626eedSJames Wright - `5.9E-4` 88088626eedSJames Wright - `m` 88188626eedSJames Wright 88291eaef80SJames Wright* - `-platemesh_Ndelta` 88391eaef80SJames Wright - Number of elements to keep below `-platemesh_refine_height` 88488626eedSJames Wright - `45` 88588626eedSJames Wright - 88688626eedSJames Wright 88791eaef80SJames Wright* - `-platemesh_growth` 88888626eedSJames Wright - Growth rate of the elements in the refinement region 88988626eedSJames Wright - `1.08` 89088626eedSJames Wright - 89188626eedSJames Wright 89291eaef80SJames Wright* - `-platemesh_top_angle` 89388626eedSJames Wright - Downward angle of the top face of the domain. This face serves as an outlet. 89488626eedSJames Wright - `5` 89588626eedSJames Wright - `degrees` 896ba6664aeSJames Wright 897ba6664aeSJames Wright* - `-stg_use` 898ba6664aeSJames Wright - Whether to use stg for the inflow conditions 899ba6664aeSJames Wright - `false` 900ba6664aeSJames Wright - 90191eaef80SJames Wright 90291eaef80SJames Wright* - `-platemesh_y_node_locs_path` 90391eaef80SJames Wright - Path to file with y node locations. If empty, will use mesh warping instead. 90491eaef80SJames Wright - `""` 90591eaef80SJames Wright - 906fb455ff0SLeila Ghaffari 90707d14e58SLeila Ghaffari* - `-n_chebyshev` 908fb455ff0SLeila Ghaffari - Number of Chebyshev terms 909fb455ff0SLeila Ghaffari - `20` 910fb455ff0SLeila Ghaffari - 911fb455ff0SLeila Ghaffari 91207d14e58SLeila Ghaffari* - `-chebyshev_` 91307d14e58SLeila Ghaffari - Prefix for Chebyshev snes solve 91407d14e58SLeila Ghaffari - 91507d14e58SLeila Ghaffari - 91607d14e58SLeila Ghaffari 91788626eedSJames Wright::: 91888626eedSJames Wright 91988626eedSJames WrightThis problem can be run with the `blasius.yaml` file via: 92088626eedSJames Wright 92188626eedSJames Wright``` 92288626eedSJames Wright./navierstokes -options_file blasius.yaml 92388626eedSJames Wright``` 92488626eedSJames Wright 92588626eedSJames Wright```{literalinclude} ../../../../../examples/fluids/blasius.yaml 92688626eedSJames Wright:language: yaml 927bc7bbd5dSLeila Ghaffari``` 928ba6664aeSJames Wright 929ba6664aeSJames Wright#### STG Inflow for Flat Plate 930ba6664aeSJames Wright 93117be3a41SJeremy L ThompsonUsing the STG Inflow for the blasius problem adds the following command-line options: 932ba6664aeSJames Wright 933ba6664aeSJames Wright:::{list-table} Blasius Runtime Options 934ba6664aeSJames Wright:header-rows: 1 935ba6664aeSJames Wright 936ba6664aeSJames Wright* - Option 937ba6664aeSJames Wright - Description 938ba6664aeSJames Wright - Default value 939ba6664aeSJames Wright - Unit 940ba6664aeSJames Wright 941ba6664aeSJames Wright* - `-stg_inflow_path` 942ba6664aeSJames Wright - Path to the STGInflow file 943ba6664aeSJames Wright - `./STGInflow.dat` 944ba6664aeSJames Wright - 945ba6664aeSJames Wright 946ba6664aeSJames Wright* - `-stg_rand_path` 947ba6664aeSJames Wright - Path to the STGRand file 948ba6664aeSJames Wright - `./STGRand.dat` 949ba6664aeSJames Wright - 950ba6664aeSJames Wright 951ba6664aeSJames Wright* - `-stg_alpha` 952ba6664aeSJames Wright - Growth rate of the wavemodes 953ba6664aeSJames Wright - `1.01` 954ba6664aeSJames Wright - 955ba6664aeSJames Wright 956ba6664aeSJames Wright* - `-stg_u0` 957ba6664aeSJames Wright - Convective velocity, $U_0$ 958ba6664aeSJames Wright - `0.0` 959ba6664aeSJames Wright - `m/s` 960ba6664aeSJames Wright 961ba6664aeSJames Wright* - `-stg_mean_only` 962ba6664aeSJames Wright - Only impose the mean velocity (no fluctutations) 963ba6664aeSJames Wright - `false` 964ba6664aeSJames Wright - 965ba6664aeSJames Wright 96630af3636SJames Wright* - `-stg_strong` 96730af3636SJames Wright - Strongly enforce the STG inflow boundary condition 96830af3636SJames Wright - `false` 96930af3636SJames Wright - 97030af3636SJames Wright 97189060322SJames Wright* - `-stg_fluctuating_IC` 97289060322SJames Wright - "Extrude" the fluctuations through the domain as an initial condition 97389060322SJames Wright - `false` 97489060322SJames Wright - 97589060322SJames Wright 976ba6664aeSJames Wright::: 977ba6664aeSJames Wright 978ba6664aeSJames WrightThis problem can be run with the `blasius.yaml` file via: 979ba6664aeSJames Wright 980ba6664aeSJames Wright``` 981ba6664aeSJames Wright./navierstokes -options_file blasius.yaml -stg_use true 982ba6664aeSJames Wright``` 983ba6664aeSJames Wright 98417be3a41SJeremy L ThompsonNote the added `-stg_use true` flag 98517be3a41SJeremy L ThompsonThis overrides the `stg: use: false` setting in the `blasius.yaml` file, enabling the use of the STG inflow. 986