[Table of Contents] [Index] [ Version 9 | Version 8 | Version 7 | Version 6 | Version 5 | Version 4 ]

[Introduction →].

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 250 applications built upon a collection of over 100 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. The simpleFoam application could then simulate steady-state, turbulent, incompressible flow around the vehicle. Alternatively, the pimpleFoam application could run a transient simulation. The OpenFOAM User Guide describes these applications 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.


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.


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.


1 Introduction 2 Tutorials 2.1 Lid-driven cavity flow 2.1.1 Pre-processing 2.1.2 Viewing the mesh 2.1.3 Running an application 2.1.4 Post-processing 2.1.5 Increasing the mesh resolution 2.1.6 Introducing mesh grading 2.1.7 Increasing the Reynolds number 2.1.8 High Reynolds number flow 2.1.9 Changing the case geometry 2.1.10 Post-processing the modified geometry 2.2 Stress analysis of a plate with a hole 2.2.1 Mesh generation 2.2.2 Running the code 2.2.3 Post-processing 2.2.4 Exercises 2.3 Breaking of a dam 2.3.1 Mesh generation 2.3.2 Boundary conditions 2.3.3 Setting initial field 2.3.4 Fluid properties 2.3.5 Turbulence modelling 2.3.6 Time step control 2.3.7 Discretisation schemes 2.3.8 Linear-solver control 2.3.9 Running the code 2.3.10 Post-processing 2.3.11 Running in parallel 2.3.12 Post-processing a case run in parallel 3 Applications and libraries 3.1 The programming language of OpenFOAM 3.1.1 Language in general 3.1.2 Object-orientation and C++ 3.1.3 Equation representation 3.1.4 Solver codes 3.2 Compiling applications and libraries 3.2.1 Header .H files 3.2.2 Compiling with wmake 3.2.3 Removing dependency lists: wclean 3.2.4 Compiling libraries 3.2.5 Compilation example: the pisoFoam application 3.2.6 Debug messaging and optimisation switches 3.2.7 Linking user-defined libraries to applications 3.3 Running applications 3.4 Running applications in parallel 3.4.1 Decomposition of mesh and initial field data 3.4.2 File input/output in parallel 3.4.3 Running a decomposed case 3.4.4 Distributing data across several disks 3.4.5 Post-processing parallel processed cases 3.5 Standard solvers 3.5.1 ‘Basic’ CFD codes 3.5.2 Incompressible flow 3.5.3 Compressible flow 3.5.4 Multiphase flow 3.5.5 Direct numerical simulation (DNS) 3.5.6 Combustion 3.5.7 Heat transfer and buoyancy-driven flows 3.5.8 Particle-tracking flows 3.5.9 Discrete methods 3.5.10 Electromagnetics 3.5.11 Stress analysis of solids 3.5.12 Finance 3.6 Standard utilities 3.6.1 Pre-processing 3.6.2 Mesh generation 3.6.3 Mesh conversion 3.6.4 Mesh manipulation 3.6.5 Other mesh tools 3.6.6 Post-processing 3.6.7 Post-processing data converters 3.6.8 Surface mesh (e.g. OBJ/STL) tools 3.6.9 Parallel processing 3.6.10 Thermophysical-related utilities 3.6.11 Miscellaneous utilities 4 OpenFOAM cases 4.1 File structure of OpenFOAM cases 4.2 Basic input/output file format 4.2.1 General syntax rules 4.2.2 Dictionaries 4.2.3 The data file header 4.2.4 Lists 4.2.5 Scalars, vectors and tensors 4.2.6 Dimensional units 4.2.7 Dimensioned types 4.2.8 Fields 4.2.9 Macro expansion 4.2.10 Including files 4.2.11 Environment variables 4.2.12 Regular expressions 4.2.13 Keyword ordering 4.2.14 Inline calculations and code 4.2.15 Conditionals 4.3 Global controls 4.3.1 Overriding global controls 4.4 Time and data input/output control 4.4.1 Time control 4.4.2 Data writing 4.4.3 Other settings 4.5 Numerical schemes 4.5.1 Time schemes 4.5.2 Gradient schemes 4.5.3 Divergence schemes 4.5.4 Surface normal gradient schemes 4.5.5 Laplacian schemes 4.5.6 Interpolation schemes 4.6 Solution and algorithm control 4.6.1 Linear solver control 4.6.2 Solution under-relaxation 4.6.3 PISO, SIMPLE and PIMPLE algorithms 4.6.4 Pressure referencing 4.6.5 Other parameters 4.7 Case management tools 4.7.1 File management scripts 4.7.2 foamDictionary and foamSearch 4.7.3 The foamGet script 4.7.4 The foamInfo script 5 Mesh generation and conversion 5.1 Mesh description 5.1.1 Mesh specification and validity constraints 5.1.2 The polyMesh description 5.1.3 Cell shapes 5.1.4 1- and 2-dimensional and axi-symmetric problems 5.2 Boundaries 5.2.1 Geometric (constraint) patch types 5.2.2 Basic boundary conditions 5.2.3 Derived types 5.3 Mesh generation with the blockMesh utility 5.3.1 Writing a blockMeshDict file 5.3.2 Multiple blocks 5.3.3 Projection of vertices, edges and faces 5.3.4 Naming vertices, edges, faces and blocks 5.3.5 Creating blocks with fewer than 8 vertices 5.3.6 Running blockMesh 5.4 Mesh generation with the snappyHexMesh utility 5.4.1 The mesh generation process of snappyHexMesh 5.4.2 Creating the background hex mesh 5.4.3 Cell splitting at feature edges and surfaces 5.4.4 Cell removal 5.4.5 Cell splitting in specified regions 5.4.6 Cell splitting based on local span 5.4.7 Snapping to surfaces 5.4.8 Mesh layers 5.4.9 Mesh quality controls 5.5 Mesh conversion 5.5.1 fluentMeshToFoam 5.5.2 starToFoam 5.5.3 gambitToFoam 5.5.4 ideasToFoam 5.5.5 cfx4ToFoam 5.6 Mapping fields between different geometries 5.6.1 Mapping consistent fields 5.6.2 Mapping inconsistent fields 5.6.3 Mapping parallel cases 6 Post-processing 6.1 ParaView/paraFoam graphical user interface (GUI) 6.1.1 Overview of ParaView/paraFoam 6.1.2 The Parameters panel 6.1.3 The Display panel 6.1.4 The button toolbars 6.1.5 Manipulating the view 6.1.6 Contour plots 6.1.7 Vector plots 6.1.8 Streamlines 6.1.9 Image output 6.1.10 Animation output 6.2 Post-processing command line interface (CLI) 6.2.1 Post-processing functionality 6.2.2 Run-time data processing 6.2.3 The postProcess utility 6.2.4 Solver post-processing 6.3 Sampling and monitoring data 6.3.1 Probing data 6.3.2 Sampling for graphs 6.3.3 Sampling for visualisation 6.3.4 Live monitoring of data 6.4 Third-Party post-processing 6.4.1 Post-processing with Ensight 7 Models and physical properties 7.1 Thermophysical models 7.1.1 Thermophysical and mixture models 7.1.2 Transport model 7.1.3 Thermodynamic models 7.1.4 Composition of each constituent 7.1.5 Equation of state 7.1.6 Selection of energy variable 7.1.7 Thermophysical property data 7.2 Turbulence models 7.2.1 Reynolds-averaged simulation (RAS) modelling 7.2.2 Large eddy simulation (LES) modelling 7.2.3 Model coefficients 7.2.4 Wall functions 7.3 Transport/rheology models 7.3.1 Newtonian model 7.3.2 Bird-Carreau model 7.3.3 Cross Power Law model 7.3.4 Power Law model 7.3.5 Herschel-Bulkley model 7.3.6 Casson model 7.3.7 General strain-rate function

Citation details:

title = "OpenFOAM v8 User Guide"
author = "The OpenFOAM Foundation"
url = "https://cfd.direct/openfoam/user-guide-v8"
© 2011-2022 OpenFOAM Foundation
CC-NC-ND 3.0
OpenFOAM v8 User Guide
Tagged on: