OpenFOAM relies some third-party software packages (in addition to OpenMPI) for some important tasks:
- Scotch and PT-Scotch for domain decomposition for parallel running (recommended/essential).
- ParaView visualization application (essential, without an alternative, compatible visualisation tool)
- CGAL Computational Geometry Algorithms Library used by the experimental mesher, foamyHexMesh (not essential).
ThirdParty repository contains scripts for compiling these software packages. The
README file contains some information about the compiling the software, but we will provide step-by-step instructions for compiling Scotch/PT-Scotch and ParaView below.
OpenFOAM requires Scotch/PT-Scotch version 6 and higher since it includes a fix to allow both the
libptscotch libraries to be linked to the same application. Version 6 can be installed as a package for most recent versions of Linux, but not Ubuntu, since the Debian package maintainers have failed to upgrade to version 6 since its release in December 2012. Note that the packaged version of OpenFOAM-dev for Ubuntu contains the object libraries for Scotch/PT-Scotch v6.0.9 built from
ThirdParty-dev, as described next.
If a packaged version is not available, Scotch/PT-Scotch v6.0.9 can be installed simply by going into the
ThirdParty directory (e.g.
ThirdParty-dev) where the sources can be compiled by running the
Note that the
Allwmake script is set up to be able to compile other packages, e.g. GCAL, but these packages are ignored unless the source code is downloaded to the
For the current supported version of ParaView , the source code is downloaded automatically. It compiles without modification, except for GCC v10+, when it is automatically patched by the installation script. ParaView is compiled by running the
makeParaView script, i.e.
Expect ParaView to take a long time to compile, typically several hours on a desktop computer. Following compilation, update the environment by sourcing the .
bashrc (or .
cshrc) file as described in 3. Setting the Environment or by typing