# OpenFOAM

OpenFOAM (Open Field Operation And Manipulation) is a C++ toolbox for the development of customized numerical solvers, and pre-/post-processing utilities for the solution of continuum mechanics problems, most prominently including computational fluid dynamics (CFD).
The OpenFOAM software is used in research organisations, academic institutes and across many types of industries, for example, automotive, manufacturing, process engineering, environmental engineering and marine energy.
OpenFOAM is open-source software which is freely available and licensed under the GNU General Public License Version 3, with the following variants:
* OpenFOAM, released by OpenCFD Ltd. (with the name trademarked since 2007) first released as open-source in 2004. (Note: since 2012, OpenCFD Ltd is wholly-owned subsidiary of ESI Group)
* FOAM-Extend, released by Wikki Ltd. (since 2009)
* OpenFOAM, released by OpenFOAM Foundation. (since 2011)

## History

The name FOAM has been claimed to appear for the first time as a post-processing tool written by Charlie Hill, in the early 90s in Prof. David Gosman's group in Imperial College London. As a counter argument, it has been claimed that Henry Weller created the FOAM library for field operation and manipulation which interfaced to the GUISE (Graphical User Interface Software Environment) which was created by Charlie Hill for interfacing to AVS.
As a continuum mechanics / computational fluid dynamics tool, the first development of FOAM (which became OpenFOAM later on) was virtually always presumed to be initiated by Henry Weller at the same institute by using the C++ programming language rather than the de facto standard programming language FORTRAN of the time to develop a powerful and flexible general simulation platform. From this initiation to the founding of a company called Nabla Ltd, (predominantly) Henry Weller and Hrvoje Jasak carried out the basic development of the software for almost a decade. For a few years, FOAM was sold as a commercial code by Nabla Ltd., on 10 December 2004, it was released under GPL and renamed to OpenFOAM.
In 2004, Nabla Ltd was folded. Immediately afterwards, Henry Weller, Chris Greenshields and Mattijs Janssens founded OpenCFD Ltd to develop and release OpenFOAM. At the same time, Hrvoje Jasak founded the consulting company Wikki Ltd and maintained a fork of OpenFOAM called openfoam-extend, later renamed to foam-extend.
In April 2008, the OpenFOAM development moved to using git for its source code repository.
On 5 August 2011, OpenCFD transferred the OpenFOAM software (source code) and documentation from OpenCFD to the newly incorporated OpenFOAM Foundation, registered in Delaware State, USA.
On 8 August 2011, OpenCFD was acquired by Silicon Graphics International (SGI). On 12 September 2012, ESI Group announced the acquisition of OpenCFD Ltd, becoming a wholly-owned subsidiary of ESI Group, and OpenCFD retaining its ownership of the OpenFOAM trademark.
On 25 April 2014, The OpenFOAM Foundation Ltd was incorporated in England, as a company limited by guarantee with all assets transferred to the UK and the US entity dissolved, together with changes to the governance of the Foundation. Weller and Greenshields left OpenCFD and formed CFD Direct Ltd in March 2015.
On 3 September 2024, Cristel de Rouvray, CEO of ESI Group officially resigned as Founder Member and director of The OpenFOAM Foundation Limited.
The OpenFOAM Foundation Ltd directors are Henry Weller, Chris Greenshields, and Brendan Bouffler.
The following are the three main variants of OpenFOAM:
* OpenFOAM, Foundation, developed and maintained primarily by CFD Direct Ltd with a sequence based identifier (e.g. 6.0) (from 2011).
* OpenFOAM, OpenCFD, developed and maintained mainly by OpenCFD Ltd, (ESI Group company since 2012) with a date-of-release identifier (e.g. v1606) (from 2016).
* The FOAM-Extend Project, mainly maintained by Wikki Ltd. (from 2009).

### OpenFOAM Governance

In 2018, OpenCFD Ltd. and some of its industrial, academic, and community partners established an administrative body, i.e. OpenFOAM Governance, to allow the OpenFOAM's user community to decide/contribute the future development and direction of their variant of the software.
The structure of OpenFOAM Governance consisted of a Steering Committee and various Technical Committees. The Steering Committee comprised representatives from the main sponsors of OpenFOAM in industry, academia, release authorities and consultant organisations. The organisation composition of the initial committee involved members from OpenCFD Ltd., ESI Group, Volkswagen, General Motors, FM Global, TotalSim Ltd., TU Darmstadt, and Wikki Ltd.
In addition, nine technical committees were established in the following areas: Documentation, high performance computing, meshing, multiphase, numerics, optimisation, turbulence, marine applications, and nuclear applications with the members from the organisations of OpenCFD Ltd., CINECA, University of Zagreb, TU Darmstadt, National Technical University of Athens, Upstream CFD GmbH, University of Michigan, and EPFL.

## Structure
### Software structure

The OpenFOAM directory structure consists of two main directories:
* OpenFOAM-<version>: OpenFOAM libraries whose directory layout is shown in the side-figure
* ThirdParty: A set of third-party libraries

### Simulation structure

OpenFOAM computer simulations are configured by several plain text input files located across the following three directories:
* system/
** controlDict
** fvSchemes
** fvSolution
** fvOptions (optional)
** other dictionaries (configuration files in OpenFOAM)
* constant
** polyMesh/
** other dictionaries
* 0/ or another initial time directory
** field files
Additional directories can be generated, depending on user selections. These may include:
* result time directories: field predictions as a function of iteration count or time
* postProcessing/: data typically generated by function objects data conversion, e.g. VTK