[version 12][version 11][version 10][version 9][version 8][version 7][version 6]
The OpenFOAM User Guide provides an introduction to OpenFOAM, through some basic tutorials, and some
details about the general operation of OpenFOAM.
OpenFOAM is a collection of approximately 150
applications built upon a collection of approximately 150 software libraries (modules). Each application
performs a specific task within a CFD workflow. The snappyHexMesh application, for example, is a mesh generator for
complex geometry, which can generate a mesh around a vehicle. Fluid flow is calculated using the
foamRun application which loads a module which describes the fluid, e.g.
the incompressibleFluid module solves steady or transient, turbulent flow
of incompressible, isothermal fluids with optional mesh motion and change.
The OpenFOAM User Guide describes these applications and modules and how to execute them, either on a single
processor or in parallel on multiple processors.
Case Setup
The OpenFOAM User Guide then examines the set up of input data files for a CFD analysis. The input data includes time information (start time, end time, time step, etc) and controls for reading and writing data (time, format, compression, etc). It additionally describes the setting of numerical schemes that affects accuracy and stability of a simulation. Matrix solver controls and algorithm controls are also explained that affect computational time and stability.
Meshing
The OpenFOAM User Guide includes a chapter on meshing. It begins with the mesh structure of OpenFOAM and the handling of boundaries and boundary conditions. It describes the blockMesh application for generating meshes of simple geometries in detail, followed by the snappyHexMesh application and its control parameters. OpenFOAM includes applications that convert meshes from well known formats into the OpenFOAM format and detailed the User Guide covers principal conversion applications, e.g. fluentMeshToFoam, in detail. The mapFields application maps field data, e.g. pressure, velocity, from one mesh/geometry to another.
Post-Processing
OpenFOAM is shipped with a version of ParaView that includes a reader module to read data in OpenFOAM format. This enables visualization of solutions from OpenFOAM, with elements used commonly in CFD such as geometry surfaces, cutting planes, vector plots and streamlines. With these elements, users can generate animations conveniently with ParaView.
Case Setup
The OpenFOAM User Guide then examines the set up of input data files for a CFD analysis. The input data includes time information (start time, end time, time step, etc) and controls for reading and writing data (time, format, compression, etc). It additionally describes the setting of numerical schemes that affects accuracy and stability of a simulation. Matrix solver controls and algorithm controls are also explained that affect computational time and stability.
Meshing
The OpenFOAM User Guide includes a chapter on meshing. It begins with the mesh structure of OpenFOAM and the handling of boundaries and boundary conditions. It describes the blockMesh application for generating meshes of simple geometries in detail, followed by the snappyHexMesh application and its control parameters. OpenFOAM includes applications that convert meshes from well known formats into the OpenFOAM format and detailed the User Guide covers principal conversion applications, e.g. fluentMeshToFoam, in detail. The mapFields application maps field data, e.g. pressure, velocity, from one mesh/geometry to another.
Post-Processing
OpenFOAM is shipped with a version of ParaView that includes a reader module to read data in OpenFOAM format. This enables visualization of solutions from OpenFOAM, with elements used commonly in CFD such as geometry surfaces, cutting planes, vector plots and streamlines. With these elements, users can generate animations conveniently with ParaView.
Contents
1 Introduction
2 Tutorials
2.1 Backward-facing step
2.2 Breaking of a dam
2.3 Stress analysis of a plate with a hole
3 Applications and libraries
3.1 The programming language of OpenFOAM
3.2 Compiling applications and libraries
3.3 Running applications
3.4 Running applications in parallel
3.5 Solver modules
3.6 Standard solvers
3.7 Standard utilities
4 OpenFOAM cases
4.1 File structure of OpenFOAM cases
4.2 Basic input/output file format
4.3 Global controls
4.4 Time and data input/output control
4.5 Numerical schemes
4.6 Solution and algorithm control
4.7 Case management tools
5 Mesh generation and conversion
5.1 Mesh description
5.2 Mesh files
5.3 Mesh boundary
5.4 Mesh generation with the blockMesh utility
5.5 Mesh generation with the snappyHexMesh utility
5.6 Mesh conversion
5.7 Mapping fields between different geometries
6 Boundary conditions
6.1 Patch selection
6.2 Geometric constraints
6.3 Basic boundary conditions
6.4 Derived boundary conditions
7 Post-processing
7.1 ParaView/paraFoam graphical user interface (GUI)
7.2 Post-processing command line interface (CLI)
7.3 Post-processing functionality
7.4 Sampling and monitoring data
7.5 Third-Party post-processing
8 Models and physical properties
8.1 Thermophysical models
8.2 Turbulence models
8.3 Transport/rheology models
Index
1 Introduction
2 Tutorials
2.1 Backward-facing step
2.2 Breaking of a dam
2.3 Stress analysis of a plate with a hole
3 Applications and libraries
3.1 The programming language of OpenFOAM
3.2 Compiling applications and libraries
3.3 Running applications
3.4 Running applications in parallel
3.5 Solver modules
3.6 Standard solvers
3.7 Standard utilities
4 OpenFOAM cases
4.1 File structure of OpenFOAM cases
4.2 Basic input/output file format
4.3 Global controls
4.4 Time and data input/output control
4.5 Numerical schemes
4.6 Solution and algorithm control
4.7 Case management tools
5 Mesh generation and conversion
5.1 Mesh description
5.2 Mesh files
5.3 Mesh boundary
5.4 Mesh generation with the blockMesh utility
5.5 Mesh generation with the snappyHexMesh utility
5.6 Mesh conversion
5.7 Mapping fields between different geometries
6 Boundary conditions
6.1 Patch selection
6.2 Geometric constraints
6.3 Basic boundary conditions
6.4 Derived boundary conditions
7 Post-processing
7.1 ParaView/paraFoam graphical user interface (GUI)
7.2 Post-processing command line interface (CLI)
7.3 Post-processing functionality
7.4 Sampling and monitoring data
7.5 Third-Party post-processing
8 Models and physical properties
8.1 Thermophysical models
8.2 Turbulence models
8.3 Transport/rheology models
Index
@book { greenshields2024, title = "OpenFOAM v12 User Guide", author = "Greenshields, Christopher", year = 2024, url = "https://doc.cfd.direct/openfoam/user-guide-v12", publisher = "The OpenFOAM Foundation", address = "London, UK" }
OpenFOAM v12 User Guide