- 1 Overview
- 2 Architecture of OpenFOAM
- 3 Applications
- 4 Structure of cases
- 5 External ressources
- 6 Best Practice
OpenFOAM (the Open-source Field Operation And Manipulation library) is a C++ library allowing for numerical solving of complex physical phenomena with a strong focus on fluid dynamics. The library allows for the utilization of multiple processors/machines by making use of the Message Passing Interface (MPI).
The library ships with a large number of solvers and applications build on top of it allowing for a all-in-one solution for simulations.
Versions / Branches
Due to it's open-source nature a variety of branches and versions exist. The three main versions are:
- ESI OpenFOAM: current version v1812
- OpenFOAM foundation: current verion 6
- foam-extended: the academic version with an extended capability. Current version is: 4
Architecture of OpenFOAM
- paraview: paraview is the primary visual post-processing tool. It is included with OpenFOAM though needs additional compilation if installation from source
- fieldAverage: lets you calculate the temporal average (mean) as well as the standard deviation (prime2mean) of selected fields. If done during post-processing the average can only be calculated based upon the writte out fields!
- forces: calculates the forces & moments acting on any given surface (patch).
- sampling: offers a variety of sampling types (e.g. probes, lines, surfaces). If run in post-processing only the written fields are taken into account.
Structure of cases
- The unofficial wiki is a great place to start: https://openfoamwiki.net/index.php/Main_Page
- The CFDWiki provides a great forum to discuss openfoam related problems: https://www.cfd-online.com/Forums/openfoam/
Mathematics / Physical modelling
- Barba Group' 12 steps to Navier Stokes
- cfd-onlline wiki on turbulence modelling: https://www.cfd-online.com/Wiki/Turbulence_modeling
Compilation / Installation
- Specific how-to's for native compilation can be found https://openfoamwiki.net/index.php/Installation/Linux/OpenFOAM-dev/Fedora here ]
- using netbeans as an IDE with OpenFOAM
Tools / Libraries / additional solvers
- artificial perturbations to speed up transitioning: https://github.com/wyldckat/perturbU
- python binding for gmsh: https://github.com/nschloe/pygmsh
- multirotation and other really cool stuff: https://github.com/openfoamtutorials/OpenFOAM_Additions
- External Chimera mesh library developed at University of Rostock: https://github.com/bellero/bellerophon
Cases / Examples
- Holtzmann stuff: https://holzmann-cfd.de/openfoam/free-tutorials/the-collection
- lots of comprehensive tutorials: https://github.com/openfoamtutorials