Overview of OpenFOAM
OpenFOAM stands for Open Source Field Operation and Manipulation.
OpenFOAM is mainly a C++ library used to solve partial differential equations (PDEs), and ordinary differential equations (ODEs).
OpenFOAM is under active development. It is originally developed by Henry Weller and Hvorje Jasak in Imperial College London and released as open source code in 2004.
At the moment, the development of OpenFOAM have been forked into three main development
1):
openfoam.com (OpenCFD Ltd, ESI Group)
openfoam.org (The OpenFOAM Foundation Ltd - Henry Weller)
foam-extend (Wikki Ltd - Prof Hvorje Jasak)
OpenFOAM are packaged with ready-to-use solvers, pre-processing utilities, and post-processing utilities.
OpenFOAM is licensed under the GNU General Public License (
GPL). Therefore, it can be freely distributed with the source code, and run on massively parallel computers.
Industries, academia and research labs makes up the large community of OpenFOAM users and contributors.
Features
Fluid Dynamics/physical modelling features listed in CFD Direct (openfoam.org):
Turbulence modelling: (Reynolds-Averaged Simulation (RAS), Large-Eddy Simulation (LES) and Detached-Eddy Simulation (DES, DDES, etc).
Thermophysical modelling
Transport/rheology
Multiphase flows
Rotating flows with multiple reference frames (MRF)
Rotating flows with arbitrary mesh interface (AMI)
Dynamic meshes
Compressible/thermal flows
Conjugate heat transfer
Porous media
Lagrangian particle tracking
Reaction kinetics / chemistry
OpenFOAM in General CFD Workflow
Architecture and Numerics
Discretisation based on Finite Volume Method (FVM), with collocated polyhedral unstructured meshes.
Second order accuracy in space and time. Various discretization schemes are available.
Steady and transient solvers are available.
Pressure-velocity coupling via segregated methods (SIMPLE and PISO). Coupled solvers are under active development.
Massive parallelism through domain decomposition.
All components are implemented in library structure to facilitate the development of customised solvers and applications.
OpenFOAM vs commercial CFD applications
Most capabilities offered by commercial CFD applications are available in OpenFOAM. However, the main differences are:
There is no native
GUI in official release.
The users have to execute each solvers and pre- and post-processing utilities via command line interface (CLI), particularly Linux bash shell.
The users have to directly edit case configurations in human-readable plain text format.
While being tedious and prone to errors, these allow:
Official documentation may not be complete, but useful resources are available from various online sources contributed by users/developer community.
Complete source code is accessible, allowing customisation of a solver for a specific need. Therefore OpenFOAM is suitable to be used for research and development.
Most importantly, it is free. No restriction on the number of parallel computing processes makes OpenFOAM typically available in large HPC clusters.
GUI for OpenFOAM
-
But many 3rd party
GUI available,
It is possible to develop own
GUI tailored for a problem of interest, e.g a simple
GUI can be quickly written in Python with
PySimpleGUI GUI framework +
PyFoam utilities
Learn
Serious use of OpenFOAM can be a good reason to be exposed with linux-based
OS and its CLI shell scripting for those uninitiated
-
-
There are also good learning materials from the community
Ultimately, understanding the actual code is the only way to know the exact implementation and behaviour of the software. However, this is usually not required unless for a niche and advanced applications and for precise solution control.
This topic does not exist yet
You've followed a link to a topic that doesn't exist yet. If permissions allow, you may create it by clicking on Create this page.