Contents

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 new user-defined libraries to existing 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 Regular expressions
  4.2.12 Keyword ordering
  4.2.13 Inline calculations and code
 4.3 Time and data input/output control
  4.3.1 Time control
  4.3.2 Data writing
  4.3.3 Other settings
 4.4 Numerical schemes
  4.4.1 Time schemes
  4.4.2 Gradient schemes
  4.4.3 Divergence schemes
  4.4.4 Surface normal gradient schemes
  4.4.5 Laplacian schemes
  4.4.6 Interpolation schemes
 4.5 Solution and algorithm control
  4.5.1 Linear solver control
  4.5.2 Solution under-relaxation
  4.5.3 PISO, SIMPLE and PIMPLE algorithms
  4.5.4 Pressure referencing
  4.5.5 Other parameters
 4.6 Case management tools
  4.6.1 File management scripts
  4.6.2 foamDictionary and foamSearch
  4.6.3 The foamGet script
  4.6.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 Snapping to surfaces
  5.4.7 Mesh layers
  5.4.8 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
OpenFOAM v6 User Guide - Contents