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 interface is the key parameter in simulation of 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 it’s 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 form interFoam is:
- interDyMFoam: interFoam added dynamic Mesh
- multiPhaseInterFoam: interFoam extended to simulate more than two-phases forexample: 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 is available in my book. The gird for two dimensional free surface flow over 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 extract the final three dimensional grid from base grid around imported CAD file. The grid is refined locally to better capturing interface. Finally, for two dimensional simulation, the grid is extruded to have just one cell thickness across the flow stream.

The turbulent flow is considered with kOmegaSST Model.

Free Surface Flow Over Sub Merged body
The schematic of problem is shown below. The simulation is conducted with olaFoam. The solver provides wave generation and absorption boundary condition. My simulation is done with OpenFOAM-3.0.1. However, it is worth to note the wave boundaries are added to recent version of OpenFOAM-v5, so there is no need to install olaFoam any more.

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

closer look at grid:

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.

Sloshing in Tank
It’s a part of 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.

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!