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