Boundary conditions for Navier-Stokes model
Boundary conditions available for the Navier-Stokes model are described below. Their usage in the Data sublist is illustrated through representative examples.
Note
Time ramping is available for some of the boundary condition listed below, and require both an initial value and a final value. The initial value is labeled with the suffix _init while the final value corresponds to the field name itself. Ramping occurs between an initial time and a final time referred to as Time Initial and Time Final in the input file, respectively. Prior to Time Initial, the boundary value is set to the initial value. Passed Time Final, the value is set to the final value. Time ramping is implemented with the following expression as a function of time \(t\) for all integration points on a boundary:
No-Slip boundary
- Type
- Type:
string
- Value:
No-Slip
- Usage:
Required
- Description:
Wall boundary condition that sets the velocity to zero. The boundary condition for the temperature equation is either isothermal, heat flux, or adiabatic.
- Temperature Profile
- Type:
string
- Value:
Isothermal, Flux or Adiabatic
- Usage:
Optional
- Default:
Isothermal
- Description:
Boundary condition employed for the temperature equation.
- Wall Temperature
- Type:
double
- Value:
\((0,\infty]\)
- Usage:
Required when solving for temperature equation and setting Temperature Profile to Isothermal.
- Description:
Value of the temperature in Kelvin \((K)\) to set at the wall boundary.
- Wall Flux
- Type:
double
- Value:
\((0,\infty]\)
- Usage:
Required when solving for temperature equation and setting Temperature Profile to Flux.
- Description:
Value of the heat flux in \((W/m^2)\) to set at the wall boundary.
- Lagrange Pressure
- Type:
double
- Value:
\([-\infty,\infty]\)
- Usage:
Optional.
- Description:
Value of pressure in \((Pa)\) at the wall. When not specified, the wall pressure is free to vary at the wall.
1 <ParameterList>
2 <Parameter name="Sideset ID" type="string" value="bottom"/>
3 <Parameter name="Element Block ID" type="string" value="block-1"/>
4 <Parameter name="Strategy" type="string" value="IncompressibleBoundaryFlux"/>
5 <ParameterList name="Data">
6 <Parameter name="Type" type="string" value="No-Slip"/>
7 <Parameter name="Wall Temperature" type="double" value="250.0"/>
8 </ParameterList> <!-- Data -->
9 </ParameterList> <!-- -->
10 <ParameterList>
11 <Parameter name="Sideset ID" type="string" value="wall"/>
12 <Parameter name="Element Block ID" type="string" value="block-1"/>
13 <Parameter name="Strategy" type="string" value="IncompressibleBoundaryFlux"/>
14 <ParameterList name="Data">
15 <Parameter name="Type" type="string" value="No-Slip"/>
16 <Parameter name="Temperature Profile" type="string" value="Adiabatic"/>
17 </ParameterList> <!-- Data -->
18 </ParameterList> <!-- -->
Dirichlet boundary
- Type
- Type:
string
- Value:
Dirichlet
- Usage:
Required
- Description:
Dirichlet boundary condition for velocity, and temperature when enabled.
- Time Initial
- Type:
double
- Value:
\([0,\infty]\)
- Usage:
Optional
- Description:
Time in second \((s)\) to start the linear ramping of boundary values from.
- Time Final
- Type:
double
- Value:
\([0,\infty]\)
- Usage:
Optional
- Description:
Time in second \((s)\) to stop the linear ramping of boundary values.
- temperature
- Type:
double
- Value:
\((0,\infty]\)
- Usage:
Required when solving for temperature equation.
- Description:
Final value of the temperature in Kelvin \((K)\) to set at the boundary.
- temperature_init
- Type:
double
- Value:
\((0,\infty]\)
- Usage:
Required when solving for temperature equation.
- Description:
Initial value of the temperature in Kelvin \((K)\) to set at the boundary.
- velocity_0
- Type:
double
- Value:
\([0,\infty]\)
- Usage:
Required.
- Description:
Final value of the x-velocity in \((m/s)\) to set at the boundary.
- velocity_0_init
- Type:
double
- Value:
\([0,\infty]\)
- Usage:
Optional.
- Description:
Initial value of the x-velocity in \((m/s)\) to set at the boundary.
- velocity_1
- Type:
double
- Value:
\([0,\infty]\)
- Usage:
Required.
- Description:
Final value of the y-velocity in \((m/s)\) to set at the boundary.
- velocity_1_init
- Type:
double
- Value:
\([0,\infty]\)
- Usage:
Optional.
- Description:
Initial value of the y-velocity in \((m/s)\) to set at the boundary.
- velocity_2
- Type:
double
- Value:
\([0,\infty]\)
- Usage:
Required if solving flulid equations in a 3-D computational domain.
- Description:
Constant value of the z-velocity in \((m/s)\) to set at the boundary.
- velocity_2_init
- Type:
double
- Value:
\([0,\infty]\)
- Usage:
Optional.
- Description:
Initial value of the z-velocity in \((m/s)\) to set at the boundary.
1 <ParameterList name="Data">
2 <Parameter name="Type" type="string" value="Dirichlet"/>
3 <Parameter name="velocity_0" type="double" value="2.0"/>
4 <Parameter name="velocity_1" type="double" value="0.0"/>
5 <Parameter name="temperature" type="double" value="0.0"/>
6 </ParameterList> <!-- Data -->
Pressure outflow boundary
- Type
- Type:
string
- Value:
Pressure Outflow
- Usage:
Required
- Description:
Sets a back pressure at an outflow boundary. Temperature is advected out of the domain when temperature equation is enabled.
- Back Pressure
- Type:
double
- Value:
\([-\infty,\infty]\)
- Usage:
Required
- Description:
Back pressure value in \((Pa)\) to set at the outflow boundary.
1 <ParameterList>
2 <Parameter name="Sideset ID" type="string" value="outflow"/>
3 <Parameter name="Element Block ID" type="string" value="block_1"/>
4 <Parameter name="Strategy" type="string" value="IncompressibleBoundaryFlux"/>
5 <ParameterList name="Data">
6 <Parameter name="Type" type="string" value="Pressure Outflow"/>
7 <Parameter name="Back Pressure" type="double" value="0.0"/>
8 </ParameterList> <!-- Data -->
9 </ParameterList> <!-- -->
Free slip boundary
- Type
- Type:
string
- Value:
Free Slip
- Usage:
Required
- Description:
Free slip condition that lets the tangential component of the velocity be non-zero such as \(\vec{u}\cdot\vec{n}=0\).
1 <ParameterList>
2 <Parameter name="Sideset ID" type="string" value="top"/>
3 <Parameter name="Element Block ID" type="string" value="block_1"/>
4 <Parameter name="Strategy" type="string" value="IncompressibleBoundaryFlux"/>
5 <ParameterList name="Data">
6 <Parameter name="Type" type="string" value="Free Slip"/>
7 </ParameterList> <!-- Data -->
8 </ParameterList> <!-- -->
Symmetry boundary
- Type
- Type:
string
- Value:
Symmetry
- Usage:
Required
- Description:
Impose a symmetry condition on the velocity \(\nabla_n \vec{u} = 0\) and the temperature \(\nabla_n T = 0\) when enabled.
1 <ParameterList name="Data">
2 <ParameterList name="Navier-Stokes">
3 <Parameter name="Type" type="string" value="Symmetry"/>
4 </ParameterList> <!-- Navier-Stokes -->
5 <ParameterList name="Turbulence Model">
6 <Parameter name="Type" type="string" value="Symmetry"/>
7 </ParameterList> <!-- Turbulence Model -->
8 </ParameterList> <!-- Data -->
Extrapolate boundary
- Type
- Type:
string
- Value:
Extrapolate
- Usage:
Required
- Description:
Set the boundary temperature, velocity, pressure and their gradients to the interior values.
Rotating wall boundary
- Type
- Type:
string
- Value:
Rotating Wall
- Usage:
Required
- Description:
Set a rotating wall boundary with a constant angular velocity around the z-axis and a constant wall temperature when solving for heat transfer.
- Angular Velocity
- Type:
double
- Value:
\([-\infty,\infty]\)
- Usage:
Required
- Description:
Final Angular velocity \(\Omega (Hz)\) the wall is rotating with.
- Angular Velocity Initial
- Type:
double
- Value:
\([-\infty,\infty]\)
- Usage:
Required
- Description:
Initial angular velocity \(\Omega_{init} (Hz)\) the wall is rotating with.
- Wall Temperature
- Type:
double
- Value:
\((0,\infty]\)
- Usage:
Required
- Description:
Temperature value in Kelvin \((K)\) to set at the rotating wall.
- Time Initial
- Type:
double
- Value:
\([0,\infty]\)
- Usage:
Optional
- Description:
Time in second \((s)\) to start the linear ramping of boundary values from.
- Time Final
- Type:
double
- Value:
\([0,\infty]\)
- Usage:
Optional
- Description:
Time in second \((s)\) to stop the linear ramping of boundary values.
1 </ParameterList> <!-- -->
2 <ParameterList>
3 <Parameter name="DOFs" type="string" value="temperature"/>
4 </ParameterList> <!-- -->
5 </ParameterList> <!-- DOF Blocking -->
6 </ParameterList> <!-- User Data -->
7
8 <ParameterList name="Boundary Conditions">
9 <ParameterList>
10 <Parameter name="Sideset ID" type="string" value="outer"/>
Laminar flow boundary
- Type
- Type:
string
- Value:
Laminar Flow
- Usage:
Required
- Description:
Set a parabolic/laminar profile for the velocity at an inflow boundary. An uniform temperature condition is assumed when heat transfer is enabled.
- Characteristic Radius
- Type:
double
- Value:
\((0,\infty]\)
- Usage:
Required
- Description:
Characteristic radius in \((m)\) which is the half heigh of a 2-D channel or the radius of a pipe.
- Average Velocity
- Type:
double
- Value:
\((0,\infty]\)
- Usage:
Required
- Description:
Average velocity to apply at the inflow boundary in \((m/s)\). The maximum velocity is computed from average velocity.
- Origin Coordinates
- Type:
Array(double)
- Value:
\([-\infty,\infty]\) for each component.
- Usage:
Optional
- Default:
The default is the origin of the Cartesian coordinate system.
- Description:
Coordinates of the center of the inflow boundary (line in a 2-D channel, and center of a face in a pipe) which corresponds to the location of the maximum velocity of the parabolic profile.
- Temperature
- Type:
double
- Value:
\((0,\infty]\)
- Usage:
Required when solving for heat transfer.
- Description:
Temperature value in Kelvin \((K)\) to set at inflow boundary.
1 <ParameterList>
2 <Parameter name="Sideset ID" type="string" value="left"/>
3 <Parameter name="Element Block ID" type="string" value="eblock-0_0"/>
4 <Parameter name="Strategy" type="string" value="IncompressibleBoundaryFlux"/>
5 <ParameterList name="Data">
6 <Parameter name="Type" type="string" value="Laminar Flow"/>
7 <Parameter name="Average velocity" type="double" value="0.05"/>
8 <Parameter name="Characteristic Radius" type="double" value="0.5"/>
9 <Parameter name="Origin Coordinates" type="Array(double)" value="{0.0, 0.0}"/>
10 <Parameter name="Temperature" type="double" value="300.0"/>
11 <ParameterList name="Penalty Parameters">
12 <Parameter name="temperature" type="double" value="100.0"/>
13 </ParameterList> <!-- Penalty Parameters -->
14 </ParameterList> <!-- Data -->
15 </ParameterList> <!-- -->
Lid-driven cavity boundary
- Type
- Type:
string
- Value:
Cavity Lid
- Usage:
Required
- Description:
Lid-driven cavity boundary condition with uniform temperature (when enabled) and a power-law velocity profile for an i-component of the velocity \(u_i = u_{wall}(1.0 - (x_i/h)^{18})^2\). The other components of the velocity are set to 0.0. This boundary condition is well posed (zero velocity) on sides and corners of the moving wall. The moving wall (line or face) must be aligned with the Cartesian directions and of squared shape.
- Wall Normal Direction
- Type:
int
- Value:
0 for x-direction, 1 for y-direciton, and 2 for z-direction..
- Usage:
Required
- Description:
Non-zero component of the outer normal vector to the moving wall.
- Velocity Direction
- Type:
int
- Value:
0 for x-direction, 1 for y-direciton, and 2 for z-direction..
- Usage:
Required
- Description:
Non-zero velocity component \(u_i\) to use on the moving wall.
- Half width
- Type:
double
- Value:
\((0;\infty]\)
- Usage:
Required
- Descrition:
Half-width \(h\) of the moving wall. The moving wall is assumed a square in 3-D.
- Wall Velocity
- Type:
double
- Value:
\([0;\infty]\)
- Usage:
Required
- Description:
Maximum wall velocity \(u_{wall}\).
1 <ParameterList>
2 <Parameter name="Sideset ID" type="string" value="top"/>
3 <Parameter name="Element Block ID" type="string" value="eblock-0_0_0"/>
4 <Parameter name="Strategy" type="string" value="IncompressibleBoundaryFlux"/>
5 <ParameterList name="Data">
6 <ParameterList name="Navier-Stokes">
7 <Parameter name="Type" type="string" value="Cavity Lid"/>
8 <Parameter name="Wall Normal Direction" type="int" value="1"/>
9 <Parameter name="Velocity Direction" type="int" value="0"/>
10 <Parameter name="Wall Velocity" type="double" value="1.0"/>
11 <Parameter name="Half Width" type="double" value="0.5"/>
12 </ParameterList> <!-- Navier-Stokes -->
13 </ParameterList> <!-- Data -->
14 </ParameterList> <!-- -->
Velocity wall function boundary
- Type
- Type:
string
- Value:
Velocity Wall Function
- Usage:
Required
- Description:
Assign a non-penetration condition for the velocity \(\nabla_n \vec{u} = 0\) to be used with wall function when enabling turbulence modeling. The temperature boundary condition is \(\nabla_n T = 0\) when solving for heat transfer.
1 <ParameterList>
2 <Parameter name="Sideset ID" type="string" value="bottom"/>
3 <Parameter name="Element Block ID" type="string" value="eblock-0_0"/>
4 <Parameter name="Strategy" type="string" value="IncompressibleBoundaryFlux"/>
5 <ParameterList name="Data">
6 <ParameterList name="Navier-Stokes">
7 <Parameter name="Type" type="string" value="Velocity Wall Function"/>
8 </ParameterList> <!-- Navier-Stokes -->
9 <ParameterList name="Turbulence Model">
10 <Parameter name="Type" type="string" value="K-Epsilon Wall Function"/>
11 <Parameter name="Epsilon Condition Type" type="string" value="Neumann"/>
12 </ParameterList> <!-- Turbulence Model -->
13 <ParameterList name="Penalty Parameters">
14 <Parameter name="velocity_0" type="double" value="100.0"/>
15 <Parameter name="velocity_1" type="double" value="100.0"/>
16 </ParameterList> <!-- Penalty Parameters -->
17 </ParameterList> <!-- Data -->
18 </ParameterList> <!-- -->
Fluid/Solid interface
- Fluid/Solid Interface
- Type:
bool
- Value:
true or false
- Usage:
Required if the boundary is an internal interface between a solid domain and a fluid domain.
- Description:
When solving for an fluid/solid interface, the above boolean should be included in the Data block and set to true along with the above boundary types. It will then only applies boundary conditions to the fluid equations (velocity and pressure). Boundary conditions for variables defined on solid domain and fluid domain are ignored.
1 <ParameterList>
2 <Parameter name="Sideset ID" type="string" value="interface_1"/>
3 <Parameter name="Element Block ID" type="string" value="fluid_1"/>
4 <Parameter name="Strategy" type="string" value="IncompressibleBoundaryFlux"/>
5 <ParameterList name="Data">
6 <Parameter name="Fluid/Solid Interface" type="bool" value="true"/>
7 <Parameter name="Type" type="string" value="No-Slip"/>
8 </ParameterList> <!-- Data -->
9 </ParameterList> <!-- -->