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:

(3)\[\begin{split}&\text{if} \ t < t_{init} \ \text{then} \ U_{bc} = U_{init} \\ &\text{if} \ t_{init} < t < t_{final} \ \text{then} \ U_{bc} = a \ t + b \ \text{where} \ a = \frac{U_{final} - U_{init}}{t_{final} - t_{init}} \ \text{and} \ b = U_{init} - a \ t_{init} \\ &\text{if} \ t > t_{final} \ \text{then} \ U_{bc} = U_{final}\end{split}\]
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> <!-- -->