Object / fluid interaction modelling with OpenFOAM - Submarine Case - Tutorial


This tutorial will apply OpenFOAM to simulate the flow effect on submerged object using the simpleFoam solver and the k-epsilon turbulence schema. The tutorial develops the case of a submarine model against a flow current; the velocity and pressure applied on the submarine will be analyzed on the model results and flow paths will be plotted to see the main patterns around the submarine. Model output visualization is performed on Paraview that allows the representation of velocity and pressure vectors over the submarine.


About the solver

The simpleFoam solver was developed for incompressible and turbulent flow on steady-state conditions and its based on the SIMPLE algorithm. The algorithm name come from “Semi-Implicit Method for Pressure Linked Equations” and it is widely used to solve the Navier-Stokes equation for flow under pressure and heat transfer since the 70’s.

Mass conservation and momentum conservation is applied to the model on this solver and the whole system in closed with boundary conditions.

The selected turbulence simulation type was the RAS (Reynold Averaged Simulation) option; under this turbulence option for incompressible flow there are several turbulence models available, a whole list of the models can be found here (https://cfd.direct/openfoam/user-guide/turbulence/).  The selected turbulence model was the kEpsilon model.

This turbulence model is extensively used with know performance and needs two values to define the turbulence phenomena:

  • k : is the turbulence kinetic energy
  • Epsilon: is the turbulence dissipation rate


Model configuration

The selected geometry for the object in this tutorial was a submarine of the Kilo class. The submarine is fully submerged on the simulation and travels against the flow. The submarine has a speed of 5.14 m/s that is approximately half of the maximum submerged speed. Outer model geometry is a box with the submarine at its center.

Submarine geometry and inlet (red) and outlet (green) boundary conditions.

Submarine geometry and inlet (red) and outlet (green) boundary conditions.

The submarine axis is aligned with the X axis; submarine prow will receive the highest pressure and the back part might be affected by vacuum stress. It is assumed that pressure decrease does not reach cavitation pressure and phase change won’t occur on the simulation, therefore simpleFoam is suitable for the entire model simulation.

Pressure distribution on the submarine prow and body.

Pressure distribution on the submarine prow and body.


Model time frame

The solver simpleFoam is on steady-state, where flow rates and boundary conditions don't change with time. Simulation end time is the total amount of time that model can run until it fits the convergence criteria stated on the “fvSolutions” file, when the model reach these criteria the simulation automatically stops. If numerical problems are encounter and no solution could be obtained on the specified time there are other parameters that can be adjusted as the “relaxation factor” or even the simulation end time. The rate of change on the parameters come from the modeler experience on a trial and error procedure.

Model tetrahedral mesh with coarse discretization outside and fine discretization inside.

Model tetrahedral mesh with coarse discretization outside and fine discretization inside.




Input data

You can download the input data here.

Saul Montoya

Saul Montoya es Ingeniero Civil graduado de la Pontificia Universidad Católica del Perú en Lima con estudios de postgrado en Manejo e Ingeniería de Recursos Hídricos (Programa WAREM) de la Universidad de Stuttgart con mención en Ingeniería de Aguas Subterráneas y Hidroinformática.

Smiley face

Subscribe to our free e-newsletter for tutorials, articles, webminars, courses and more.