3 Applications and libraries

Chapter 3 Applications and libraries

We should reiterate from the outset that OpenFOAM is a C++ library used primarily to create executables, known as applications. OpenFOAM is distributed with a large set of precompiled applications but users also have the freedom to create their own or modify existing ones. Applications are split into two main categories:

solvers
that are each designed to solve a specific problem in computational continuum mechanics;
utilities
that perform simple pre-and post-processing tasks, mainly involving data manipulation and algebraic calculations.

OpenFOAM is divided into a set of precompiled libraries that are dynamically linked during compilation of the solvers and utilities. Libraries such as those for physical models are supplied as source code so that users may conveniently add their own models to the libraries.

This chapter gives an overview of solvers, utilities and libraries, their creation, modification, compilation and execution. The actual writing of code for solvers and utilities is not described here but is within the Programmer’s Guide. The Programmer’s Guide is currently under development so, if users have any queries, further information may also available at the OpenFOAM web site.