openfoam/doc/Build.md
2019-06-24 18:42:39 +02:00

5.0 KiB

OpenFOAM® Quick Build Guide

Prior to building, ensure that the system requirements are satisfied (including any special cross-compiling considerations), and source the correct OpenFOAM environment. For example, for the OpenFOAM-v1906 version:

source /installation/path/OpenFOAM-v1906/etc/bashrc

Preliminaries

The third-party directory includes a readme and additional information about requirements and a more detailed build guide.

Some known build issues related to specific compiler and VTK library versions can be found in the $WM_PROJECT_DIR/doc/BuildIssues.md file.

If you need to change the default versions for third-party libraries, or use system libraries for some components, please some additional information about the config structure.

Compile OpenFOAM

The compilation process is self-contained and will compile and install all OpenFOAM code and dependencies.

  • Test the system readiness (optional, not supported for cross-compilation)
foamSystemCheck
  • Change to the main OpenFOAM directory ($WM_PROJECT_DIR). If this fails, the environment is not correctly configured.
foam
  • Compile OpenFOAM
./Allwmake -s -l
  • In case you need to stop the compilation, continue later by running ./Allwmake again.

Compile OpenFOAM faster

For faster compilation, users should take advantage of multi-processor machines when building the code. This is supported directly by wmake and the Allwmake scripts. For example,

wmake -j               # Use all cores
wmake -j 8             # Use specified number of cores

It can also be helpful to use the builtin queuing (the -queue option), which collects subdirectories and dispatches to make in larger chunks.

The following compilation sequence can be useful:

./Allwmake -j -s -q -l

This compiles with all cores (-j), reduced output (-s, -silent), with queuing (-q, -queue) and logs (-l, -log) the output to a file such as log.linux64GccDPInt32Opt for later inspection.

If you use the -k option (-keep-going = ignore errors) to compile as much as possible on the first pass, be certain to follow that with second pass (without the -k option) at a later stage to ensure that you haven't missed any error messages.

Post-compilation steps

  • Open a new shell and source the OpenFOAM environment to see all changes (refer to top of page).
  • Validate the build (not supported for cross-compilation) by running
foamInstallationTest
  • Create the user run directory:
mkdir -p $FOAM_RUN
  • Test the installation with a simple tutorial:
run
cp -r $FOAM_TUTORIALS/incompressible/simpleFoam/pitzDaily ./
cd pitzDaily
blockMesh
simpleFoam

ParaView

OpenFOAM ships with ParaView sources for post-processing OpenFOAM field results. However, the paraview version distributed with the operating system or a binary package will often be sufficient, and avoids additional compilation complexity.

If you do wish to compile ParaView from source, it is recommended that you do so after completing an initial compilation of OpenFOAM. This gets the process started much more quickly. At a later stage, OpenFOAM can be updated to compile with paraview. Only the affected applications will be compiled (eg, the blockMesh reader module) and the balance of the OpenFOAM installation will not affected.

If you decide to compiling in two passes, you only need to execute the top-level Allwmake a second time. Do not use wclean to force a complete rebuild! This is unnecessary.

More details in the ThirdParty build guide.



Copyright 2019 OpenCFD Ltd