OpenFOAM
OpenFOAM is leading software for computational fluid dynamics (CFD). It is licensed free and open source only under the GNU General Public Licence (GPL) by the OpenFOAM Foundation. Different versions of OpenFOAM supplied from different projects exist so choose your module carefully.
Usage
There are two OpenFOAM modules, choose one and load it with either:
module load OpenFOAM/8-foss-2020a
module load OpenFOAM/v2012-foss-2020a
OpenFOAM can be used in an interactive or batch job. Both OpenFOAM modules can be activated using the module file and sourcing the OpenFOAM environment script e.g.
module load OpenFOAM/8-foss-2020a
source $FOAM_BASH
Hint
Users should investigate OpenFOAM documentation to determine which OpenFOAM executables are parallel compatible and
which are serial only. Only the simpleFoam
executable shown below is parallel compatible and is executed with srun
in multiple core jobs.
Interactive Usage
The following is an example single core interactive session running the pitzDaily example model.
After connecting to Bessemer (see Establishing a SSH connection), you can start an interactive graphical session.
module load OpenFOAM/8-foss-2020a
source $FOAM_BASH
rm -r /fastdata/$USER/tests/openfoam/run/
mkdir -p /fastdata/$USER/tests/openfoam/run
cd /fastdata/$USER/tests/openfoam/run
cp -r $FOAM_TUTORIALS/incompressible/simpleFoam/pitzDaily .
chmod 700 -R pitzDaily && cd pitzDaily
blockMesh
simpleFoam
paraFoam #To view the output.
Batch Usage
The following is an example batch job running the pitzDaily example model:
Important
You will need to supply a decomposeParDict in the system subdirectory of the case - check the installation script for an example using the EOF method to add it :
#!/bin/bash
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=4
#SBATCH --mem=8000
#SBATCH --job-name=name_OpenFOAM_smp_4
#SBATCH --output=output_OpenFOAM_smp_4
#SBATCH --time=01:00:00
#SBATCH --mail-user=a.person@sheffield.ac.uk
#SBATCH --mail-type=ALL
rm -r /fastdata/$USER/tests/openfoam/run/
mkdir -p /fastdata/$USER/tests/openfoam/run
cd /fastdata/$USER/tests/openfoam/run
module load OpenFOAM/8-foss-2020a
source $FOAM_BASH
cp -r $FOAM_TUTORIALS/incompressible/simpleFoam/pitzDaily .
chmod 700 -R pitzDaily && cd pitzDaily
cp /home/$USER/openfoam/my_custom_decomposeParDict system/decomposeParDict #You must supply you own copy or see the example modified test script below.
blockMesh
decomposePar
srun --export=ALL simpleFoam -parallel
Installation note for Administrators:
OpenFOAM v2012
OpenFOAM v2012 has been installed using Easybuild with all third party modules (NCurses 6.2, METIS 5.1.0, SCOTCH 6.0.9, CGAL 4.14.3 and Paraview 5.8.0)
Installation was tested as follows as above with the example batch script
modified to load OpenFOAM/v2012-foss-2020a (Getting Started example from https://openfoam.org/download/8-source/) with the following decomposeParDict:
https://openfoamwiki.net/index.php/DecomposePar
The module file is available below:
OpenFOAM 8
OpenFOAM 8 has been installed using Easybuild with all third party modules (NCurses 6.2, METIS 5.1.0, SCOTCH 6.0.9, CGAL 4.14.3 and Paraview 5.8.0)
Installation was tested as follows as above with the example batch script modified
(Getting Started example from https://openfoam.org/download/8-source/) with the following decomposeParDict:
https://openfoamwiki.net/index.php/DecomposePar
The module file is available below: