Contents

1 Introduction
2 Tutorials
 2.1 Backward-facing step
  2.1.1 Pre-processing
  2.1.2 Mesh generation
  2.1.3 Viewing the mesh
  2.1.4 Boundary and initial conditions
  2.1.5 Physical properties
  2.1.6 Momentum transport
  2.1.7 Control
  2.1.8 Discretisation and linear-solver settings
  2.1.9 Running an application
  2.1.10 Time selection in ParaView
  2.1.11 Colouring surfaces
  2.1.12 Cutting plane (slice)
  2.1.13 Vector plots
  2.1.14 Popular filters in ParaView
  2.1.15 Contours
  2.1.16 Streamline plots
  2.1.17 Inlet boundary condition
  2.1.18 Turbulence model
 2.2 Breaking of a dam
  2.2.1 Mesh generation
  2.2.2 Boundary conditions
  2.2.3 Phases
  2.2.4 Setting initial fields
  2.2.5 Fluid properties
  2.2.6 Gravity
  2.2.7 Turbulence modelling
  2.2.8 Time step control
  2.2.9 Discretisation schemes
  2.2.10 Linear-solver control
  2.2.11 Running the code
  2.2.12 Post-processing
  2.2.13 Running in parallel
  2.2.14 Post-processing a case run in parallel
 2.3 Stress analysis of a plate with a hole
  2.3.1 Mesh generation
  2.3.2 Boundary and initial conditions
  2.3.3 Physical properties
  2.3.4 Control
  2.3.5 Discretisation schemes and linear-solver control
  2.3.6 Running the code
  2.3.7 Post-processing
3 Applications and libraries
 3.1 The programming language of OpenFOAM
 3.2 Compiling applications and libraries
  3.2.1 Header .H files
  3.2.2 Compiling with wmake
  3.2.3 Including headers
  3.2.4 Linking to libraries
  3.2.5 Source files to be compiled
  3.2.6 Running wmake
  3.2.7 wmake environment variables
  3.2.8 Removing dependency lists: wclean
  3.2.9 Compiling libraries
  3.2.10 Compilation example: the foamRun application
  3.2.11 Debug messaging and optimisation switches
  3.2.12 Dynamic linking at run-time
 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 Solver modules
  3.5.1 Single-phase modules
  3.5.2 Multiphase/VoF flow modules
  3.5.3 Solid modules
  3.5.4 Film modules
  3.5.5 Utility modules
  3.5.6 Base classes for solver modules
 3.6 Standard solvers
  3.6.1 Main solver applications
  3.6.2 Legacy solver applications
 3.7 Standard utilities
  3.7.1 Pre-processing
  3.7.2 Mesh generation
  3.7.3 Mesh conversion
  3.7.4 Mesh manipulation
  3.7.5 Other mesh tools
  3.7.6 Post-processing
  3.7.7 Post-processing data converters
  3.7.8 Surface mesh (e.g. OBJ/STL) tools
  3.7.9 Parallel processing
  3.7.10 Thermophysical-related utilities
  3.7.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 Units and unit conversion
  4.2.8 Dimensioned types
  4.2.9 Fields
  4.2.10 Macro expansion
  4.2.11 Including files
  4.2.12 Environment variables
  4.2.13 Regular expressions
  4.2.14 Keyword ordering
  4.2.15 Inline calculations
  4.2.16 Inline code
  4.2.17 Conditionals
 4.3 Global controls
  4.3.1 Overriding global controls
 4.4 Time and data input/output control
  4.4.1 Modules
  4.4.2 Time control
  4.4.3 Data writing
  4.4.4 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 tolerances
  4.6.3 Preconditioned conjugate gradient solvers
  4.6.4 Smooth solvers
  4.6.5 Geometric-algebraic multi-grid solvers
  4.6.6 Solution under-relaxation
  4.6.7 SIMPLE and PIMPLE algorithms
  4.6.8 Pressure referencing
 4.7 Case management tools
  4.7.1 General file management
  4.7.2 The foamDictionary utility
  4.7.3 The foamSearch script
  4.7.4 The foamGet script
  4.7.5 The foamInfo script
  4.7.6 The foamToC utility
  4.7.7 The foamUnits script
  4.7.8 The foamFind script
5 Mesh generation and conversion
 5.1 Mesh description
 5.2 Mesh files
 5.3 Mesh boundary
  5.3.1 Generic patch and wall
  5.3.2 1D/2D and axi-symmetric problems
  5.3.3 Symmetry condition
  5.3.4 Cyclic conditions
  5.3.5 Processor patches
  5.3.6 Patch groups
  5.3.7 Constraint type examples
 5.4 Mesh generation with the blockMesh utility
  5.4.1 Overview of a blockMeshDict file
  5.4.2 The vertices
  5.4.3 The edges
  5.4.4 The blocks
  5.4.5 Multi-grading of a block
  5.4.6 The boundary
  5.4.7 Multiple blocks
  5.4.8 Projection of vertices, edges and faces
  5.4.9 Naming vertices, edges, faces and blocks
  5.4.10 Blocks with fewer than 8 vertices
  5.4.11 Running blockMesh
 5.5 Mesh generation with snappyHexMesh
  5.5.1 The mesh generation process of snappyHexMesh
  5.5.2 Creating the background hex mesh
  5.5.3 Cell splitting at feature edges and surfaces
  5.5.4 Cell removal
  5.5.5 Cell splitting in specified regions
  5.5.6 Cell splitting based on local span
  5.5.7 Snapping to surfaces
  5.5.8 Mesh layers
  5.5.9 Mesh quality controls
 5.6 Mesh conversion
  5.6.1 fluentMeshToFoam
  5.6.2 starToFoam
  5.6.3 gambitToFoam
  5.6.4 ideasToFoam
  5.6.5 cfx4ToFoam
 5.7 Mapping fields between different geometries
  5.7.1 Mapping consistent fields
  5.7.2 Mapping inconsistent fields
  5.7.3 Mapping parallel cases
6 Boundary conditions
 6.1 Patch selection in field files
 6.2 Geometric constraints
 6.3 Basic boundary conditions
 6.4 Derived boundary conditions
  6.4.1 The inlet/outlet condition
  6.4.2 Entrainment boundary conditions
  6.4.3 Fixed flux pressure
  6.4.4 Time-varying boundary conditions
7 Post-processing
 7.1 ParaView/paraFoam graphical user interface (GUI)
  7.1.1 Overview of ParaView/paraFoam
  7.1.2 The Parameters panel
  7.1.3 The Display panel
  7.1.4 The button toolbars
  7.1.5 Manipulating the view
  7.1.6 Contour plots
  7.1.7 Vector plots
  7.1.8 Streamlines
  7.1.9 Image output
  7.1.10 Animation output
 7.2 Post-processing command line interface (CLI)
  7.2.1 Run-time data processing
  7.2.2 The foamPostProcess utility
 7.3 Post-processing functionality
  7.3.1 Field calculation
  7.3.2 Field operations
  7.3.3 Forces and force coefficients
  7.3.4 Sampling for graph plotting
  7.3.5 Lagrangian data
  7.3.6 Volume fields
  7.3.7 Numerical data
  7.3.8 Control
  7.3.9 Pressure tools
  7.3.10 Combustion
  7.3.11 Multiphase
  7.3.12 Probes
  7.3.13 Surface fields
  7.3.14 Meshing
  7.3.15 ‘Pluggable’ solvers
  7.3.16 Sampling surfaces
  7.3.17 Streamlines
 7.4 Sampling and monitoring data
  7.4.1 Probing data
  7.4.2 Sampling for graphs
  7.4.3 Sampling for visualisation
  7.4.4 Live monitoring of data
 7.5 Third-Party post-processing
  7.5.1 Post-processing with Ensight
8 Models and physical properties
 8.1 Thermophysical models
  8.1.1 Thermophysical and mixture models
  8.1.2 Transport model
  8.1.3 Thermodynamic models
  8.1.4 Composition of each constituent
  8.1.5 Equation of state
  8.1.6 Selection of energy variable
  8.1.7 Thermophysical property data
 8.2 Turbulence models
  8.2.1 Reynolds-averaged simulation (RAS) modelling
  8.2.2 RAS turbulence models
  8.2.3 Large eddy simulation (LES) modelling
  8.2.4 LES turbulence models
  8.2.5 Model coefficients
  8.2.6 Wall functions
 8.3 Transport/rheology models
  8.3.1 Bird-Carreau model
  8.3.2 Cross Power Law model
  8.3.3 Power Law model
  8.3.4 Herschel-Bulkley model
  8.3.5 Casson model
  8.3.6 General strain-rate function
  8.3.7 Maxwell model
  8.3.8 Giesekus model
  8.3.9 Phan-Thien-Tanner (PTT) model
  8.3.10 Lambda thixotropic model
OpenFOAM v12 User Guide - Contents
CFD Direct