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 65*fc14f3f6SLeila Ghaffari - `0` 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* - `-output_dir` 76bc7bbd5dSLeila Ghaffari - Output directory 77bc7bbd5dSLeila Ghaffari - `.` 78ccaff030SJeremy L Thompson 7969293791SJames Wright* - `-output_add_stepnum2bin` 8069293791SJames Wright - Whether to add step numbers to output binary files 8169293791SJames Wright - `false` 8269293791SJames Wright 8369293791SJames Wright* - `-continue` 8469293791SJames Wright - Continue from previous solution (input is step number of previous solution) 8569293791SJames Wright - `0` 8669293791SJames Wright 8769293791SJames Wright* - `-continue_filename` 8869293791SJames Wright - Path to solution binary file from which to continue from 8969293791SJames Wright - `[output_dir]/ns-solution.bin` 9069293791SJames Wright 9169293791SJames Wright* - `-continue_time_filename` 9269293791SJames Wright - Path to time stamp binary file from which to continue from 9369293791SJames Wright - `[output_dir]/ns-time.bin` 9469293791SJames Wright 954534a52eSLeila Ghaffari* - `-bc_wall` 964534a52eSLeila Ghaffari - Use wall boundary conditions on this list of faces 974534a52eSLeila Ghaffari - 984534a52eSLeila Ghaffari 994534a52eSLeila Ghaffari* - `-wall_comps` 1004534a52eSLeila Ghaffari - An array of constrained component numbers for wall BCs 1014534a52eSLeila Ghaffari - 1024534a52eSLeila Ghaffari 1034534a52eSLeila Ghaffari* - `-bc_slip_x` 1044534a52eSLeila Ghaffari - Use slip boundary conditions, for the x component, on this list of faces 1054534a52eSLeila Ghaffari - 1064534a52eSLeila Ghaffari 1074534a52eSLeila Ghaffari* - `-bc_slip_y` 1084534a52eSLeila Ghaffari - Use slip boundary conditions, for the y component, on this list of faces 1094534a52eSLeila Ghaffari - 1104534a52eSLeila Ghaffari 1114534a52eSLeila Ghaffari* - `-bc_slip_z` 1124534a52eSLeila Ghaffari - Use slip boundary conditions, for the z component, on this list of faces 1134534a52eSLeila Ghaffari - 1144534a52eSLeila Ghaffari 1154534a52eSLeila Ghaffari* - `-bc_inflow` 1164534a52eSLeila Ghaffari - Use inflow boundary conditions on this list of faces 1174534a52eSLeila Ghaffari - 1184534a52eSLeila Ghaffari 1194534a52eSLeila Ghaffari* - `-bc_outflow` 1204534a52eSLeila Ghaffari - Use outflow boundary conditions on this list of faces 1214534a52eSLeila Ghaffari - 12289d0f5c0SLeila Ghaffari 1237ec884f8SJames Wright* - `-bc_freestream` 1247ec884f8SJames Wright - Use freestream boundary conditions on this list of faces 1257ec884f8SJames Wright - 1267ec884f8SJames Wright 127bc7bbd5dSLeila Ghaffari* - `-snes_view` 128bc7bbd5dSLeila Ghaffari - View PETSc `SNES` nonlinear solver configuration 129bc7bbd5dSLeila Ghaffari - 13089d0f5c0SLeila Ghaffari 131bc7bbd5dSLeila Ghaffari* - `-log_view` 132bc7bbd5dSLeila Ghaffari - View PETSc performance log 133bc7bbd5dSLeila Ghaffari - 134ccaff030SJeremy L Thompson 135bc7bbd5dSLeila Ghaffari* - `-help` 136bc7bbd5dSLeila Ghaffari - View comprehensive information about run-time options 137bc7bbd5dSLeila Ghaffari - 138bc7bbd5dSLeila Ghaffari::: 139ccaff030SJeremy L Thompson 1407ec884f8SJames 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: 1414534a52eSLeila Ghaffari 14288626eedSJames Wright:::{list-table} 2D Face ID Labels 14388626eedSJames Wright:header-rows: 1 14488626eedSJames Wright* - PETSc Face Name 14588626eedSJames Wright - Cartesian direction 14688626eedSJames Wright - Face ID 14788626eedSJames Wright 14888626eedSJames Wright* - faceMarkerBottom 14988626eedSJames Wright - -z 15088626eedSJames Wright - 1 15188626eedSJames Wright 15288626eedSJames Wright* - faceMarkerRight 15388626eedSJames Wright - +x 15488626eedSJames Wright - 2 15588626eedSJames Wright 15688626eedSJames Wright* - faceMarkerTop 15788626eedSJames Wright - +z 15888626eedSJames Wright - 3 15988626eedSJames Wright 16088626eedSJames Wright* - faceMarkerLeft 16188626eedSJames Wright - -x 16288626eedSJames Wright - 4 16388626eedSJames Wright::: 16488626eedSJames Wright 16588626eedSJames Wright:::{list-table} 2D Face ID Labels 16688626eedSJames Wright:header-rows: 1 16788626eedSJames Wright* - PETSc Face Name 16888626eedSJames Wright - Cartesian direction 16988626eedSJames Wright - Face ID 17088626eedSJames Wright 17188626eedSJames Wright* - faceMarkerBottom 17288626eedSJames Wright - -z 17388626eedSJames Wright - 1 17488626eedSJames Wright 17588626eedSJames Wright* - faceMarkerTop 17688626eedSJames Wright - +z 17788626eedSJames Wright - 2 17888626eedSJames Wright 17988626eedSJames Wright* - faceMarkerFront 18088626eedSJames Wright - -y 18188626eedSJames Wright - 3 18288626eedSJames Wright 18388626eedSJames Wright* - faceMarkerBack 18488626eedSJames Wright - +y 18588626eedSJames Wright - 4 18688626eedSJames Wright 18788626eedSJames Wright* - faceMarkerRight 18888626eedSJames Wright - +x 18988626eedSJames Wright - 5 19088626eedSJames Wright 19188626eedSJames Wright* - faceMarkerLeft 19288626eedSJames Wright - -x 19388626eedSJames Wright - 6 19488626eedSJames Wright::: 1954534a52eSLeila Ghaffari 196019b7682STimothy Aiken### Advection 197019b7682STimothy Aiken 19817be3a41SJeremy 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$. 19917be3a41SJeremy L ThompsonThese are available in 2D and 3D. 200019b7682STimothy Aiken 201019b7682STimothy Aiken#### 2D advection 202019b7682STimothy Aiken 203bc7bbd5dSLeila GhaffariFor the 2D advection problem, the following additional command-line options are available: 204ccaff030SJeremy L Thompson 205bc7bbd5dSLeila Ghaffari:::{list-table} Advection2D Runtime Options 206bc7bbd5dSLeila Ghaffari:header-rows: 1 20789d0f5c0SLeila Ghaffari 208bc7bbd5dSLeila Ghaffari* - Option 209bc7bbd5dSLeila Ghaffari - Description 210bc7bbd5dSLeila Ghaffari - Default value 211bc7bbd5dSLeila Ghaffari - Unit 21289d0f5c0SLeila Ghaffari 213bc7bbd5dSLeila Ghaffari* - `-rc` 214bc7bbd5dSLeila Ghaffari - Characteristic radius of thermal bubble 215bc7bbd5dSLeila Ghaffari - `1000` 216bc7bbd5dSLeila Ghaffari - `m` 21789d0f5c0SLeila Ghaffari 218bc7bbd5dSLeila Ghaffari* - `-units_meter` 219bc7bbd5dSLeila Ghaffari - 1 meter in scaled length units 220bc7bbd5dSLeila Ghaffari - `1E-2` 221bc7bbd5dSLeila Ghaffari - 22289d0f5c0SLeila Ghaffari 223bc7bbd5dSLeila Ghaffari* - `-units_second` 224bc7bbd5dSLeila Ghaffari - 1 second in scaled time units 225bc7bbd5dSLeila Ghaffari - `1E-2` 226bc7bbd5dSLeila Ghaffari - 22789d0f5c0SLeila Ghaffari 228bc7bbd5dSLeila Ghaffari* - `-units_kilogram` 229bc7bbd5dSLeila Ghaffari - 1 kilogram in scaled mass units 230bc7bbd5dSLeila Ghaffari - `1E-6` 231bc7bbd5dSLeila Ghaffari - 23277841947SLeila Ghaffari 233bc7bbd5dSLeila Ghaffari* - `-strong_form` 234bc7bbd5dSLeila Ghaffari - Strong (1) or weak/integrated by parts (0) residual 235bc7bbd5dSLeila Ghaffari - `0` 236bc7bbd5dSLeila Ghaffari - 23777841947SLeila Ghaffari 238bc7bbd5dSLeila Ghaffari* - `-stab` 239bc7bbd5dSLeila Ghaffari - Stabilization method (`none`, `su`, or `supg`) 240bc7bbd5dSLeila Ghaffari - `none` 241bc7bbd5dSLeila Ghaffari - 24277841947SLeila Ghaffari 243bc7bbd5dSLeila Ghaffari* - `-CtauS` 244bc7bbd5dSLeila Ghaffari - Scale coefficient for stabilization tau (nondimensional) 245bc7bbd5dSLeila Ghaffari - `0` 246bc7bbd5dSLeila Ghaffari - 24777841947SLeila Ghaffari 248bc7bbd5dSLeila Ghaffari* - `-wind_type` 249bc7bbd5dSLeila Ghaffari - Wind type in Advection (`rotation` or `translation`) 250bc7bbd5dSLeila Ghaffari - `rotation` 251bc7bbd5dSLeila Ghaffari - 25277841947SLeila Ghaffari 253bc7bbd5dSLeila Ghaffari* - `-wind_translation` 254bc7bbd5dSLeila Ghaffari - Constant wind vector when `-wind_type translation` 255bc7bbd5dSLeila Ghaffari - `1,0,0` 256bc7bbd5dSLeila Ghaffari - 25789d0f5c0SLeila Ghaffari 258bc7bbd5dSLeila Ghaffari* - `-E_wind` 259bc7bbd5dSLeila Ghaffari - Total energy of inflow wind when `-wind_type translation` 260bc7bbd5dSLeila Ghaffari - `1E6` 261bc7bbd5dSLeila Ghaffari - `J` 262bc7bbd5dSLeila Ghaffari::: 263e43605a5SLeila Ghaffari 264bc7bbd5dSLeila GhaffariAn example of the `rotation` mode can be run with: 265e43605a5SLeila Ghaffari 266bc7bbd5dSLeila Ghaffari``` 2674534a52eSLeila 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 268bc7bbd5dSLeila Ghaffari``` 269e43605a5SLeila Ghaffari 270bc7bbd5dSLeila Ghaffariand the `translation` mode with: 271e43605a5SLeila Ghaffari 272bc7bbd5dSLeila Ghaffari``` 2734534a52eSLeila 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 274bc7bbd5dSLeila Ghaffari``` 2754534a52eSLeila GhaffariNote the lengths in `-dm_plex_box_upper` are given in meters, and will be nondimensionalized according to `-units_meter`. 276e43605a5SLeila Ghaffari 277019b7682STimothy Aiken#### 3D advection 278019b7682STimothy Aiken 279bc7bbd5dSLeila GhaffariFor the 3D advection problem, the following additional command-line options are available: 280e43605a5SLeila Ghaffari 281bc7bbd5dSLeila Ghaffari:::{list-table} Advection3D Runtime Options 282bc7bbd5dSLeila Ghaffari:header-rows: 1 283e43605a5SLeila Ghaffari 284bc7bbd5dSLeila Ghaffari* - Option 285bc7bbd5dSLeila Ghaffari - Description 286bc7bbd5dSLeila Ghaffari - Default value 287bc7bbd5dSLeila Ghaffari - Unit 288e43605a5SLeila Ghaffari 289bc7bbd5dSLeila Ghaffari* - `-rc` 290bc7bbd5dSLeila Ghaffari - Characteristic radius of thermal bubble 291bc7bbd5dSLeila Ghaffari - `1000` 292bc7bbd5dSLeila Ghaffari - `m` 293e43605a5SLeila Ghaffari 294bc7bbd5dSLeila Ghaffari* - `-units_meter` 295bc7bbd5dSLeila Ghaffari - 1 meter in scaled length units 296bc7bbd5dSLeila Ghaffari - `1E-2` 297bc7bbd5dSLeila Ghaffari - 298e43605a5SLeila Ghaffari 299bc7bbd5dSLeila Ghaffari* - `-units_second` 300bc7bbd5dSLeila Ghaffari - 1 second in scaled time units 301bc7bbd5dSLeila Ghaffari - `1E-2` 302bc7bbd5dSLeila Ghaffari - 303e43605a5SLeila Ghaffari 304bc7bbd5dSLeila Ghaffari* - `-units_kilogram` 305bc7bbd5dSLeila Ghaffari - 1 kilogram in scaled mass units 306bc7bbd5dSLeila Ghaffari - `1E-6` 307bc7bbd5dSLeila Ghaffari - 308e43605a5SLeila Ghaffari 309bc7bbd5dSLeila Ghaffari* - `-strong_form` 310bc7bbd5dSLeila Ghaffari - Strong (1) or weak/integrated by parts (0) residual 311bc7bbd5dSLeila Ghaffari - `0` 312bc7bbd5dSLeila Ghaffari - 313e43605a5SLeila Ghaffari 314bc7bbd5dSLeila Ghaffari* - `-stab` 315bc7bbd5dSLeila Ghaffari - Stabilization method (`none`, `su`, or `supg`) 316bc7bbd5dSLeila Ghaffari - `none` 317bc7bbd5dSLeila Ghaffari - 318e43605a5SLeila Ghaffari 319bc7bbd5dSLeila Ghaffari* - `-CtauS` 320bc7bbd5dSLeila Ghaffari - Scale coefficient for stabilization tau (nondimensional) 321bc7bbd5dSLeila Ghaffari - `0` 322bc7bbd5dSLeila Ghaffari - 323e43605a5SLeila Ghaffari 324bc7bbd5dSLeila Ghaffari* - `-wind_type` 325bc7bbd5dSLeila Ghaffari - Wind type in Advection (`rotation` or `translation`) 326bc7bbd5dSLeila Ghaffari - `rotation` 327bc7bbd5dSLeila Ghaffari - 328e43605a5SLeila Ghaffari 329bc7bbd5dSLeila Ghaffari* - `-wind_translation` 330bc7bbd5dSLeila Ghaffari - Constant wind vector when `-wind_type translation` 331bc7bbd5dSLeila Ghaffari - `1,0,0` 332bc7bbd5dSLeila Ghaffari - 333e43605a5SLeila Ghaffari 334bc7bbd5dSLeila Ghaffari* - `-E_wind` 335bc7bbd5dSLeila Ghaffari - Total energy of inflow wind when `-wind_type translation` 336bc7bbd5dSLeila Ghaffari - `1E6` 337bc7bbd5dSLeila Ghaffari - `J` 338e43605a5SLeila Ghaffari 339bc7bbd5dSLeila Ghaffari* - `-bubble_type` 340bc7bbd5dSLeila Ghaffari - `sphere` (3D) or `cylinder` (2D) 341bc7bbd5dSLeila Ghaffari - `shpere` 342bc7bbd5dSLeila Ghaffari - 343e43605a5SLeila Ghaffari 344bc7bbd5dSLeila Ghaffari* - `-bubble_continuity` 345bc7bbd5dSLeila Ghaffari - `smooth`, `back_sharp`, or `thick` 346bc7bbd5dSLeila Ghaffari - `smooth` 347bc7bbd5dSLeila Ghaffari - 348bc7bbd5dSLeila Ghaffari::: 349ccaff030SJeremy L Thompson 350bc7bbd5dSLeila GhaffariAn example of the `rotation` mode can be run with: 351ccaff030SJeremy L Thompson 352bc7bbd5dSLeila Ghaffari``` 3534534a52eSLeila 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 354bc7bbd5dSLeila Ghaffari``` 355ccaff030SJeremy L Thompson 356bc7bbd5dSLeila Ghaffariand the `translation` mode with: 357ccaff030SJeremy L Thompson 358bc7bbd5dSLeila Ghaffari``` 3594534a52eSLeila 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 360bc7bbd5dSLeila Ghaffari``` 361ccaff030SJeremy L Thompson 362019b7682STimothy Aiken### Inviscid Ideal Gas 363019b7682STimothy Aiken 364019b7682STimothy Aiken#### Isentropic Euler vortex 365019b7682STimothy Aiken 366bc7bbd5dSLeila GhaffariFor the Isentropic Vortex problem, the following additional command-line options are available: 367ccaff030SJeremy L Thompson 368bc7bbd5dSLeila Ghaffari:::{list-table} Isentropic Vortex Runtime Options 369bc7bbd5dSLeila Ghaffari:header-rows: 1 370ccaff030SJeremy L Thompson 371bc7bbd5dSLeila Ghaffari* - Option 372bc7bbd5dSLeila Ghaffari - Description 373bc7bbd5dSLeila Ghaffari - Default value 374bc7bbd5dSLeila Ghaffari - Unit 375ccaff030SJeremy L Thompson 376bc7bbd5dSLeila Ghaffari* - `-center` 377bc7bbd5dSLeila Ghaffari - Location of vortex center 378bc7bbd5dSLeila Ghaffari - `(lx,ly,lz)/2` 379bc7bbd5dSLeila Ghaffari - `(m,m,m)` 380ccaff030SJeremy L Thompson 381bc7bbd5dSLeila Ghaffari* - `-units_meter` 382bc7bbd5dSLeila Ghaffari - 1 meter in scaled length units 383bc7bbd5dSLeila Ghaffari - `1E-2` 384bc7bbd5dSLeila Ghaffari - 385ccaff030SJeremy L Thompson 386bc7bbd5dSLeila Ghaffari* - `-units_second` 387bc7bbd5dSLeila Ghaffari - 1 second in scaled time units 388bc7bbd5dSLeila Ghaffari - `1E-2` 389bc7bbd5dSLeila Ghaffari - 390ccaff030SJeremy L Thompson 391bc7bbd5dSLeila Ghaffari* - `-mean_velocity` 392bc7bbd5dSLeila Ghaffari - Background velocity vector 393bc7bbd5dSLeila Ghaffari - `(1,1,0)` 394bc7bbd5dSLeila Ghaffari - 395ccaff030SJeremy L Thompson 396bc7bbd5dSLeila Ghaffari* - `-vortex_strength` 397bc7bbd5dSLeila Ghaffari - Strength of vortex < 10 398bc7bbd5dSLeila Ghaffari - `5` 399bc7bbd5dSLeila Ghaffari - 400932417b3SJed Brown 401932417b3SJed Brown* - `-c_tau` 402932417b3SJed Brown - Stabilization constant 403504dc8e0SLeila Ghaffari - `0.5` 404932417b3SJed Brown - 405bc7bbd5dSLeila Ghaffari::: 406ccaff030SJeremy L Thompson 407bc7bbd5dSLeila GhaffariThis problem can be run with: 408ccaff030SJeremy L Thompson 409bc7bbd5dSLeila Ghaffari``` 4104534a52eSLeila 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. 411bc7bbd5dSLeila Ghaffari``` 412ccaff030SJeremy L Thompson 413019b7682STimothy Aiken#### Sod shock tube 414019b7682STimothy Aiken 415019b7682STimothy AikenFor the Shock Tube problem, the following additional command-line options are available: 416019b7682STimothy Aiken 417019b7682STimothy Aiken:::{list-table} Shock Tube Runtime Options 418019b7682STimothy Aiken:header-rows: 1 419019b7682STimothy Aiken 420019b7682STimothy Aiken* - Option 421019b7682STimothy Aiken - Description 422019b7682STimothy Aiken - Default value 423019b7682STimothy Aiken - Unit 424019b7682STimothy Aiken 425019b7682STimothy Aiken* - `-units_meter` 426019b7682STimothy Aiken - 1 meter in scaled length units 427019b7682STimothy Aiken - `1E-2` 428019b7682STimothy Aiken - 429019b7682STimothy Aiken 430019b7682STimothy Aiken* - `-units_second` 431019b7682STimothy Aiken - 1 second in scaled time units 432019b7682STimothy Aiken - `1E-2` 433019b7682STimothy Aiken - 434019b7682STimothy Aiken 435019b7682STimothy Aiken* - `-yzb` 436019b7682STimothy Aiken - Use YZB discontinuity capturing 437019b7682STimothy Aiken - `none` 438019b7682STimothy Aiken - 439019b7682STimothy Aiken 440019b7682STimothy Aiken* - `-stab` 441019b7682STimothy Aiken - Stabilization method (`none`, `su`, or `supg`) 442019b7682STimothy Aiken - `none` 443019b7682STimothy Aiken - 444019b7682STimothy Aiken::: 445019b7682STimothy Aiken 446019b7682STimothy AikenThis problem can be run with: 447019b7682STimothy Aiken 448019b7682STimothy Aiken``` 449019b7682STimothy 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 450019b7682STimothy Aiken``` 451019b7682STimothy Aiken 452019b7682STimothy Aiken### Newtonian viscosity, Ideal Gas 453019b7682STimothy Aiken 45488626eedSJames WrightFor the Density Current, Channel, and Blasius problems, the following common command-line options are available: 455ccaff030SJeremy L Thompson 45688626eedSJames Wright:::{list-table} Newtonian Ideal Gas problems Runtime Options 457bc7bbd5dSLeila Ghaffari:header-rows: 1 458ccaff030SJeremy L Thompson 459bc7bbd5dSLeila Ghaffari* - Option 460bc7bbd5dSLeila Ghaffari - Description 461bc7bbd5dSLeila Ghaffari - Default value 462bc7bbd5dSLeila Ghaffari - Unit 463ccaff030SJeremy L Thompson 464bc7bbd5dSLeila Ghaffari* - `-units_meter` 465bc7bbd5dSLeila Ghaffari - 1 meter in scaled length units 46688626eedSJames Wright - `1` 467bc7bbd5dSLeila Ghaffari - 468ccaff030SJeremy L Thompson 469bc7bbd5dSLeila Ghaffari* - `-units_second` 470bc7bbd5dSLeila Ghaffari - 1 second in scaled time units 47188626eedSJames Wright - `1` 472bc7bbd5dSLeila Ghaffari - 473ccaff030SJeremy L Thompson 474bc7bbd5dSLeila Ghaffari* - `-units_kilogram` 475bc7bbd5dSLeila Ghaffari - 1 kilogram in scaled mass units 47688626eedSJames Wright - `1` 477bc7bbd5dSLeila Ghaffari - 478ccaff030SJeremy L Thompson 479bc7bbd5dSLeila Ghaffari* - `-units_Kelvin` 480bc7bbd5dSLeila Ghaffari - 1 Kelvin in scaled temperature units 481bc7bbd5dSLeila Ghaffari - `1` 482bc7bbd5dSLeila Ghaffari - 483ccaff030SJeremy L Thompson 484bc7bbd5dSLeila Ghaffari* - `-stab` 485bc7bbd5dSLeila Ghaffari - Stabilization method (`none`, `su`, or `supg`) 486bc7bbd5dSLeila Ghaffari - `none` 487bc7bbd5dSLeila Ghaffari - 488ccaff030SJeremy L Thompson 489932417b3SJed Brown* - `-c_tau` 49088626eedSJames Wright - Stabilization constant, $c_\tau$ 491504dc8e0SLeila Ghaffari - `0.5` 492932417b3SJed Brown - 493932417b3SJed Brown 49488626eedSJames Wright* - `-Ctau_t` 49588626eedSJames Wright - Stabilization time constant, $C_t$ 49688626eedSJames Wright - `1.0` 49788626eedSJames Wright - 498ccaff030SJeremy L Thompson 49988626eedSJames Wright* - `-Ctau_v` 50088626eedSJames Wright - Stabilization viscous constant, $C_v$ 50194c01735SLeila Ghaffari - `36, 60, 128 for degree = 1, 2, 3` 50288626eedSJames Wright - 503ccaff030SJeremy L Thompson 50488626eedSJames Wright* - `-Ctau_C` 50588626eedSJames Wright - Stabilization continuity constant, $C_c$ 50688626eedSJames Wright - `1.0` 50788626eedSJames Wright - 508ccaff030SJeremy L Thompson 50988626eedSJames Wright* - `-Ctau_M` 51088626eedSJames Wright - Stabilization momentum constant, $C_m$ 51188626eedSJames Wright - `1.0` 51288626eedSJames Wright - 51388626eedSJames Wright 51488626eedSJames Wright* - `-Ctau_E` 51588626eedSJames Wright - Stabilization energy constant, $C_E$ 51688626eedSJames Wright - `1.0` 51788626eedSJames Wright - 518ccaff030SJeremy L Thompson 519bc7bbd5dSLeila Ghaffari* - `-cv` 520bc7bbd5dSLeila Ghaffari - Heat capacity at constant volume 521bc7bbd5dSLeila Ghaffari - `717` 522bc7bbd5dSLeila Ghaffari - `J/(kg K)` 523ccaff030SJeremy L Thompson 524bc7bbd5dSLeila Ghaffari* - `-cp` 525bc7bbd5dSLeila Ghaffari - Heat capacity at constant pressure 526bc7bbd5dSLeila Ghaffari - `1004` 527bc7bbd5dSLeila Ghaffari - `J/(kg K)` 528ccaff030SJeremy L Thompson 529bc7bbd5dSLeila Ghaffari* - `-g` 530bc7bbd5dSLeila Ghaffari - Gravitational acceleration 531bc7bbd5dSLeila Ghaffari - `9.81` 532bc7bbd5dSLeila Ghaffari - `m/s^2` 533ccaff030SJeremy L Thompson 534bc7bbd5dSLeila Ghaffari* - `-lambda` 535bc7bbd5dSLeila Ghaffari - Stokes hypothesis second viscosity coefficient 536bc7bbd5dSLeila Ghaffari - `-2/3` 537bc7bbd5dSLeila Ghaffari - 538ccaff030SJeremy L Thompson 539bc7bbd5dSLeila Ghaffari* - `-mu` 540bc7bbd5dSLeila Ghaffari - Shear dynamic viscosity coefficient 541bc7bbd5dSLeila Ghaffari - `75` 542bc7bbd5dSLeila Ghaffari - `Pa s` 54377841947SLeila Ghaffari 544bc7bbd5dSLeila Ghaffari* - `-k` 545bc7bbd5dSLeila Ghaffari - Thermal conductivity 546bc7bbd5dSLeila Ghaffari - `0.02638` 547bc7bbd5dSLeila Ghaffari - `W/(m K)` 548a1df05f8SJed Brown 549a1df05f8SJed Brown* - `-newtonian_unit_tests` 550a1df05f8SJed Brown - Developer option to test properties 551a1df05f8SJed Brown - `false` 552a1df05f8SJed Brown - boolean 553de2fdd78SJames Wright 5545c0afad3SJames Wright* - `-state_var` 5555c0afad3SJames Wright - State variables to solve solution with. `conservative` ($\rho, \rho \bm{u}, \rho e$) or `primitive` ($P, \bm{u}, T$) 5565c0afad3SJames Wright - `conservative` 5575c0afad3SJames Wright - string 558bc7bbd5dSLeila Ghaffari::: 55977841947SLeila Ghaffari 5607ec884f8SJames Wright#### Newtonian Wave 5617ec884f8SJames Wright 562061ff11eSJames WrightThe newtonian wave problem has the following command-line options in addition to the Newtonian Ideal Gas options: 5637ec884f8SJames Wright 56489e3cb53SJames Wright:::{list-table} Newtonian Wave Runtime Options 5657ec884f8SJames Wright:header-rows: 1 5667ec884f8SJames Wright 5677ec884f8SJames Wright* - Option 5687ec884f8SJames Wright - Description 5697ec884f8SJames Wright - Default value 5707ec884f8SJames Wright - Unit 5717ec884f8SJames Wright 572f1e435c9SJed Brown* - `-freestream_riemann` 573f1e435c9SJed Brown - Riemann solver for boundaries (HLL or HLLC) 574f1e435c9SJed Brown - `hllc` 575f1e435c9SJed Brown - 576f1e435c9SJed Brown 577f1e435c9SJed Brown* - `-freestream_velocity` 5787ec884f8SJames Wright - Freestream velocity vector 5797ec884f8SJames Wright - `0,0,0` 5807ec884f8SJames Wright - `m/s` 5817ec884f8SJames Wright 582f1e435c9SJed Brown* - `-freestream_temperature` 5837ec884f8SJames Wright - Freestream temperature 5847ec884f8SJames Wright - `288` 5857ec884f8SJames Wright - `K` 5867ec884f8SJames Wright 587f1e435c9SJed Brown* - `-freestream_pressure` 58889e3cb53SJames Wright - Freestream pressure 5897ec884f8SJames Wright - `1.01e5` 5907ec884f8SJames Wright - `Pa` 5917ec884f8SJames Wright 5927ec884f8SJames Wright* - `-epicenter` 5937ec884f8SJames Wright - Coordinates of center of perturbation 5947ec884f8SJames Wright - `0,0,0` 5957ec884f8SJames Wright - `m` 5967ec884f8SJames Wright 5977ec884f8SJames Wright* - `-amplitude` 5987ec884f8SJames Wright - Amplitude of the perturbation 5997ec884f8SJames Wright - `0.1` 6007ec884f8SJames Wright - 6017ec884f8SJames Wright 6027ec884f8SJames Wright* - `-width` 6037ec884f8SJames Wright - Width parameter of the perturbation 6047ec884f8SJames Wright - `0.002` 6057ec884f8SJames Wright - `m` 6067ec884f8SJames Wright 6077ec884f8SJames Wright::: 6087ec884f8SJames Wright 6097ec884f8SJames WrightThis problem can be run with the `newtonianwave.yaml` file via: 6107ec884f8SJames Wright 6117ec884f8SJames Wright``` 6127ec884f8SJames Wright./navierstokes -options_file newtonianwave.yaml 6137ec884f8SJames Wright``` 6147ec884f8SJames Wright 6157ec884f8SJames Wright```{literalinclude} ../../../../../examples/fluids/newtonianwave.yaml 6167ec884f8SJames Wright:language: yaml 6177ec884f8SJames Wright``` 618a1df05f8SJed Brown 619019b7682STimothy Aiken#### Density current 620019b7682STimothy Aiken 621061ff11eSJames WrightThe Density Current problem has the following command-line options in addition to the Newtonian Ideal Gas options: 62288626eedSJames Wright 62388626eedSJames Wright:::{list-table} Density Current Runtime Options 62488626eedSJames Wright:header-rows: 1 62588626eedSJames Wright 62688626eedSJames Wright* - Option 62788626eedSJames Wright - Description 62888626eedSJames Wright - Default value 62988626eedSJames Wright - Unit 63088626eedSJames Wright 63188626eedSJames Wright* - `-center` 63288626eedSJames Wright - Location of bubble center 63388626eedSJames Wright - `(lx,ly,lz)/2` 63488626eedSJames Wright - `(m,m,m)` 63588626eedSJames Wright 63688626eedSJames Wright* - `-dc_axis` 63788626eedSJames Wright - Axis of density current cylindrical anomaly, or `(0,0,0)` for spherically symmetric 63888626eedSJames Wright - `(0,0,0)` 63988626eedSJames Wright - 64088626eedSJames Wright 64188626eedSJames Wright* - `-rc` 64288626eedSJames Wright - Characteristic radius of thermal bubble 64388626eedSJames Wright - `1000` 64488626eedSJames Wright - `m` 64588626eedSJames Wright 64688626eedSJames Wright* - `-theta0` 64788626eedSJames Wright - Reference potential temperature 64888626eedSJames Wright - `300` 64988626eedSJames Wright - `K` 65088626eedSJames Wright 65188626eedSJames Wright* - `-thetaC` 65288626eedSJames Wright - Perturbation of potential temperature 65388626eedSJames Wright - `-15` 65488626eedSJames Wright - `K` 65588626eedSJames Wright 65688626eedSJames Wright* - `-P0` 65788626eedSJames Wright - Atmospheric pressure 65888626eedSJames Wright - `1E5` 65988626eedSJames Wright - `Pa` 66088626eedSJames Wright 66188626eedSJames Wright* - `-N` 66288626eedSJames Wright - Brunt-Vaisala frequency 66388626eedSJames Wright - `0.01` 66488626eedSJames Wright - `1/s` 66588626eedSJames Wright::: 66688626eedSJames Wright 667bc7bbd5dSLeila GhaffariThis problem can be run with: 668ccaff030SJeremy L Thompson 669bc7bbd5dSLeila Ghaffari``` 67088626eedSJames 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 67188626eedSJames Wright``` 67288626eedSJames Wright 673019b7682STimothy Aiken#### Channel flow 674019b7682STimothy Aiken 675061ff11eSJames WrightThe Channel problem has the following command-line options in addition to the Newtonian Ideal Gas options: 67688626eedSJames Wright 67788626eedSJames Wright:::{list-table} Channel Runtime Options 67888626eedSJames Wright:header-rows: 1 67988626eedSJames Wright 68088626eedSJames Wright* - Option 68188626eedSJames Wright - Description 68288626eedSJames Wright - Default value 68388626eedSJames Wright - Unit 68488626eedSJames Wright 68588626eedSJames Wright* - `-umax` 68688626eedSJames Wright - Maximum/centerline velocity of the flow 68788626eedSJames Wright - `10` 68888626eedSJames Wright - `m/s` 68988626eedSJames Wright 69088626eedSJames Wright* - `-theta0` 69188626eedSJames Wright - Reference potential temperature 69288626eedSJames Wright - `300` 69388626eedSJames Wright - `K` 69488626eedSJames Wright 69588626eedSJames Wright* - `-P0` 69688626eedSJames Wright - Atmospheric pressure 69788626eedSJames Wright - `1E5` 69888626eedSJames Wright - `Pa` 699a1df05f8SJed Brown 700a1df05f8SJed Brown* - `-body_force_scale` 701a1df05f8SJed Brown - Multiplier for body force (`-1` for flow reversal) 702a1df05f8SJed Brown - 1 703a1df05f8SJed Brown - 70488626eedSJames Wright::: 70588626eedSJames Wright 70688626eedSJames WrightThis problem can be run with the `channel.yaml` file via: 70788626eedSJames Wright 70888626eedSJames Wright``` 70988626eedSJames Wright./navierstokes -options_file channel.yaml 71088626eedSJames Wright``` 71188626eedSJames Wright```{literalinclude} ../../../../../examples/fluids/channel.yaml 71288626eedSJames Wright:language: yaml 71388626eedSJames Wright``` 71488626eedSJames Wright 715019b7682STimothy Aiken#### Blasius boundary layer 716019b7682STimothy Aiken 717061ff11eSJames WrightThe Blasius problem has the following command-line options in addition to the Newtonian Ideal Gas options: 71888626eedSJames Wright 71988626eedSJames Wright:::{list-table} Blasius Runtime Options 72088626eedSJames Wright:header-rows: 1 72188626eedSJames Wright 72288626eedSJames Wright* - Option 72388626eedSJames Wright - Description 72488626eedSJames Wright - Default value 72588626eedSJames Wright - Unit 72688626eedSJames Wright 727fb455ff0SLeila Ghaffari* - `-velocity_infinity` 72888626eedSJames Wright - Freestream velocity 72988626eedSJames Wright - `40` 73088626eedSJames Wright - `m/s` 73188626eedSJames Wright 732fb455ff0SLeila Ghaffari* - `-temperature_infinity` 733fb455ff0SLeila Ghaffari - Freestream temperature 73488626eedSJames Wright - `288` 73588626eedSJames Wright - `K` 73688626eedSJames Wright 737fb455ff0SLeila Ghaffari* - `-temperature_wall` 738fb455ff0SLeila Ghaffari - Wall temperature 73907d14e58SLeila Ghaffari - `288` 740fb455ff0SLeila Ghaffari - `K` 741fb455ff0SLeila Ghaffari 742fb455ff0SLeila Ghaffari* - `-delta0` 743fb455ff0SLeila Ghaffari - Boundary layer height at the inflow 744fb455ff0SLeila Ghaffari - `4.2e-3` 745fb455ff0SLeila Ghaffari - `m` 746fb455ff0SLeila Ghaffari 74788626eedSJames Wright* - `-P0` 74888626eedSJames Wright - Atmospheric pressure 74988626eedSJames Wright - `1.01E5` 75088626eedSJames Wright - `Pa` 75188626eedSJames Wright 75291eaef80SJames Wright* - `-platemesh_refine_height` 75391eaef80SJames Wright - Height at which `-platemesh_Ndelta` number of elements should refined into 75488626eedSJames Wright - `5.9E-4` 75588626eedSJames Wright - `m` 75688626eedSJames Wright 75791eaef80SJames Wright* - `-platemesh_Ndelta` 75891eaef80SJames Wright - Number of elements to keep below `-platemesh_refine_height` 75988626eedSJames Wright - `45` 76088626eedSJames Wright - 76188626eedSJames Wright 76291eaef80SJames Wright* - `-platemesh_growth` 76388626eedSJames Wright - Growth rate of the elements in the refinement region 76488626eedSJames Wright - `1.08` 76588626eedSJames Wright - 76688626eedSJames Wright 76791eaef80SJames Wright* - `-platemesh_top_angle` 76888626eedSJames Wright - Downward angle of the top face of the domain. This face serves as an outlet. 76988626eedSJames Wright - `5` 77088626eedSJames Wright - `degrees` 771ba6664aeSJames Wright 772ba6664aeSJames Wright* - `-stg_use` 773ba6664aeSJames Wright - Whether to use stg for the inflow conditions 774ba6664aeSJames Wright - `false` 775ba6664aeSJames Wright - 77691eaef80SJames Wright 77791eaef80SJames Wright* - `-platemesh_y_node_locs_path` 77891eaef80SJames Wright - Path to file with y node locations. If empty, will use mesh warping instead. 77991eaef80SJames Wright - `""` 78091eaef80SJames Wright - 781fb455ff0SLeila Ghaffari 78207d14e58SLeila Ghaffari* - `-n_chebyshev` 783fb455ff0SLeila Ghaffari - Number of Chebyshev terms 784fb455ff0SLeila Ghaffari - `20` 785fb455ff0SLeila Ghaffari - 786fb455ff0SLeila Ghaffari 78707d14e58SLeila Ghaffari* - `-chebyshev_` 78807d14e58SLeila Ghaffari - Prefix for Chebyshev snes solve 78907d14e58SLeila Ghaffari - 79007d14e58SLeila Ghaffari - 79107d14e58SLeila Ghaffari 79288626eedSJames Wright::: 79388626eedSJames Wright 79488626eedSJames WrightThis problem can be run with the `blasius.yaml` file via: 79588626eedSJames Wright 79688626eedSJames Wright``` 79788626eedSJames Wright./navierstokes -options_file blasius.yaml 79888626eedSJames Wright``` 79988626eedSJames Wright 80088626eedSJames Wright```{literalinclude} ../../../../../examples/fluids/blasius.yaml 80188626eedSJames Wright:language: yaml 802bc7bbd5dSLeila Ghaffari``` 803ba6664aeSJames Wright 804ba6664aeSJames Wright#### STG Inflow for Flat Plate 805ba6664aeSJames Wright 80617be3a41SJeremy L ThompsonUsing the STG Inflow for the blasius problem adds the following command-line options: 807ba6664aeSJames Wright 808ba6664aeSJames Wright:::{list-table} Blasius Runtime Options 809ba6664aeSJames Wright:header-rows: 1 810ba6664aeSJames Wright 811ba6664aeSJames Wright* - Option 812ba6664aeSJames Wright - Description 813ba6664aeSJames Wright - Default value 814ba6664aeSJames Wright - Unit 815ba6664aeSJames Wright 816ba6664aeSJames Wright* - `-stg_inflow_path` 817ba6664aeSJames Wright - Path to the STGInflow file 818ba6664aeSJames Wright - `./STGInflow.dat` 819ba6664aeSJames Wright - 820ba6664aeSJames Wright 821ba6664aeSJames Wright* - `-stg_rand_path` 822ba6664aeSJames Wright - Path to the STGRand file 823ba6664aeSJames Wright - `./STGRand.dat` 824ba6664aeSJames Wright - 825ba6664aeSJames Wright 826ba6664aeSJames Wright* - `-stg_alpha` 827ba6664aeSJames Wright - Growth rate of the wavemodes 828ba6664aeSJames Wright - `1.01` 829ba6664aeSJames Wright - 830ba6664aeSJames Wright 831ba6664aeSJames Wright* - `-stg_u0` 832ba6664aeSJames Wright - Convective velocity, $U_0$ 833ba6664aeSJames Wright - `0.0` 834ba6664aeSJames Wright - `m/s` 835ba6664aeSJames Wright 836ba6664aeSJames Wright* - `-stg_mean_only` 837ba6664aeSJames Wright - Only impose the mean velocity (no fluctutations) 838ba6664aeSJames Wright - `false` 839ba6664aeSJames Wright - 840ba6664aeSJames Wright 84130af3636SJames Wright* - `-stg_strong` 84230af3636SJames Wright - Strongly enforce the STG inflow boundary condition 84330af3636SJames Wright - `false` 84430af3636SJames Wright - 84530af3636SJames Wright 84689060322SJames Wright* - `-stg_fluctuating_IC` 84789060322SJames Wright - "Extrude" the fluctuations through the domain as an initial condition 84889060322SJames Wright - `false` 84989060322SJames Wright - 85089060322SJames Wright 851ba6664aeSJames Wright::: 852ba6664aeSJames Wright 853ba6664aeSJames WrightThis problem can be run with the `blasius.yaml` file via: 854ba6664aeSJames Wright 855ba6664aeSJames Wright``` 856ba6664aeSJames Wright./navierstokes -options_file blasius.yaml -stg_use true 857ba6664aeSJames Wright``` 858ba6664aeSJames Wright 85917be3a41SJeremy L ThompsonNote the added `-stg_use true` flag 86017be3a41SJeremy L ThompsonThis overrides the `stg: use: false` setting in the `blasius.yaml` file, enabling the use of the STG inflow. 861