This guide accompanies the release of version v1612+ of the Open Source Field Operation and Manipulation (OpenFOAM) C++ libraries. It provides a description of the operation of OpenFOAM including case set-up, the wide-ranging functionality available, followed by running applications and post-processing the results.
OpenFOAM is first and foremost a C++ library, used primarily to create executables, known as applications. The applications fall into two categories: solvers, that are each designed to solve a specific problem in continuum mechanics; and utilities, that are designed to perform tasks that involve data manipulation. New solvers and utilities can be created by its users with some pre-requisite knowledge of the underlying method, physics and programming techniques involved.
OpenFOAM is supplied with pre- and post-processing environments. The interface to the pre- and post-processing are themselves OpenFOAM utilities, thereby ensuring consistent data handling across all environments. The overall structure of OpenFOAM is shown in Figure 1.1.
The file structure of OpenFOAM cases is described in chapter 2, with examples of the syntax and file format required when specifying various input quantities.
Running OpenFOAM applications is presented in chapter 3 for serial operation and the additional steps required for parallel operation.
Mesh generation is described in chapter 4 using the mesh generators supplied with OpenFOAM and conversion of mesh data generated by third-party products.
Chapter 5 provides details of the numerous models offered by OpenFOAM, including boundary conditions, thermophysical and turbulence models.
Solving OpenFOAM cases is presented in chapter 6, including descriptions of numerical schemes, case control, and solution monitoriing.
Post-processing is described in chapter 7.
Comprehensive reference lists for the avaliable solvers, utilities, libraries and boundary conditions are available in appendix A