Skip to main content

openfoam_org

OpenFOAM-org (version 12)

OpenFOAM-org 12 is an open-source suite of CFD solvers for fluid dynamics and heat transfer, including numerous pre- and post-processing utilities. openfoam

Module Loading

ModuleVersion
openfoam-orggcc-11.2.0/v12

To see available versions on eXplor:

module spider openfoam-org

To use OpenFOAM-org 12:

module load openfoam-org/gcc-11.2.0/v12
source /soft/env/soft/all/mcs_support/softwares/OpenFOAM-org/v12-src/OpenFOAM-12/etc/bashrc

The source .../etc/bashrc initializes the OpenFOAM environment (variables WM_PROJECT_DIR, bin paths, etc.). openfoam

Slurm Job Example for OpenFOAM-org 12

#!/bin/bash -x
#SBATCH --partition=std
#SBATCH --job-name=openfoam12
#SBATCH --output=slurm-%x.%N.%j.out
#SBATCH --error=slurm-%x.%N.%j.err
#SBATCH --nodes=1
#SBATCH --ntasks=8
#SBATCH --ntasks-per-node=8
#SBATCH --cpus-per-task=1
#SBATCH --time=1-01:00:00

# SLURM environment variables
env | grep -i slurm

# Submission directory
cd "$SLURM_SUBMIT_DIR"

# Work directory on $SCRATCHDIR
WORKDIR="$SCRATCHDIR/job.$SLURM_JOB_ID.$USER"
mkdir -p "$WORKDIR"

# Copy case (hidden files like .OpenFOAM will be created by paraFoam)
cp -rf "$SLURM_SUBMIT_DIR"/* "$WORKDIR/"

cd "$WORKDIR"

# Software environment
module purge
module load openfoam-org/gcc-11.2.0/v12
source /soft/env/soft/all/mcs_support/softwares/OpenFOAM-org/v12-src/OpenFOAM-12/etc/bashrc

# Example launch: tutorial with Allrun script
# (or replace with blockMesh, decomposePar, mpirun simpleFoam -parallel, etc.)
./Allrun > log.Allrun 2>&1

# Retrieve results
OUTDIR="$SLURM_SUBMIT_DIR/outdir.$SLURM_JOB_ID"
mkdir -p "$OUTDIR"
cp -rf "$WORKDIR"/* "$OUTDIR"

# Optional: clean scratch
# rm -rf "$WORKDIR"
note

For parallel cases, classically use decomposePar then mpirun <solver> -parallel in the script (or srun if standardizing on native Slurm MPI). openfoam-handbook.floating-gates