FEATool Multiphysics
v1.11 Finite Element Analysis Toolbox |

Turbulent Channel Flow

Simulation of stationary and incompressible turbulent flow between two parallel flat plates at Reynolds number *42800*. A fully developed turbulent velocity profile is formed at the outflow boundary which can be compared to experimental results (Laufer, J. 1950).

This example uses both the built-in algebraic mixing length turbulence model, as well as shows how to implement custom user-defined modeling expressions.

This model is available as an automated tutorial by selecting **Model Examples and Tutorials...** > **Fluid Dynamics** > **Turbulent Channel Flow** from the **File** menu. Or alternatively, follow the step-by-step instructions below.

- To start a new model click the
**New Model**toolbar button, or select*New Model...*from the*File*menu. Select the

**Navier-Stokes Equations**physics mode from the*Select Physics*drop-down menu.- Press
**OK**to finish the physics mode selection.

The first step is to create a *1* by *5* rectangle to represent the fluid domain.

- Select
**Rectangle**from the*Geometry*menu. - Enter
`0`

into the*x*edit field._{min} - Enter
`5`

into the*x*edit field._{max} - Enter
`-0.5`

into the*y*edit field._{min} - Enter
`0.5`

into the*y*edit field._{max} Press

**OK**to finish and close the dialog box.- Switch to
**Grid**mode by clicking on the corresponding*Mode Toolbar*button.

The default grid may be too coarse ensure an accurate solution. Decrease the grid size to generate a finer grid that better can resolve the wall boundaries which are expected to feature sharp flow gradients.

Enter

`0.03`

into the*Grid Size*edit field and press the**Generate**button to call the automatic grid generation algorithm.Equation and material coefficients are specified in

*Equation/Subdomain*mode. In the*Equation Settings*dialog box that automatically opens when switching to**Equation**mode, enter`1`

for the fluid*Density*,`1/Re`

for the*Viscosity*, and`uin`

for the initial velocity in the x-direction*u*._{0}

Note that FEATool works with any unit system, and in this model non-dimensionalized units are used. It is up to the user to use consistent units for geometry dimensions, material, equation, and boundary coefficients.

Press the

**Turbulence Model**button and select the**Algebraic (mixing length model)**. The algebraic mixing length model is available with the built-in solvers while the more advanced*k-epsilon*and*omega*turbulence models requires using the external OpenFOAM CFD solver.- Press
**OK**to finish the equation and subdomain settings specification.

A convenient way to to define and store coefficients, variables, and expressions is to use the *Model Constants and Expressions* functionality. The defined expressions can then be used in point, equation, boundary coefficients, as well as postprocessing expressions, and can easily be changed and updated in a single place.

Enter the expressions for the Reynolds number,

`Re = 42800`

which reciprocal is used to define the viscosity, and inlet velocity,`uin = 1`

used in both the initial and boundary conditions.

Boundary conditions are defined in *Boundary* mode and describes how the model interacts with the external environment. Switch to **Boundary** mode by clicking on the corresponding button.

First select (no-slip) walls for the top and bottom boundaries.

- Select
**1**and**3**in the*Boundaries*list box. - Select
**Wall/no-slip**from the*Navier-Stokes Equations*drop-down menu.

The fluid flows from left to right, so select an outflow condition for the right boundary.

- Select
**2**in the*Boundaries*list box. - Select
**Neutral outflow/stress boundary**from the*Navier-Stokes Equations*drop-down menu.

Finally, set the left boundary as an inflow with x-velocity `uin`

.

- Select
**4**in the*Boundaries*list box. - Select
**Inlet/velocity**from the*Navier-Stokes Equations*drop-down menu. Enter

`uin`

into the*Velocity in x-direction*edit field.- Press
**OK**to finish the boundary condition specification. - Now that the problem is fully specified, press the
**Solve***Mode Toolbar*button to switch to solve mode.

As turbulent flow problems are very non-linear, decrease the non-linear relaxation and tolerances to in the *Solver Settings* dialog box to help with convergence.

- Press the
**Settings***Toolbar*button. - Enter
`0.5`

into the*Non-linear relaxation parameter (ratio of new to old solution to use)*edit field. - Enter
`1e-3`

into the*Non-linear stopping criteria for solution defects*edit field. Enter

`1e-4`

into the*Non-linear stopping criteria for solution differences (changes) between iterations*edit field.- Press
**OK**to apply the selected solver settings. - Press the
**=***Tool*button to call the solver with the updated solver settings.

After the problem has been solved FEATool will automatically switch to postprocessing mode and here display the magnitude of the computed velocity field.

- Press the
**Plot Options***Toolbar*button. Select the

**Contour Plot**check box.- Press
**OK**to plot and visualize the selected postprocessing options.

One can see the the maximum velocity is about *1.2* along the center and that the profile looks quite flat with sharp gradients along the walls. Clicking anywhere in a surface plot also directly evaluates the surface expression at the location.

The *Point/Line Evaluation* menu option can be used to plot a cross section which can show the shape of the turbulent velocity profile more clearly.

- Select
**Point/Line Evaluation...**from the*Post*menu. Select

**2**in the*Boundaries*list box.- Press
**OK**to finish and close the dialog box.

The resulting turbulent velocity profile agrees quite well with the experimental results of Laufer, J. (1950).

- To implement a custom turbulence model, first go back to
**Equation**mode and turn of the built-in algebraic turbulence model. - Press the
**Turbulence Model**button. - Select
**Laminar (no turbulence model)**from the*Turbulence model*drop-down menu. - Press
**OK**to plot the selected expression in a new figure and close the dialog box.

A custom expression for the turbulence viscosity will be defined and incorporated so that the total viscosity equals the molecular plus the turbulent viscosity.

Enter

`1/Re + miu_t`

into the*Viscosity*edit field.- Press
**OK**to finish the equation and subdomain settings specification.

The expression for the custom mixing length model is here defined as `rho*l_mix^2*sqrt(uy^2+vx^2)`

where the mixing length *l_mix* is defined as `min(kappa*l_wall,0.09*l_char)`

. The von Karman constant *kappa* is `0.41`

, *l_wall* is the minimum distance from the walls, and *l_char* the characteristic length is taken as the maximum of *l_wall*.

- Add the following expressions for the turbulence model in the
*Model Constants and Expressions*dialog box. Note that we are not restricted to constants but can freely use mathematical expressions involving other variables.

Name | Expression |
---|---|

kappa | 0.41 |

l_char | 0.5 |

l_wall | 0.5-abs(y) |

l_mix | min(kappa*l_wall,0.09*l_char) |

miu_t | rho_ns*l_mix^2*sqrt(uy^2+vx^2) |

- Switch back to
**Solve**mode again and press the**=***Tool*button to solve the problem with the new custom modeling expression.

The new solution with a custom expression for the turbulence model is very similar to both the built-in model and reference.

The *turbulent channel flow* fluid dynamics model has now been completed and can be saved as a binary (.fea) model file, or exported as a programmable MATLAB m-script text file, or GUI script (.fes) file.