An object-oriented Computational Fluid Dynamics(CFD) toolkit
Description
OpenFOAM core is an extensible framework written in C++, i.e. it provides a sufficient abstraction for a programmer to build their own code for an underlying mathematical model.
Prerequisites
OpenFOAM is a free, open source software which is released under the GNU-GPL license
Modules
The following versions of OpenFOAM are installed in HLRN system
OpenFOAM version | OpenFOAM module file | Requirements | HLRN Site |
---|---|---|---|
v4 | openfoam/gcc.9/4 | gcc/9.2.0, openmpi/gcc.9/3.1.5 | Berlin, Goettingen |
v5 | openfoam/gcc.9/5 | gcc/9.2.0, openmpi/gcc.9/3.1.5 | - |
v6 | openfoam/gcc.9/6 | gcc/9.2.0, openmpi/gcc.9/3.1.5 | - |
v7 | openfoam/gcc.9/7 | gcc/9.2.0, openmpi/gcc.9/3.1.5 | - |
v1912 | openfoam/gcc.9/v1912 | gcc/9.2.0, openmpi/gcc.9/3.1.5 | - |
Running OpenFOAM
The following steps are followed before running OpenFOAM in parallel in a distributed processors system:
Adjust the settings
...
Example Jobscripts
#!/bin/bash#SBATCH --time 1:00:00 #SBATCH --nodes 1 #SBATCH --tasks-per-node 96 #SBATCH -p standard96 #SBATCH --job-name=of_test_job #SBATCH --output=outlog/ol-%x.%j.out #SBATCH --error=outlog/ol-%x.%j.err export I_MPI_FALLBACK=0 export I_MPI_DEBUG=6 export I_MPI_FABRICS=shm:ofi export I_MPI_OFI_PROVIDER=psm2 export I_MPI_PMI_LIBRARY=libpmi.so #-------------------------------------- module load gcc/9.2.0 module load openmpi/gcc.9/3.1.5 module load openfoam/gcc.9/5 # Working Directories #--------------------- WORKDIR=$TMPDIR/openfoam# initialize OpenFOAM environment source $WM_PROJECT_DIR/etc/bashrc . ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions#--------------- cd $WORKDIR # run OpenFOAM in parallel #--------------------------runApplication decomposeParrunParallel pimpleFoam #clean the work directory#----------------------------rm -rf processor*
Compiling Own Code Over OpenFOAM
...
OpenFOAM Best Practices
...