OpenFOAM
OpenFOAM (for "Open-source 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 main configuration file of OpenFOAM (controlDict) | |
Original author(s) | Henry Weller and Hrvoje Jasak[1] |
---|---|
Developer(s) | CFD Direct Ltd.[2] / OpenCFD Ltd.[3] / Wikki Ltd.[4], and community |
Initial release | 10 December 2004[5] |
Stable release | |
Written in | C++ |
Operating system | Unix / Linux / Windows |
Type | Computational fluid dynamics, simulation software, fluid structure interaction |
License | GPLv3 |
Website | openfoam |
There are three main variants of OpenFOAM software that are released as free and open-source software under the GNU General Public License Version 3. In chronological order, these variants are as follows:
- OpenFOAM variant by OpenCFD Ltd. (with the name trademarked since 2007[8]) first released as open-source in 2004. (Note that since 2012, OpenCFD Ltd is an affiliate of ESI Group.)
- FOAM-Extend variant by Wikki Ltd. (since 2009)
- OpenFOAM Foundation Inc. variant, released by The OpenFOAM Foundation Inc. (since 2012), and transferred in 2015 to the English company The OpenFOAM Foundation Ltd.
History
The name FOAM has been claimed to appear for the first time as a post-processing tool written by Charlie Hill, who was one of the IBM fellows in 2017,[9] 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.
Nevertheless, 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.[10] For a few years, FOAM was sold as a commercial code by Nabla Ltd.[11] However, on 10 December 2004, FOAM was released under GPL and was renamed to OpenFOAM.[12]
In 2004, Nabla Ltd was folded. Immediately afterwards, Henry Weller, Chris Greenshields and Mattijs Janssens founded OpenCFD Ltd to develop and release OpenFOAM.[13] At the same time, Hrvoje Jasak founded the consulting company Wikki Ltd [14] 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.[15]
On 8 August 2011, OpenCFD was acquired by Silicon Graphics International (SGI).[16] On 12 September 2012, ESI Group announced the acquisition of OpenCFD Ltd[17], this company keeping its assets and notably the OpenFOAM trademark.
In 2014, Weller and Greenshields left OpenCFD and formed CFD Direct Ltd.[18] OpenFOAM Foundation Ltd whose directors are Henry Weller, Chris Greenshields, and Cristel de Rouvray (the CEO of the ESI Group) handed the maintenance of the OpenFOAM-Foundation variant to CFD Direct.
The following figure summarises the chronological and common development of the main three variants of OpenFOAM software, where the arrows show the directions of functionality transfers, namely:
- The OpenFOAM variant mainly developed and maintained by OpenCFD Ltd. (a company held by ESI Group since 2012) with a date-of-release identifier (e.g. v1906) (from 2004),
- The FOAM-Extend Project variant mainly maintained by Wikki Ltd. (from 2009),
- The OpenFOAM-Foundation variant mainly maintained by CFD Direct Ltd. sequence based identifier (e.g. 6.0) (from 2011).
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.[19]
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..[20]
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.[21]
Structure
Software structure
OpenFOAM layout constitutes 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 simulations are configured by several plain text input files located across the following three directories:[22]
- 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
Advantages and disadvantages
Advantages
- Friendly syntax for partial differential equations
- Fully documented source code
- Unstructured polyhedral grid capabilities
- Automatic parallelization of applications written using OpenFOAM high-level syntax
- Wide range of applications and models ready to use
- Commercial support and training provided by the developers
- No license costs
Disadvantages
- The development community suffers from fragmentation, giving rise to numerous forked projects.
- Absence of an integrated graphical user interface (stand-alone open-source and proprietary options are available)
- The Programmer's guide does not provide sufficient details, making the progress slow if you need to write new applications or add functionality
See also
- ParaView an open-source multiple-platform application for interactive scientific visualization
References
- Chen, Goong; Xiong, Qingang; Morris, Philip J.; Paterson, Eric G.; Sergeev, Alexey; Wang, Yi-Ching. "OpenFOAM for Computational Fluid Dynamics". Notices of the AMS. 61 (4).
- "CFD Direct - The Architects of OpenFOAM". CFD Direct. Archived from the original on 27 March 2015.
- "The open source CFD toolbox". OpenFOAM.
- "Wikki Ltd".
- "OpenFOAM launched 10th December 2004". OpenCFD Ltd. Archived from the original on 8 February 2005. Retrieved 20 August 2019.
- "OpenFOAM® History". 3 April 2016.
- "Release History - OpenFOAM". Retrieved 3 August 2020.
- "Global brand database". World Intellectual Property Organisation. Retrieved 10 July 2019.
- "IBM Fellows". IBM. 13 April 2017. Retrieved 10 July 2019.
- Chen, Goong; Xiong, Qingang; Morris, Philip J.; Paterson, Eric G.; Sergeev, Alexey; Wang, Yi-Ching (2014). "OpenFOAM for Computational Fluid Dynamics". Notices of the American Mathematical Society. 61 (4): 354–363. doi:10.1090/noti1095.
- "OpenFOAM". CFD-Online. Retrieved 28 June 2019.
- "OpenFOAM launched 10th December 2004". OpenCFD Ltd. Archived from the original on 8 February 2005. Retrieved 20 August 2019.
- Greenshields, Chris (3 April 2016). "Release History". openfoam.org. Archived from the original on 29 July 2017.
- "Wikki Ltd - About Us".
- "OpenFOAM history repository". 15 January 2019.
- "Press Releases: SGI Acquires OpenCFD Ltd., the Leader In Open Source Computational Fluid Dynamics (CFD) Software". SGI. Archived from the original on 6 December 2012. Retrieved 18 December 2012.
- "Acquisition of OpenCFD Ltd., The leader in Open Source software in Computational Fluid Dynamics". ESI Group. 11 September 2012. Archived from the original on 6 December 2012. Retrieved 18 December 2012.
- "OpenFOAM". CFD Direct. 25 March 2015. Archived from the original on 29 March 2015.
- "OpenFOAM Governance". OpenCFD Ltd. Retrieved 10 August 2019.
- "OpenFOAM Steering Committee". OpenCFD Ltd. Retrieved 10 August 2019.
- "OpenFOAM Technical Committees". OpenCFD Ltd. Retrieved 10 August 2019.
- https://www.openfoam.com/documentation/guides/latest/doc/openfoam-guide-case-structure.html