Note

The history of OpenFOAM: from Imperial College CFD code to one of the most important open-source simulation platforms

How FOAM was born in 1989, became OpenFOAM in 2004, and ended up as an open platform for CFD, heat transfer, multiphase flow, and scientific simulation.

Hexagonal CFD mesh with velocity vectors and 0/constant/system folders in cyan on a dark AEC Hub background.

OpenFOAM is one of those programs that can feel strange the first time an engineer opens it.

There is not necessarily a huge button that says:

Simulate.

Instead you see folders, text dictionaries, meshes, boundary conditions, fields, and executables with names such as:

blockMesh
snappyHexMesh
potentialFoam
simpleFoam
paraFoam

That happens because OpenFOAM was never conceived only as a CFD application with a graphical interface.

Its philosophy is much closer to:

a programmable toolbox for building continuum-mechanics simulations.

And that philosophy was born long before the software was called OpenFOAM.

1989: FOAM begins

The official history maintained by CFD Direct places the birth of FOAM in 1989.

The creator was Henry Weller, then associated with Imperial College London.

At that time much of scientific software was written in FORTRAN.

Weller took a different decision: use C++.

The motivation was not only to change language.

It was to bring software-engineering ideas into scientific software:

  • code reuse;
  • object orientation;
  • classes;
  • separation of responsibilities;
  • building general libraries;
  • the possibility of writing different applications on the same infrastructure.

Instead of creating one gigantic solver, FOAM could become a library on which several solvers could be built.

That decision would define everything that came after.

What does FOAM mean?

FOAM means Field Operation And Manipulation.

The word field is fundamental.

In CFD we work constantly with fields:

pressure
velocity
temperature
density
volume fraction
turbulence

On a mesh, these quantities exist on cells, faces, and points.

FOAM tried to represent those operations mathematically so that the code could resemble the equations the engineer wanted to solve.

The goal was not only CFD

Although today OpenFOAM is known mainly as a Computational Fluid Dynamics platform, its architecture was designed around continuum-mechanics problems.

That makes it possible to work with phenomena that include:

  • incompressible flow;
  • compressible flow;
  • turbulence;
  • heat transfer;
  • combustion;
  • multiphase flow;
  • particles;
  • certain solid-mechanics problems;
  • electromagnetics through extensions and specialized applications.

The important idea is that OpenFOAM is not simply:

a CFD solver

but:

libraries
+
solvers
+
utilities
+
meshing tools
+
physical models

The commercial FOAM stage

Before it became OpenFOAM, FOAM had a commercial-distribution stage.

When the code was finally opened in 2004, its developers explained that the old product already provided about 70% of the source code and was used by large companies, consultancies, and around 90 academic institutions in more than 30 countries.

In other words:

OpenFOAM did not appear in 2004 as a newly created experimental project.

By then FOAM had been accumulating development for years.

10 December 2004: OpenFOAM is born

The great change happened on 10 December 2004.

FOAM stopped being distributed as a commercial product and was published as free software under the GNU General Public License.

At the same time it was renamed OpenFOAM.

The publication was associated with:

  • Henry Weller;
  • Chris Greenshields;
  • Mattijs Janssens;

through OpenCFD Ltd.

The decision was radical.

An advanced CFD platform could be used, studied, modified, and redistributed without paying a traditional license.

Why open the code?

In scientific simulation there is a particular problem.

It is not enough for the software to produce a number.

Researchers need to understand:

  • which equations were implemented;
  • which discretization was used;
  • which models exist;
  • how boundary conditions are applied;
  • how to modify a formulation.

Open source allows something especially valuable:

inspect the numerical engine itself.

It also keeps every research group from having to write the whole CFD infrastructure from scratch.

The finite-volume method

OpenFOAM became especially known for using the Finite Volume Method.

Simplifying:

the domain is divided into control volumes.

┌───┬───┬───┐
│   │   │   │
├───┼───┼───┤
│   │   │   │
├───┼───┼───┤
│   │   │   │
└───┴───┴───┘

Conservation equations are discretized on those cells.

That is very natural for fluid problems because it can conserve quantities such as mass, momentum, and energy in a way consistent with the numerical method.

A typical OpenFOAM workflow

Although every problem changes, conceptually the flow is usually:

Geometry
   ↓
Mesh
   ↓
Physical properties
   ↓
Initial conditions
   ↓
Boundary conditions
   ↓
Solver
   ↓
Simulation
   ↓
Post-processing

A classic case structure contains directories such as:

0/
constant/
system/

This matters because the simulation case can be described with text files.

The workflow lends itself very well to:

  • automation;
  • scripts;
  • versioning with Git;
  • HPC;
  • remote execution;
  • pipelines;
  • AI agents.

Meshing: blockMesh and snappyHexMesh

OpenFOAM includes its own meshing tools.

Among the best known are:

blockMesh

It can build structured or block meshes from text definitions.

snappyHexMesh

It can generate meshes around complex geometries, usually starting from triangulated surfaces.

Meshing is one of the most important — and also most difficult — aspects of any CFD simulation.

An excellent numerical solution on an inadequate mesh can produce useless results.

Turbulence

OpenFOAM includes multiple approaches for modeling turbulence.

The usual families include:

RANS
LES

and different models inside each strategy.

That lets OpenFOAM be used from relatively simple studies to advanced research problems.

But it also introduces a warning:

choosing a turbulence model is not simply picking a menu option.

Every model contains assumptions.

The engineer must know when those assumptions are acceptable.

OpenFOAM begins to grow as a community

After 2004 adoption grew quickly.

The software started to appear in:

  • universities;
  • automotive;
  • aerospace;
  • energy;
  • industrial processes;
  • marine;
  • research;
  • consulting.

License cost stopped being a barrier to using large numbers of CPU cores.

That made the platform especially attractive for HPC.

2011: OpenCFD is acquired and the Foundation appears

In 2011 Silicon Graphics International — SGI acquired OpenCFD.

Before that operation the OpenFOAM Foundation was created and rights over the code were transferred to guarantee that OpenFOAM would continue to be distributed as free software.

It was an important concern:

what happens to an open-source project when the company that develops it is bought?

The Foundation became a central piece of the answer.

2012: ESI Group

In 2012 OpenCFD became part of ESI Group.

From there the institutional history of OpenFOAM starts to become more complex.

And that complexity explains something that confuses many current users.

Why are there two OpenFOAMs?

There are currently two widely used distribution lines.

OpenFOAM Foundation / openfoam.org

Maintained mainly by CFD Direct for the OpenFOAM Foundation.

In 2026 its main version is OpenFOAM 14.

OpenCFD / openfoam.com

The line developed by OpenCFD, currently inside the Keysight corporate environment.

It uses year-and-month version numbers.

In June 2026 it released OpenFOAM v2606.

Both come from the same history.

Both are open source.

But their codes, features, calendars, and organization are no longer identical.

That is why, when installing OpenFOAM, it is worth asking:

which distribution and which version does this project require?

Keysight and the current stage

ESI Group became part of Keysight Technologies, and OpenCFD continues to develop its OpenFOAM line.

In parallel, CFD Direct maintains and develops the line distributed by the OpenFOAM Foundation.

The result is an uncommon situation:

the same technological genealogy with two active and relevant branches.

What is OpenFOAM used for?

1. Aerodynamics

It can study flow around:

  • vehicles;
  • airfoils;
  • buildings;
  • bridges;
  • structures.

For example:

wind
   ↓
building
   ↓
pressures on the facade

2. Wind in AEC

For architecture and civil engineering it can be used in studies such as:

  • wind around buildings;
  • pedestrian comfort;
  • pressure loads;
  • urban ventilation;
  • wind interaction with complex geometries.

For simple code-prescribed loads, a design code is usually much more efficient.

OpenFOAM makes sense when we want to study the flow field in more detail.

3. Ventilation

It can model air circulation inside:

  • buildings;
  • tunnels;
  • stations;
  • industrial enclosures.

That can be useful for studying:

  • velocities;
  • thermal distribution;
  • contaminant transport.

4. Heat transfer

OpenFOAM includes capabilities to study:

flow
+
temperature
+
heat transfer

For example:

  • equipment cooling;
  • heat exchangers;
  • convection;
  • conjugate fluid-solid problems.

5. Multiphase flow

It can work on problems involving several phases.

Examples:

  • water and air;
  • droplets;
  • bubbles;
  • free surfaces.

6. Combustion

OpenFOAM has specialized combustion models and solvers.

That has contributed to its adoption in energy and industrial processes.

OpenFOAM in civil hydraulics

OpenFOAM can also be used to solve three-dimensional hydraulic problems.

For example:

  • flow around piers;
  • hydraulic structures;
  • spillways;
  • energy dissipators;
  • complex interaction between water and geometry.

But that does not mean it should automatically replace HEC-RAS.

For a regional 2D flood:

HEC-RAS

can be far more practical.

To study local three-dimensional turbulence around a structure:

OpenFOAM

can be a much more adequate tool.

The right engine depends on the scale and on the question.

OpenFOAM is not an “easy” program

Its main strength can also be its main difficulty.

OpenFOAM exposes many details.

The user has to understand:

  • mesh;
  • discretization;
  • stability;
  • convergence;
  • boundary conditions;
  • turbulence;
  • numerical schemes.

OpenFOAM + ParaView

Post-processing is normally done with tools such as ParaView.

That makes it possible to visualize:

  • velocity fields;
  • pressure;
  • temperature;
  • streamlines;
  • surfaces;
  • slices;
  • animations.

The visual result can be spectacular.

OpenFOAM and automation

Here OpenFOAM is especially interesting for the future of AEC.

Because much of the workflow is expressed through:

  • text files;
  • commands;
  • scripts;
  • folders;

it is relatively natural to automate it.

An agent could:

receive geometry
↓
prepare the case
↓
mesh
↓
run checks
↓
launch the solver
↓
monitor residuals
↓
post-process
↓
create a report

That does not remove the need for a CFD expert.

But it can remove enormous amounts of repetitive work.

Coupling with an open-source FEM solver — for example CalculiX — also appears in that conversation about automation and multiphysics.

OpenFOAM in 2026

In 2026 the two main branches remain active.

The OpenFOAM Foundation published OpenFOAM 14 on 14 July 2026.

OpenCFD published OpenFOAM v2606 on 26 June 2026.

The v2606 line even included work related to GPU offloading, showing that the platform continues to adapt to modern architectures.

Almost 37 years after the first lines of FOAM, the project is still evolving.

Short timeline

1989
Henry Weller begins FOAM
        ↓
C++
object orientation
        ↓
commercial stage
        ↓
2004
OpenCFD
OpenFOAM 1.0
GNU GPL
        ↓
the community grows
        ↓
2011
SGI acquires OpenCFD
OpenFOAM Foundation
        ↓
2012
ESI Group
        ↓
2015
CFD Direct
        ↓
2016+
two major lines
openfoam.org / openfoam.com
        ↓
2025
Keysight acquires ESI
        ↓
2026
OpenFOAM 14
OpenFOAM v2606

Conclusion

OpenFOAM did not become important simply because it was free.

It became important because it combined:

open source
+
extensible architecture
+
numerical methods
+
HPC
+
automation

Its history begins in 1989 with an uncommon technological decision: use C++ to build a reusable scientific infrastructure.

In 2004 that technology was opened to the world.

And since then it has become one of the great open-source engines of simulation.

For AEC, its value is not in replacing other programs indiscriminately.

It is in making it possible to tackle problems where we need to resolve the real behavior of a fluid with a level of control that more specialized tools do not offer.

And in an era of agents, automation, and cloud computing, its text-and-CLI architecture can become even more powerful.

References

  1. CFD Direct. About OpenFOAM.
  2. CFD Direct. Notes on CFD: General Principles — Preface.
  3. OpenFOAM Foundation. OpenFOAM 1.0 Released.
  4. OpenFOAM Foundation. Company History.
  5. OpenFOAM Foundation. OpenFOAM 14 Released.
  6. OpenCFD. History.
  7. OpenCFD. Release history.
  8. OpenCFD. OpenFOAM v2606.

Evaluation and limitations

Treat the notes below as evaluation context, not as a verified calculation or code check.

Use it when the question asks for 3D CFD, local turbulence, or complex geometry. For a regional 2D flood, HEC-RAS is usually more practical. Visualization never replaces numerical validation.