OpenFOAM

Pages in this section:


OpenFOAM is a popular open-source Computational Fluid Dynamics toolkit written in C++ and based on the finite volume method.Currently, there are only a few flavours/versions of OpenFOAM installed bare-metal on Setonix. You can identify those versions as their module do not contain the word "container" as part of the name. These bare-metal installations can be accessed by loading their modules with the usual syntax:

$ module load openfoam/<version>

or

$ module load openfoam-org/<version>

where the -org suffix is for the OpenFOAM Foundation flavour, and the plain name is for the ESI flavour.

Some other flavours/versions of OpenFOAM are only provided as containerised installations of the two main developments of OpenFOAM, which are available as modules using the following syntax:

$ module load openfoam-container/<version>

or

$ module load openfoam-org-container/<version>

(These containerised modules will load automatically the singularity module with MPI capabilities.)

The available modules can be listed with module avail openfoam command.

The benefit of providing OpenFOAM as containers is that older versions installations are easier to manage. And the containerised modules allow to access the containerised OpenFOAM solvers and tools as if they were common bare-metal installations. With this, users won't need to use specific commands from the Singularity container engine. So, for example, a first access test of the classical pimpleFoam solver inside some of the provided containers would be:

Terminal 1. Load an OpenFOAM module of a containerised installation and execute a test on a solver
$ module load openfoam-org-container/8
$ pimpleFoam -help

Usage: pimpleFoam [OPTIONS]
options:
  -case <dir>       specify alternate case directory, default is the cwd
  -fileHandler <handler>
                    override the fileHandler
  -hostRoots <(((host1 dir1) .. (hostN dirN))>
                    slave root directories (per host) for distributed running
  -libs <(lib1 .. libN)>
                    pre-load libraries
...
  -srcDoc           display source code in browser
  -doc              display application documentation in browser
  -help             print the usage

Using: OpenFOAM-8 (see https://openfoam.org)
Build: 8-30b264cc33cd

(Of course, when using a bare metal installation and not a containerised one, then simply load the bare metal OpenFOAM module.)

The same applies to the use of OpenFOAM in Slurm batch scripts, where OpenFOAM tools and solvers are directly accessible with their basic name after loading the module.

Please read all the pages listed at the top of this page to get a full picture on how to use OpenFOAM at Pawsey.

Please adhere to the recommended best practices

Complying with the best practices listed in this documentation will keep our file systems working with optimal performance. Please read OpenFOAM: Best Practices