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 65bc7bbd5dSLeila Ghaffari - `2` 66ccaff030SJeremy L Thompson 67bc7bbd5dSLeila Ghaffari* - `-viz_refine` 68bc7bbd5dSLeila Ghaffari - Use regular refinement for visualization 69bc7bbd5dSLeila Ghaffari - `0` 70ccaff030SJeremy L Thompson 71bc7bbd5dSLeila Ghaffari* - `-output_freq` 720b22eb44SJames Wright - Frequency of output, in number of steps. `0` has no output, `-1` outputs final state only 73bc7bbd5dSLeila Ghaffari - `10` 74ccaff030SJeremy L Thompson 75bc7bbd5dSLeila Ghaffari* - `-continue` 76bc7bbd5dSLeila Ghaffari - Continue from previous solution 77bc7bbd5dSLeila Ghaffari - `0` 78ccaff030SJeremy L Thompson 79bc7bbd5dSLeila Ghaffari* - `-output_dir` 80bc7bbd5dSLeila Ghaffari - Output directory 81bc7bbd5dSLeila Ghaffari - `.` 82ccaff030SJeremy L Thompson 834534a52eSLeila Ghaffari* - `-bc_wall` 844534a52eSLeila Ghaffari - Use wall boundary conditions on this list of faces 854534a52eSLeila Ghaffari - 864534a52eSLeila Ghaffari 874534a52eSLeila Ghaffari* - `-wall_comps` 884534a52eSLeila Ghaffari - An array of constrained component numbers for wall BCs 894534a52eSLeila Ghaffari - 904534a52eSLeila Ghaffari 914534a52eSLeila Ghaffari* - `-bc_slip_x` 924534a52eSLeila Ghaffari - Use slip boundary conditions, for the x component, on this list of faces 934534a52eSLeila Ghaffari - 944534a52eSLeila Ghaffari 954534a52eSLeila Ghaffari* - `-bc_slip_y` 964534a52eSLeila Ghaffari - Use slip boundary conditions, for the y component, on this list of faces 974534a52eSLeila Ghaffari - 984534a52eSLeila Ghaffari 994534a52eSLeila Ghaffari* - `-bc_slip_z` 1004534a52eSLeila Ghaffari - Use slip boundary conditions, for the z component, on this list of faces 1014534a52eSLeila Ghaffari - 1024534a52eSLeila Ghaffari 1034534a52eSLeila Ghaffari* - `-bc_inflow` 1044534a52eSLeila Ghaffari - Use inflow boundary conditions on this list of faces 1054534a52eSLeila Ghaffari - 1064534a52eSLeila Ghaffari 1074534a52eSLeila Ghaffari* - `-bc_outflow` 1084534a52eSLeila Ghaffari - Use outflow boundary conditions on this list of faces 1094534a52eSLeila Ghaffari - 11089d0f5c0SLeila Ghaffari 1117ec884f8SJames Wright* - `-bc_freestream` 1127ec884f8SJames Wright - Use freestream boundary conditions on this list of faces 1137ec884f8SJames Wright - 1147ec884f8SJames Wright 115bc7bbd5dSLeila Ghaffari* - `-snes_view` 116bc7bbd5dSLeila Ghaffari - View PETSc `SNES` nonlinear solver configuration 117bc7bbd5dSLeila Ghaffari - 11889d0f5c0SLeila Ghaffari 119bc7bbd5dSLeila Ghaffari* - `-log_view` 120bc7bbd5dSLeila Ghaffari - View PETSc performance log 121bc7bbd5dSLeila Ghaffari - 122ccaff030SJeremy L Thompson 123bc7bbd5dSLeila Ghaffari* - `-help` 124bc7bbd5dSLeila Ghaffari - View comprehensive information about run-time options 125bc7bbd5dSLeila Ghaffari - 126bc7bbd5dSLeila Ghaffari::: 127ccaff030SJeremy L Thompson 1287ec884f8SJames 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: 1294534a52eSLeila Ghaffari 13088626eedSJames Wright:::{list-table} 2D Face ID Labels 13188626eedSJames Wright:header-rows: 1 13288626eedSJames Wright* - PETSc Face Name 13388626eedSJames Wright - Cartesian direction 13488626eedSJames Wright - Face ID 13588626eedSJames Wright 13688626eedSJames Wright* - faceMarkerBottom 13788626eedSJames Wright - -z 13888626eedSJames Wright - 1 13988626eedSJames Wright 14088626eedSJames Wright* - faceMarkerRight 14188626eedSJames Wright - +x 14288626eedSJames Wright - 2 14388626eedSJames Wright 14488626eedSJames Wright* - faceMarkerTop 14588626eedSJames Wright - +z 14688626eedSJames Wright - 3 14788626eedSJames Wright 14888626eedSJames Wright* - faceMarkerLeft 14988626eedSJames Wright - -x 15088626eedSJames Wright - 4 15188626eedSJames Wright::: 15288626eedSJames Wright 15388626eedSJames Wright:::{list-table} 2D Face ID Labels 15488626eedSJames Wright:header-rows: 1 15588626eedSJames Wright* - PETSc Face Name 15688626eedSJames Wright - Cartesian direction 15788626eedSJames Wright - Face ID 15888626eedSJames Wright 15988626eedSJames Wright* - faceMarkerBottom 16088626eedSJames Wright - -z 16188626eedSJames Wright - 1 16288626eedSJames Wright 16388626eedSJames Wright* - faceMarkerTop 16488626eedSJames Wright - +z 16588626eedSJames Wright - 2 16688626eedSJames Wright 16788626eedSJames Wright* - faceMarkerFront 16888626eedSJames Wright - -y 16988626eedSJames Wright - 3 17088626eedSJames Wright 17188626eedSJames Wright* - faceMarkerBack 17288626eedSJames Wright - +y 17388626eedSJames Wright - 4 17488626eedSJames Wright 17588626eedSJames Wright* - faceMarkerRight 17688626eedSJames Wright - +x 17788626eedSJames Wright - 5 17888626eedSJames Wright 17988626eedSJames Wright* - faceMarkerLeft 18088626eedSJames Wright - -x 18188626eedSJames Wright - 6 18288626eedSJames Wright::: 1834534a52eSLeila Ghaffari 184019b7682STimothy Aiken### Advection 185019b7682STimothy Aiken 18617be3a41SJeremy 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$. 18717be3a41SJeremy L ThompsonThese are available in 2D and 3D. 188019b7682STimothy Aiken 189019b7682STimothy Aiken#### 2D advection 190019b7682STimothy Aiken 191bc7bbd5dSLeila GhaffariFor the 2D advection problem, the following additional command-line options are available: 192ccaff030SJeremy L Thompson 193bc7bbd5dSLeila Ghaffari:::{list-table} Advection2D Runtime Options 194bc7bbd5dSLeila Ghaffari:header-rows: 1 19589d0f5c0SLeila Ghaffari 196bc7bbd5dSLeila Ghaffari* - Option 197bc7bbd5dSLeila Ghaffari - Description 198bc7bbd5dSLeila Ghaffari - Default value 199bc7bbd5dSLeila Ghaffari - Unit 20089d0f5c0SLeila Ghaffari 201bc7bbd5dSLeila Ghaffari* - `-rc` 202bc7bbd5dSLeila Ghaffari - Characteristic radius of thermal bubble 203bc7bbd5dSLeila Ghaffari - `1000` 204bc7bbd5dSLeila Ghaffari - `m` 20589d0f5c0SLeila Ghaffari 206bc7bbd5dSLeila Ghaffari* - `-units_meter` 207bc7bbd5dSLeila Ghaffari - 1 meter in scaled length units 208bc7bbd5dSLeila Ghaffari - `1E-2` 209bc7bbd5dSLeila Ghaffari - 21089d0f5c0SLeila Ghaffari 211bc7bbd5dSLeila Ghaffari* - `-units_second` 212bc7bbd5dSLeila Ghaffari - 1 second in scaled time units 213bc7bbd5dSLeila Ghaffari - `1E-2` 214bc7bbd5dSLeila Ghaffari - 21589d0f5c0SLeila Ghaffari 216bc7bbd5dSLeila Ghaffari* - `-units_kilogram` 217bc7bbd5dSLeila Ghaffari - 1 kilogram in scaled mass units 218bc7bbd5dSLeila Ghaffari - `1E-6` 219bc7bbd5dSLeila Ghaffari - 22077841947SLeila Ghaffari 221bc7bbd5dSLeila Ghaffari* - `-strong_form` 222bc7bbd5dSLeila Ghaffari - Strong (1) or weak/integrated by parts (0) residual 223bc7bbd5dSLeila Ghaffari - `0` 224bc7bbd5dSLeila Ghaffari - 22577841947SLeila Ghaffari 226bc7bbd5dSLeila Ghaffari* - `-stab` 227bc7bbd5dSLeila Ghaffari - Stabilization method (`none`, `su`, or `supg`) 228bc7bbd5dSLeila Ghaffari - `none` 229bc7bbd5dSLeila Ghaffari - 23077841947SLeila Ghaffari 231bc7bbd5dSLeila Ghaffari* - `-CtauS` 232bc7bbd5dSLeila Ghaffari - Scale coefficient for stabilization tau (nondimensional) 233bc7bbd5dSLeila Ghaffari - `0` 234bc7bbd5dSLeila Ghaffari - 23577841947SLeila Ghaffari 236bc7bbd5dSLeila Ghaffari* - `-wind_type` 237bc7bbd5dSLeila Ghaffari - Wind type in Advection (`rotation` or `translation`) 238bc7bbd5dSLeila Ghaffari - `rotation` 239bc7bbd5dSLeila Ghaffari - 24077841947SLeila Ghaffari 241bc7bbd5dSLeila Ghaffari* - `-wind_translation` 242bc7bbd5dSLeila Ghaffari - Constant wind vector when `-wind_type translation` 243bc7bbd5dSLeila Ghaffari - `1,0,0` 244bc7bbd5dSLeila Ghaffari - 24589d0f5c0SLeila Ghaffari 246bc7bbd5dSLeila Ghaffari* - `-E_wind` 247bc7bbd5dSLeila Ghaffari - Total energy of inflow wind when `-wind_type translation` 248bc7bbd5dSLeila Ghaffari - `1E6` 249bc7bbd5dSLeila Ghaffari - `J` 250bc7bbd5dSLeila Ghaffari::: 251e43605a5SLeila Ghaffari 252bc7bbd5dSLeila GhaffariAn example of the `rotation` mode can be run with: 253e43605a5SLeila Ghaffari 254bc7bbd5dSLeila Ghaffari``` 2554534a52eSLeila 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 256bc7bbd5dSLeila Ghaffari``` 257e43605a5SLeila Ghaffari 258bc7bbd5dSLeila Ghaffariand the `translation` mode with: 259e43605a5SLeila Ghaffari 260bc7bbd5dSLeila Ghaffari``` 2614534a52eSLeila 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 262bc7bbd5dSLeila Ghaffari``` 2634534a52eSLeila GhaffariNote the lengths in `-dm_plex_box_upper` are given in meters, and will be nondimensionalized according to `-units_meter`. 264e43605a5SLeila Ghaffari 265019b7682STimothy Aiken#### 3D advection 266019b7682STimothy Aiken 267bc7bbd5dSLeila GhaffariFor the 3D advection problem, the following additional command-line options are available: 268e43605a5SLeila Ghaffari 269bc7bbd5dSLeila Ghaffari:::{list-table} Advection3D Runtime Options 270bc7bbd5dSLeila Ghaffari:header-rows: 1 271e43605a5SLeila Ghaffari 272bc7bbd5dSLeila Ghaffari* - Option 273bc7bbd5dSLeila Ghaffari - Description 274bc7bbd5dSLeila Ghaffari - Default value 275bc7bbd5dSLeila Ghaffari - Unit 276e43605a5SLeila Ghaffari 277bc7bbd5dSLeila Ghaffari* - `-rc` 278bc7bbd5dSLeila Ghaffari - Characteristic radius of thermal bubble 279bc7bbd5dSLeila Ghaffari - `1000` 280bc7bbd5dSLeila Ghaffari - `m` 281e43605a5SLeila Ghaffari 282bc7bbd5dSLeila Ghaffari* - `-units_meter` 283bc7bbd5dSLeila Ghaffari - 1 meter in scaled length units 284bc7bbd5dSLeila Ghaffari - `1E-2` 285bc7bbd5dSLeila Ghaffari - 286e43605a5SLeila Ghaffari 287bc7bbd5dSLeila Ghaffari* - `-units_second` 288bc7bbd5dSLeila Ghaffari - 1 second in scaled time units 289bc7bbd5dSLeila Ghaffari - `1E-2` 290bc7bbd5dSLeila Ghaffari - 291e43605a5SLeila Ghaffari 292bc7bbd5dSLeila Ghaffari* - `-units_kilogram` 293bc7bbd5dSLeila Ghaffari - 1 kilogram in scaled mass units 294bc7bbd5dSLeila Ghaffari - `1E-6` 295bc7bbd5dSLeila Ghaffari - 296e43605a5SLeila Ghaffari 297bc7bbd5dSLeila Ghaffari* - `-strong_form` 298bc7bbd5dSLeila Ghaffari - Strong (1) or weak/integrated by parts (0) residual 299bc7bbd5dSLeila Ghaffari - `0` 300bc7bbd5dSLeila Ghaffari - 301e43605a5SLeila Ghaffari 302bc7bbd5dSLeila Ghaffari* - `-stab` 303bc7bbd5dSLeila Ghaffari - Stabilization method (`none`, `su`, or `supg`) 304bc7bbd5dSLeila Ghaffari - `none` 305bc7bbd5dSLeila Ghaffari - 306e43605a5SLeila Ghaffari 307bc7bbd5dSLeila Ghaffari* - `-CtauS` 308bc7bbd5dSLeila Ghaffari - Scale coefficient for stabilization tau (nondimensional) 309bc7bbd5dSLeila Ghaffari - `0` 310bc7bbd5dSLeila Ghaffari - 311e43605a5SLeila Ghaffari 312bc7bbd5dSLeila Ghaffari* - `-wind_type` 313bc7bbd5dSLeila Ghaffari - Wind type in Advection (`rotation` or `translation`) 314bc7bbd5dSLeila Ghaffari - `rotation` 315bc7bbd5dSLeila Ghaffari - 316e43605a5SLeila Ghaffari 317bc7bbd5dSLeila Ghaffari* - `-wind_translation` 318bc7bbd5dSLeila Ghaffari - Constant wind vector when `-wind_type translation` 319bc7bbd5dSLeila Ghaffari - `1,0,0` 320bc7bbd5dSLeila Ghaffari - 321e43605a5SLeila Ghaffari 322bc7bbd5dSLeila Ghaffari* - `-E_wind` 323bc7bbd5dSLeila Ghaffari - Total energy of inflow wind when `-wind_type translation` 324bc7bbd5dSLeila Ghaffari - `1E6` 325bc7bbd5dSLeila Ghaffari - `J` 326e43605a5SLeila Ghaffari 327bc7bbd5dSLeila Ghaffari* - `-bubble_type` 328bc7bbd5dSLeila Ghaffari - `sphere` (3D) or `cylinder` (2D) 329bc7bbd5dSLeila Ghaffari - `shpere` 330bc7bbd5dSLeila Ghaffari - 331e43605a5SLeila Ghaffari 332bc7bbd5dSLeila Ghaffari* - `-bubble_continuity` 333bc7bbd5dSLeila Ghaffari - `smooth`, `back_sharp`, or `thick` 334bc7bbd5dSLeila Ghaffari - `smooth` 335bc7bbd5dSLeila Ghaffari - 336bc7bbd5dSLeila Ghaffari::: 337ccaff030SJeremy L Thompson 338bc7bbd5dSLeila GhaffariAn example of the `rotation` mode can be run with: 339ccaff030SJeremy L Thompson 340bc7bbd5dSLeila Ghaffari``` 3414534a52eSLeila 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 342bc7bbd5dSLeila Ghaffari``` 343ccaff030SJeremy L Thompson 344bc7bbd5dSLeila Ghaffariand the `translation` mode with: 345ccaff030SJeremy L Thompson 346bc7bbd5dSLeila Ghaffari``` 3474534a52eSLeila 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 348bc7bbd5dSLeila Ghaffari``` 349ccaff030SJeremy L Thompson 350019b7682STimothy Aiken### Inviscid Ideal Gas 351019b7682STimothy Aiken 352019b7682STimothy Aiken#### Isentropic Euler vortex 353019b7682STimothy Aiken 354bc7bbd5dSLeila GhaffariFor the Isentropic Vortex problem, the following additional command-line options are available: 355ccaff030SJeremy L Thompson 356bc7bbd5dSLeila Ghaffari:::{list-table} Isentropic Vortex Runtime Options 357bc7bbd5dSLeila Ghaffari:header-rows: 1 358ccaff030SJeremy L Thompson 359bc7bbd5dSLeila Ghaffari* - Option 360bc7bbd5dSLeila Ghaffari - Description 361bc7bbd5dSLeila Ghaffari - Default value 362bc7bbd5dSLeila Ghaffari - Unit 363ccaff030SJeremy L Thompson 364bc7bbd5dSLeila Ghaffari* - `-center` 365bc7bbd5dSLeila Ghaffari - Location of vortex center 366bc7bbd5dSLeila Ghaffari - `(lx,ly,lz)/2` 367bc7bbd5dSLeila Ghaffari - `(m,m,m)` 368ccaff030SJeremy L Thompson 369bc7bbd5dSLeila Ghaffari* - `-units_meter` 370bc7bbd5dSLeila Ghaffari - 1 meter in scaled length units 371bc7bbd5dSLeila Ghaffari - `1E-2` 372bc7bbd5dSLeila Ghaffari - 373ccaff030SJeremy L Thompson 374bc7bbd5dSLeila Ghaffari* - `-units_second` 375bc7bbd5dSLeila Ghaffari - 1 second in scaled time units 376bc7bbd5dSLeila Ghaffari - `1E-2` 377bc7bbd5dSLeila Ghaffari - 378ccaff030SJeremy L Thompson 379bc7bbd5dSLeila Ghaffari* - `-mean_velocity` 380bc7bbd5dSLeila Ghaffari - Background velocity vector 381bc7bbd5dSLeila Ghaffari - `(1,1,0)` 382bc7bbd5dSLeila Ghaffari - 383ccaff030SJeremy L Thompson 384bc7bbd5dSLeila Ghaffari* - `-vortex_strength` 385bc7bbd5dSLeila Ghaffari - Strength of vortex < 10 386bc7bbd5dSLeila Ghaffari - `5` 387bc7bbd5dSLeila Ghaffari - 388932417b3SJed Brown 389932417b3SJed Brown* - `-c_tau` 390932417b3SJed Brown - Stabilization constant 391504dc8e0SLeila Ghaffari - `0.5` 392932417b3SJed Brown - 393bc7bbd5dSLeila Ghaffari::: 394ccaff030SJeremy L Thompson 395bc7bbd5dSLeila GhaffariThis problem can be run with: 396ccaff030SJeremy L Thompson 397bc7bbd5dSLeila Ghaffari``` 3984534a52eSLeila 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. 399bc7bbd5dSLeila Ghaffari``` 400ccaff030SJeremy L Thompson 401019b7682STimothy Aiken#### Sod shock tube 402019b7682STimothy Aiken 403019b7682STimothy AikenFor the Shock Tube problem, the following additional command-line options are available: 404019b7682STimothy Aiken 405019b7682STimothy Aiken:::{list-table} Shock Tube Runtime Options 406019b7682STimothy Aiken:header-rows: 1 407019b7682STimothy Aiken 408019b7682STimothy Aiken* - Option 409019b7682STimothy Aiken - Description 410019b7682STimothy Aiken - Default value 411019b7682STimothy Aiken - Unit 412019b7682STimothy Aiken 413019b7682STimothy Aiken* - `-units_meter` 414019b7682STimothy Aiken - 1 meter in scaled length units 415019b7682STimothy Aiken - `1E-2` 416019b7682STimothy Aiken - 417019b7682STimothy Aiken 418019b7682STimothy Aiken* - `-units_second` 419019b7682STimothy Aiken - 1 second in scaled time units 420019b7682STimothy Aiken - `1E-2` 421019b7682STimothy Aiken - 422019b7682STimothy Aiken 423019b7682STimothy Aiken* - `-yzb` 424019b7682STimothy Aiken - Use YZB discontinuity capturing 425019b7682STimothy Aiken - `none` 426019b7682STimothy Aiken - 427019b7682STimothy Aiken 428019b7682STimothy Aiken* - `-stab` 429019b7682STimothy Aiken - Stabilization method (`none`, `su`, or `supg`) 430019b7682STimothy Aiken - `none` 431019b7682STimothy Aiken - 432019b7682STimothy Aiken::: 433019b7682STimothy Aiken 434019b7682STimothy AikenThis problem can be run with: 435019b7682STimothy Aiken 436019b7682STimothy Aiken``` 437019b7682STimothy 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 438019b7682STimothy Aiken``` 439019b7682STimothy Aiken 440019b7682STimothy Aiken### Newtonian viscosity, Ideal Gas 441019b7682STimothy Aiken 44288626eedSJames WrightFor the Density Current, Channel, and Blasius problems, the following common command-line options are available: 443ccaff030SJeremy L Thompson 44488626eedSJames Wright:::{list-table} Newtonian Ideal Gas problems Runtime Options 445bc7bbd5dSLeila Ghaffari:header-rows: 1 446ccaff030SJeremy L Thompson 447bc7bbd5dSLeila Ghaffari* - Option 448bc7bbd5dSLeila Ghaffari - Description 449bc7bbd5dSLeila Ghaffari - Default value 450bc7bbd5dSLeila Ghaffari - Unit 451ccaff030SJeremy L Thompson 452bc7bbd5dSLeila Ghaffari* - `-units_meter` 453bc7bbd5dSLeila Ghaffari - 1 meter in scaled length units 45488626eedSJames Wright - `1` 455bc7bbd5dSLeila Ghaffari - 456ccaff030SJeremy L Thompson 457bc7bbd5dSLeila Ghaffari* - `-units_second` 458bc7bbd5dSLeila Ghaffari - 1 second in scaled time units 45988626eedSJames Wright - `1` 460bc7bbd5dSLeila Ghaffari - 461ccaff030SJeremy L Thompson 462bc7bbd5dSLeila Ghaffari* - `-units_kilogram` 463bc7bbd5dSLeila Ghaffari - 1 kilogram in scaled mass units 46488626eedSJames Wright - `1` 465bc7bbd5dSLeila Ghaffari - 466ccaff030SJeremy L Thompson 467bc7bbd5dSLeila Ghaffari* - `-units_Kelvin` 468bc7bbd5dSLeila Ghaffari - 1 Kelvin in scaled temperature units 469bc7bbd5dSLeila Ghaffari - `1` 470bc7bbd5dSLeila Ghaffari - 471ccaff030SJeremy L Thompson 472bc7bbd5dSLeila Ghaffari* - `-stab` 473bc7bbd5dSLeila Ghaffari - Stabilization method (`none`, `su`, or `supg`) 474bc7bbd5dSLeila Ghaffari - `none` 475bc7bbd5dSLeila Ghaffari - 476ccaff030SJeremy L Thompson 477932417b3SJed Brown* - `-c_tau` 47888626eedSJames Wright - Stabilization constant, $c_\tau$ 479504dc8e0SLeila Ghaffari - `0.5` 480932417b3SJed Brown - 481932417b3SJed Brown 48288626eedSJames Wright* - `-Ctau_t` 48388626eedSJames Wright - Stabilization time constant, $C_t$ 48488626eedSJames Wright - `1.0` 48588626eedSJames Wright - 486ccaff030SJeremy L Thompson 48788626eedSJames Wright* - `-Ctau_v` 48888626eedSJames Wright - Stabilization viscous constant, $C_v$ 48988626eedSJames Wright - `36.0` 49088626eedSJames Wright - 491ccaff030SJeremy L Thompson 49288626eedSJames Wright* - `-Ctau_C` 49388626eedSJames Wright - Stabilization continuity constant, $C_c$ 49488626eedSJames Wright - `1.0` 49588626eedSJames Wright - 496ccaff030SJeremy L Thompson 49788626eedSJames Wright* - `-Ctau_M` 49888626eedSJames Wright - Stabilization momentum constant, $C_m$ 49988626eedSJames Wright - `1.0` 50088626eedSJames Wright - 50188626eedSJames Wright 50288626eedSJames Wright* - `-Ctau_E` 50388626eedSJames Wright - Stabilization energy constant, $C_E$ 50488626eedSJames Wright - `1.0` 50588626eedSJames Wright - 506ccaff030SJeremy L Thompson 507bc7bbd5dSLeila Ghaffari* - `-cv` 508bc7bbd5dSLeila Ghaffari - Heat capacity at constant volume 509bc7bbd5dSLeila Ghaffari - `717` 510bc7bbd5dSLeila Ghaffari - `J/(kg K)` 511ccaff030SJeremy L Thompson 512bc7bbd5dSLeila Ghaffari* - `-cp` 513bc7bbd5dSLeila Ghaffari - Heat capacity at constant pressure 514bc7bbd5dSLeila Ghaffari - `1004` 515bc7bbd5dSLeila Ghaffari - `J/(kg K)` 516ccaff030SJeremy L Thompson 517bc7bbd5dSLeila Ghaffari* - `-g` 518bc7bbd5dSLeila Ghaffari - Gravitational acceleration 519bc7bbd5dSLeila Ghaffari - `9.81` 520bc7bbd5dSLeila Ghaffari - `m/s^2` 521ccaff030SJeremy L Thompson 522bc7bbd5dSLeila Ghaffari* - `-lambda` 523bc7bbd5dSLeila Ghaffari - Stokes hypothesis second viscosity coefficient 524bc7bbd5dSLeila Ghaffari - `-2/3` 525bc7bbd5dSLeila Ghaffari - 526ccaff030SJeremy L Thompson 527bc7bbd5dSLeila Ghaffari* - `-mu` 528bc7bbd5dSLeila Ghaffari - Shear dynamic viscosity coefficient 529bc7bbd5dSLeila Ghaffari - `75` 530bc7bbd5dSLeila Ghaffari - `Pa s` 53177841947SLeila Ghaffari 532bc7bbd5dSLeila Ghaffari* - `-k` 533bc7bbd5dSLeila Ghaffari - Thermal conductivity 534bc7bbd5dSLeila Ghaffari - `0.02638` 535bc7bbd5dSLeila Ghaffari - `W/(m K)` 536a1df05f8SJed Brown 537a1df05f8SJed Brown* - `-newtonian_unit_tests` 538a1df05f8SJed Brown - Developer option to test properties 539a1df05f8SJed Brown - `false` 540a1df05f8SJed Brown - boolean 541de2fdd78SJames Wright 5425c0afad3SJames Wright* - `-state_var` 5435c0afad3SJames Wright - State variables to solve solution with. `conservative` ($\rho, \rho \bm{u}, \rho e$) or `primitive` ($P, \bm{u}, T$) 5445c0afad3SJames Wright - `conservative` 5455c0afad3SJames Wright - string 546bc7bbd5dSLeila Ghaffari::: 54777841947SLeila Ghaffari 5487ec884f8SJames Wright#### Newtonian Wave 5497ec884f8SJames Wright 5507ec884f8SJames WrightThe newtonian wave problem the following command-line options are available in addition to the Newtonian Ideal Gas options: 5517ec884f8SJames Wright 552*89e3cb53SJames Wright:::{list-table} Newtonian Wave Runtime Options 5537ec884f8SJames Wright:header-rows: 1 5547ec884f8SJames Wright 5557ec884f8SJames Wright* - Option 5567ec884f8SJames Wright - Description 5577ec884f8SJames Wright - Default value 5587ec884f8SJames Wright - Unit 5597ec884f8SJames Wright 560*89e3cb53SJames Wright* - `-velocity_freestream` 5617ec884f8SJames Wright - Freestream velocity vector 5627ec884f8SJames Wright - `0,0,0` 5637ec884f8SJames Wright - `m/s` 5647ec884f8SJames Wright 565*89e3cb53SJames Wright* - `-temperature_freestream` 5667ec884f8SJames Wright - Freestream temperature 5677ec884f8SJames Wright - `288` 5687ec884f8SJames Wright - `K` 5697ec884f8SJames Wright 570*89e3cb53SJames Wright* - `-pressure_freestream` 571*89e3cb53SJames Wright - Freestream pressure 5727ec884f8SJames Wright - `1.01e5` 5737ec884f8SJames Wright - `Pa` 5747ec884f8SJames Wright 5757ec884f8SJames Wright* - `-epicenter` 5767ec884f8SJames Wright - Coordinates of center of perturbation 5777ec884f8SJames Wright - `0,0,0` 5787ec884f8SJames Wright - `m` 5797ec884f8SJames Wright 5807ec884f8SJames Wright* - `-amplitude` 5817ec884f8SJames Wright - Amplitude of the perturbation 5827ec884f8SJames Wright - `0.1` 5837ec884f8SJames Wright - 5847ec884f8SJames Wright 5857ec884f8SJames Wright* - `-width` 5867ec884f8SJames Wright - Width parameter of the perturbation 5877ec884f8SJames Wright - `0.002` 5887ec884f8SJames Wright - `m` 5897ec884f8SJames Wright 5907ec884f8SJames Wright::: 5917ec884f8SJames Wright 5927ec884f8SJames WrightThis problem can be run with the `newtonianwave.yaml` file via: 5937ec884f8SJames Wright 5947ec884f8SJames Wright``` 5957ec884f8SJames Wright./navierstokes -options_file newtonianwave.yaml 5967ec884f8SJames Wright``` 5977ec884f8SJames Wright 5987ec884f8SJames Wright```{literalinclude} ../../../../../examples/fluids/newtonianwave.yaml 5997ec884f8SJames Wright:language: yaml 6007ec884f8SJames Wright``` 601a1df05f8SJed Brown 602019b7682STimothy Aiken#### Density current 603019b7682STimothy Aiken 60417be3a41SJeremy L ThompsonThe Density Current problem the following command-line options are available in addition to the Newtonian Ideal Gas options: 60588626eedSJames Wright 60688626eedSJames Wright:::{list-table} Density Current Runtime Options 60788626eedSJames Wright:header-rows: 1 60888626eedSJames Wright 60988626eedSJames Wright* - Option 61088626eedSJames Wright - Description 61188626eedSJames Wright - Default value 61288626eedSJames Wright - Unit 61388626eedSJames Wright 61488626eedSJames Wright* - `-center` 61588626eedSJames Wright - Location of bubble center 61688626eedSJames Wright - `(lx,ly,lz)/2` 61788626eedSJames Wright - `(m,m,m)` 61888626eedSJames Wright 61988626eedSJames Wright* - `-dc_axis` 62088626eedSJames Wright - Axis of density current cylindrical anomaly, or `(0,0,0)` for spherically symmetric 62188626eedSJames Wright - `(0,0,0)` 62288626eedSJames Wright - 62388626eedSJames Wright 62488626eedSJames Wright* - `-rc` 62588626eedSJames Wright - Characteristic radius of thermal bubble 62688626eedSJames Wright - `1000` 62788626eedSJames Wright - `m` 62888626eedSJames Wright 62988626eedSJames Wright* - `-theta0` 63088626eedSJames Wright - Reference potential temperature 63188626eedSJames Wright - `300` 63288626eedSJames Wright - `K` 63388626eedSJames Wright 63488626eedSJames Wright* - `-thetaC` 63588626eedSJames Wright - Perturbation of potential temperature 63688626eedSJames Wright - `-15` 63788626eedSJames Wright - `K` 63888626eedSJames Wright 63988626eedSJames Wright* - `-P0` 64088626eedSJames Wright - Atmospheric pressure 64188626eedSJames Wright - `1E5` 64288626eedSJames Wright - `Pa` 64388626eedSJames Wright 64488626eedSJames Wright* - `-N` 64588626eedSJames Wright - Brunt-Vaisala frequency 64688626eedSJames Wright - `0.01` 64788626eedSJames Wright - `1/s` 64888626eedSJames Wright::: 64988626eedSJames Wright 650bc7bbd5dSLeila GhaffariThis problem can be run with: 651ccaff030SJeremy L Thompson 652bc7bbd5dSLeila Ghaffari``` 65388626eedSJames 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 65488626eedSJames Wright``` 65588626eedSJames Wright 656019b7682STimothy Aiken#### Channel flow 657019b7682STimothy Aiken 65817be3a41SJeremy L ThompsonThe Channel problem the following command-line options are available in addition to the Newtonian Ideal Gas options: 65988626eedSJames Wright 66088626eedSJames Wright:::{list-table} Channel Runtime Options 66188626eedSJames Wright:header-rows: 1 66288626eedSJames Wright 66388626eedSJames Wright* - Option 66488626eedSJames Wright - Description 66588626eedSJames Wright - Default value 66688626eedSJames Wright - Unit 66788626eedSJames Wright 66888626eedSJames Wright* - `-umax` 66988626eedSJames Wright - Maximum/centerline velocity of the flow 67088626eedSJames Wright - `10` 67188626eedSJames Wright - `m/s` 67288626eedSJames Wright 67388626eedSJames Wright* - `-theta0` 67488626eedSJames Wright - Reference potential temperature 67588626eedSJames Wright - `300` 67688626eedSJames Wright - `K` 67788626eedSJames Wright 67888626eedSJames Wright* - `-P0` 67988626eedSJames Wright - Atmospheric pressure 68088626eedSJames Wright - `1E5` 68188626eedSJames Wright - `Pa` 682a1df05f8SJed Brown 683a1df05f8SJed Brown* - `-body_force_scale` 684a1df05f8SJed Brown - Multiplier for body force (`-1` for flow reversal) 685a1df05f8SJed Brown - 1 686a1df05f8SJed Brown - 68788626eedSJames Wright::: 68888626eedSJames Wright 68988626eedSJames WrightThis problem can be run with the `channel.yaml` file via: 69088626eedSJames Wright 69188626eedSJames Wright``` 69288626eedSJames Wright./navierstokes -options_file channel.yaml 69388626eedSJames Wright``` 69488626eedSJames Wright```{literalinclude} ../../../../../examples/fluids/channel.yaml 69588626eedSJames Wright:language: yaml 69688626eedSJames Wright``` 69788626eedSJames Wright 698019b7682STimothy Aiken#### Blasius boundary layer 699019b7682STimothy Aiken 70017be3a41SJeremy L ThompsonThe Blasius problem the following command-line options are available in addition to the Newtonian Ideal Gas options: 70188626eedSJames Wright 70288626eedSJames Wright:::{list-table} Blasius Runtime Options 70388626eedSJames Wright:header-rows: 1 70488626eedSJames Wright 70588626eedSJames Wright* - Option 70688626eedSJames Wright - Description 70788626eedSJames Wright - Default value 70888626eedSJames Wright - Unit 70988626eedSJames Wright 710fb455ff0SLeila Ghaffari* - `-velocity_infinity` 71188626eedSJames Wright - Freestream velocity 71288626eedSJames Wright - `40` 71388626eedSJames Wright - `m/s` 71488626eedSJames Wright 715fb455ff0SLeila Ghaffari* - `-temperature_infinity` 716fb455ff0SLeila Ghaffari - Freestream temperature 71788626eedSJames Wright - `288` 71888626eedSJames Wright - `K` 71988626eedSJames Wright 720fb455ff0SLeila Ghaffari* - `-temperature_wall` 721fb455ff0SLeila Ghaffari - Wall temperature 72207d14e58SLeila Ghaffari - `288` 723fb455ff0SLeila Ghaffari - `K` 724fb455ff0SLeila Ghaffari 725fb455ff0SLeila Ghaffari* - `-delta0` 726fb455ff0SLeila Ghaffari - Boundary layer height at the inflow 727fb455ff0SLeila Ghaffari - `4.2e-3` 728fb455ff0SLeila Ghaffari - `m` 729fb455ff0SLeila Ghaffari 73088626eedSJames Wright* - `-P0` 73188626eedSJames Wright - Atmospheric pressure 73288626eedSJames Wright - `1.01E5` 73388626eedSJames Wright - `Pa` 73488626eedSJames Wright 73591eaef80SJames Wright* - `-platemesh_refine_height` 73691eaef80SJames Wright - Height at which `-platemesh_Ndelta` number of elements should refined into 73788626eedSJames Wright - `5.9E-4` 73888626eedSJames Wright - `m` 73988626eedSJames Wright 74091eaef80SJames Wright* - `-platemesh_Ndelta` 74191eaef80SJames Wright - Number of elements to keep below `-platemesh_refine_height` 74288626eedSJames Wright - `45` 74388626eedSJames Wright - 74488626eedSJames Wright 74591eaef80SJames Wright* - `-platemesh_growth` 74688626eedSJames Wright - Growth rate of the elements in the refinement region 74788626eedSJames Wright - `1.08` 74888626eedSJames Wright - 74988626eedSJames Wright 75091eaef80SJames Wright* - `-platemesh_top_angle` 75188626eedSJames Wright - Downward angle of the top face of the domain. This face serves as an outlet. 75288626eedSJames Wright - `5` 75388626eedSJames Wright - `degrees` 754ba6664aeSJames Wright 755ba6664aeSJames Wright* - `-stg_use` 756ba6664aeSJames Wright - Whether to use stg for the inflow conditions 757ba6664aeSJames Wright - `false` 758ba6664aeSJames Wright - 75991eaef80SJames Wright 76091eaef80SJames Wright* - `-platemesh_y_node_locs_path` 76191eaef80SJames Wright - Path to file with y node locations. If empty, will use mesh warping instead. 76291eaef80SJames Wright - `""` 76391eaef80SJames Wright - 764fb455ff0SLeila Ghaffari 76507d14e58SLeila Ghaffari* - `-n_chebyshev` 766fb455ff0SLeila Ghaffari - Number of Chebyshev terms 767fb455ff0SLeila Ghaffari - `20` 768fb455ff0SLeila Ghaffari - 769fb455ff0SLeila Ghaffari 77007d14e58SLeila Ghaffari* - `-chebyshev_` 77107d14e58SLeila Ghaffari - Prefix for Chebyshev snes solve 77207d14e58SLeila Ghaffari - 77307d14e58SLeila Ghaffari - 77407d14e58SLeila Ghaffari 77588626eedSJames Wright::: 77688626eedSJames Wright 77788626eedSJames WrightThis problem can be run with the `blasius.yaml` file via: 77888626eedSJames Wright 77988626eedSJames Wright``` 78088626eedSJames Wright./navierstokes -options_file blasius.yaml 78188626eedSJames Wright``` 78288626eedSJames Wright 78388626eedSJames Wright```{literalinclude} ../../../../../examples/fluids/blasius.yaml 78488626eedSJames Wright:language: yaml 785bc7bbd5dSLeila Ghaffari``` 786ba6664aeSJames Wright 787ba6664aeSJames Wright#### STG Inflow for Flat Plate 788ba6664aeSJames Wright 78917be3a41SJeremy L ThompsonUsing the STG Inflow for the blasius problem adds the following command-line options: 790ba6664aeSJames Wright 791ba6664aeSJames Wright:::{list-table} Blasius Runtime Options 792ba6664aeSJames Wright:header-rows: 1 793ba6664aeSJames Wright 794ba6664aeSJames Wright* - Option 795ba6664aeSJames Wright - Description 796ba6664aeSJames Wright - Default value 797ba6664aeSJames Wright - Unit 798ba6664aeSJames Wright 799ba6664aeSJames Wright* - `-stg_inflow_path` 800ba6664aeSJames Wright - Path to the STGInflow file 801ba6664aeSJames Wright - `./STGInflow.dat` 802ba6664aeSJames Wright - 803ba6664aeSJames Wright 804ba6664aeSJames Wright* - `-stg_rand_path` 805ba6664aeSJames Wright - Path to the STGRand file 806ba6664aeSJames Wright - `./STGRand.dat` 807ba6664aeSJames Wright - 808ba6664aeSJames Wright 809ba6664aeSJames Wright* - `-stg_alpha` 810ba6664aeSJames Wright - Growth rate of the wavemodes 811ba6664aeSJames Wright - `1.01` 812ba6664aeSJames Wright - 813ba6664aeSJames Wright 814ba6664aeSJames Wright* - `-stg_u0` 815ba6664aeSJames Wright - Convective velocity, $U_0$ 816ba6664aeSJames Wright - `0.0` 817ba6664aeSJames Wright - `m/s` 818ba6664aeSJames Wright 819ba6664aeSJames Wright* - `-stg_mean_only` 820ba6664aeSJames Wright - Only impose the mean velocity (no fluctutations) 821ba6664aeSJames Wright - `false` 822ba6664aeSJames Wright - 823ba6664aeSJames Wright 82430af3636SJames Wright* - `-stg_strong` 82530af3636SJames Wright - Strongly enforce the STG inflow boundary condition 82630af3636SJames Wright - `false` 82730af3636SJames Wright - 82830af3636SJames Wright 829ba6664aeSJames Wright::: 830ba6664aeSJames Wright 831ba6664aeSJames WrightThis problem can be run with the `blasius.yaml` file via: 832ba6664aeSJames Wright 833ba6664aeSJames Wright``` 834ba6664aeSJames Wright./navierstokes -options_file blasius.yaml -stg_use true 835ba6664aeSJames Wright``` 836ba6664aeSJames Wright 83717be3a41SJeremy L ThompsonNote the added `-stg_use true` flag 83817be3a41SJeremy L ThompsonThis overrides the `stg: use: false` setting in the `blasius.yaml` file, enabling the use of the STG inflow. 839