FEATool Multiphysics  v1.13
Finite Element Analysis Toolbox
Turbulent Flow Over a Backwards Facing Step (OpenFOAM)

Flow over backwards facing steps are classic computational fluid dynamics test problems, and are often used for validation of simulation codes. This test problem consists of studying how the flow field reacts to a sudden expansion in a channel. The expansion will cause a break in the flow and a recirculation or separation zone will form. To validate the results the computed length of the recirculation zone is compared with the experimental results of Pitz and Daily [1].

In this example the stationary incompressible Navier-Stokes equations are used to model the fluid with simulation parameters corresponding to a Reynolds number, Re = 18145. The flow is therefore fully turbulent, whereby a turbulence model closure must also be applied. Here the standard k-epsilon turbulence model is used which is available with the external OpenFOAM CFD solver integration built into FEATool Multiphysics.


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

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

This example is simplified by assuming variations in the z-direction are negligible resulting in a planar 2D approximation.

  1. Press the 2D radio button and select the Navier-Stokes Equations physics mode from the Select Physics drop-down menu.

  2. Press OK to finish the physics mode selection.

The backwards facing step geometry features a slightly tapered outflow region which is easiest to create by directly by specifying the polygon coordinates.

  1. Select Polygon from the Geometry menu and enter the following data into the Point coordinates table.
1 2 3 4 5 6 7 8
x -0.0206 0 0 0.206 0.29 0.29 0.206 -0.0206
y 0 0 -0.0254 -0.0254 -0.0166 0.0166 0.0254 0.0254

  1. Press OK to finish and close the dialog box. The geometry should now look like the following.

  2. Switch to Grid mode by clicking on the corresponding Mode Toolbar button.

The default grid will be too coarse ensure an accurate solution. For turbulent flows it is particularly important to ensure a fine resolution near walls which have boundary layers with steep gradients in the solution.

  1. Enter 2e-3 into the Grid Size edit field, and press the Generate button to call the automatic grid generation algorithm.

  2. Switch to Equation mode by clicking on the corresponding Mode Toolbar button.

  3. In the Equation Settings dialog box that automatically opens, set the density ρ to 1.293 and viscosity µ to 18.1e-6 in the corresponding edit fields. Press OK to finish and close the dialog box.

  4. Switch to Boundary mode by clicking on the corresponding Mode Toolbar button.
  5. In the Boundary Settings dialog box, first select all boundaries except for the right outflow and left inflow (numbers 1-4, and 6-7) in the left hand side Boundaries selection list box, and choose the Wall/no-slip boundary condition from the boundary condition drop-down menu.
  6. Then select the leftmost boundary (number 8) in the Boundaries list box, and choose the Inlet/velocity boundary condition from the drop-down menu. Enter 10 in the edit field for the x-velocity coefficient u0.

  7. Finally, select the right outflow boundary (number 5), and select the Outflow/pressure boundary condition from the drop-down menu. Finish the boundary condition specification by clicking the OK button.

  8. Now that the problem has been defined, press the Solve Mode Toolbar button to switch to solve mode. As FEATool does not feature built-in turbulence models the OpenFOAM external CFD solver must be used to solve this flow problem (see the corresponding OpenFOAM solver section in the FEATool Multiphysics User's Guide on how to install OpenFOAM).
  9. Press the OpenFOAM Toolbar button to open the OpenFOAM Solver Settings dialog box. and set the Stopping criteria/tolerance for initial residuals to 1e-4.

  10. Select the k-epsilon Turbulence model from the corresponding drop-down menu, and press the Edit button to open a dialog box to specify the turbulence inlet quantities.

The k and epsilon inlet values can either be estimated from a prescribed turbulence intensity and length scale, or as here prescribed directly if these quantities are known.

  1. Enter 0.375 into the Turbulent kinetic energy edit field, 14.855 into the Turbulent dissipation rate edit field, and press OK to finish and close the dialog box.

  2. Press the Solve button to start the OpenFOAM solver. The view will then switch to show the convergence process for the solution variables. During the solution process one can switch between the convergence tab and the solver output log. The solver will stop when the residual for all of the variables is below 1e-4 or the maximum number of iterations has been reached.


After the problem has been solved FEATool will automatically switch to postprocessing mode and show the resulting velocity field.

  1. To better visualize the recirculation zone, open the Postprocessing settings dialog box and enter the expression for the normalized recirculation zone length (u<0)*x/25.4e-3 in the Surface Plot expression edit field (Note that switch type expressions such as a<b evaluate to either 0 or 1, and are used here to limit the plot to the lower half region for which the u velocity is negative). The Arrow Plot option can also be turned on to help visualize the flow field.


The resulting plot shows a recirculation zone length of about 6.25 length units based on step height which is quite close to the reference length of 6.4.


The turbulent flow over a backwards facing step 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.


[1] Pitz RW, Daily JW. Combustion in a Turbulent Mixing Layer Formed at a Rearward Facing Step. AIAA Journal 21, 1983.