The open source CFD toolbox
OpenFOAM®: Open source CFD : Documentation

OpenFOAM is a free, open source CFD software package released free and open-source under the GNU General Public License through www.openfoam.com. It has a large user base across most areas of engineering and science, from both commercial and academic organisations. OpenFOAM has an extensive range of features to solve anything from complex fluid flows involving chemical reactions, turbulence and heat transfer, to solid dynamics and electromagnetics.

Models are implemented using an equation syntax that closely follows the mathematical notation, e.g. building from the operators for:

• time rate of change: $$\ddt{\phi}$$
fvc::ddt(phi)
• gradient: $$\grad \phi$$
• divergence: $$\div \phi$$
fvc::div(phi)
• laplacian: $$\laplacian \phi$$
fvc::laplacian(phi)
• linearised sources: $$s \phi$$
fvc::Sp(s,phi)

complex equations can be written concisely in a human-readable form. The above example makes use of explicit operations using Finite Volume Calculus, represented by the fvc:: prefix. Implicit terms are represented analogously using the Finite Volume Method fvm:: form, e.g. the transport equation to evolve the P-1 radiation model:

$\div \left( \Gamma \grad G \right) - a G = -4 \epsilon \sigma T^4 - E$

is represented by the code:

// Solve G transport equation
solve
(
fvm::laplacian(gamma, G_)
- fvm::Sp(a_, G_)
==
- 4.0*(e_*physicoChemical::sigma*pow4(T_)) - E_
);

Many applications are supplied ready-to-use with the code together with a tutorial suite to showcase the functionality. As an open-source tool, users are able to see the inner workings of the algorithms and models, providing a robust platform for future developments and collaborative research.

Obtaining OpenFOAM

The code is released in multiple formats:

• source code
• binaries for Windows, Mac and Linux
• via package managers for OpenSUSE, Debian and Ubuntu

Navigating OpenFOAM

On installation, the OpenFOAM distribution comprises the main directories:

• src: the core OpenFOAM libraries
• applications: solvers and utilities
• modules: Third-party code contributions
• tutorials: test-cases that demonstrate a wide-range of OpenFOAM functionality
• doc: documentation

OpenFOAM cases

Each OpenFOAM case is described by a collection of files, providing details of e.g. the mesh, physical models, solver and post-processing controls:

OpenFOAM is primarily driven using the command line, as described below

Capabilities

OpenFOAM includes an extensive collection of library functionality covering most aspects engineering flow problems, described under the following links:

Applications:

Parallel processing:

Processing results

OpenFOAM includes many tools to derive additional data from the calculations and generate set-ups for batch-driven processes:

Contributors

 Would you like to suggest an improvement to this page? Create an issue