Many different phenomena in industry or nature include a deformable interface for example the water falling from a spillway. The simulation of such events is essential to better understanding of two-phase flow behavior, in order to optimize the design or to calculate hydrodynamic coefficients. The precise and correct modeling of the interface is the key parameter in the simulation of a free surface. There are different interface tracking methods such as VoF (volume of fluid), LS (level set), and  FT (front tracking). Each method has its own advantages and disadvantages, however, VoF is becoming the most common interface tracking method due to its ease of implementation and mass conservation.  OpenFOAM VoF solver is interFoam. The solver uses a technique called MULES to compress the interface and return the sharp interface. The interFoam is suitable for two-phase isothermal incompressible system. The derived solvers from interFoam is:

  • interDyMFoam:  interFoam  added dynamic Mesh
  • multiPhaseInterFoam:  interFoam extended to simulate more than two phases for example water-oil-gas system.
  • compressibleInterFoam: the compressible version of interFoam

Users also extended and adapt interFoam in recent years to include some features such as wave generation. These extensions are:

In the rest of this post, I will show some of my simulations using interFoam family.

Free Surface Flow Over Stepped Spillway

The details of simulation procedure are available in my book. The grid for two-dimensional free surface flow over the spillway is created using OpenFOAM mesh generators: blockMesh, snappyHexMesh, and extrudeMesh from imported CAD geometry.  blockMesh is applied to create the base grid, then snappyHexMesh extracts the final three-dimensional grid from the base grid around the imported CAD file. The grid is refined locally to better capture the interface. Finally, for two-dimensional simulation, the grid is extruded to have just one cell thickness across the flow stream.

The grid created with OpenFOAM tools

The turbulent flow is considered with kOmegaSST  Model.


Free Surface Flow Over Sub Merged body

The schematic of the problem is shown below. The simulation is conducted with olaFoam. The solver provides wave generation and absorption boundary conditions. The simulation is done with OpenFOAM-3.0.1. However, it is worth to note the wave boundaries are added to a recent version of OpenFOAM-v5, so there is no need to install olaFoam anymore.

The problem description of flow over a sub-merged cylinder

The grid is created with blockMesh. It contains only hex elements that are refined near the interface or near the submerged body.

The grid for a submerged cylinder with blockMesh

a closer look at the grid:

The grid for a submerged cylinder with blockMesh

The wave behavior is shown below, the LES model is employed for turbulence modeling.


The hydrodynamic coefficient is important in this study, so lift and drag force is calculated. The normal lift coefficient is shown here.

The normal lift coefficient due to wave impact on submerged cylinder

Sloshing in Tank

It’s part of the tutorial, I used to teach in my training workshop at IHA. It’s the sloshing tank. The grid is created with blockMesh and snappyHexMesh. The tank moving is supported with dynamicMesh in the solver interDyMFoam.



About Author:

1 thought on “Free Surface Simulation

  1. Hi Nima. After having used OLAFOAM, IHFOAM (now included in OpenFOAMv1712) and the OpenFOAM 5 implementation, I must say that I still get the best wave results with OLAFOAM, so there is still need to install it, at least for me!

Comments are closed.