Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

OpenFOAM (Open-source Field Operation And Manipulation) is well-known software in computational fluid mechanics (CFD). It contains several standard solvers for simulating a broad range of continuum flows. Using the OpenFOAM toolbox, users can build their own solver to solve specific problems. OpenFOAM is open-source software under the GNU General Public License Version 3.

Official website: https://www.openfoam.com/ and https://openfoam.org/

Updated: July 2023Jan 2024

...

Table of Contents
minLevel1
maxLevel6
include
outlinefalse
indent
excludeModules
typelist
class
printablefalse

...

Modules

Module name

Description

Note

OpenFOAM/v2212-cpeCray-23.03

From https://www.openfoam.com/

MPI only, more tools

OpenFOAM/10-cpeCray-23.03

From https://openfoam.org/

MPI only, slightly faster

1. Case directory

A case directory is needed to run OpenFOAM. For new users, visit https://www.openfoam.com/documentation/tutorial-guide or https://doc.cfd.direct/openfoam/user-guide-v10/index.

...

Below is an example of OpenFOAM submission script (submitFoam.sh) using $WM_PROJECT_DIR/bin/tools/RunFunctions. It can be created using vi submitFoam.sh.

...

Another example of OpenFOAM submission script (submitFoam.sh) is shown below.

Note
  • The total number of tasks (nodes x ntasks-per-node) must be equal or larger than to the number of subdomains specified in system/decomposeParDict.

  • LANTA compute partition has 128 CPU cores per node. Therefore, ntasks-per-node <= 128.

...

Info

The main log will be recorded in ‘slurm-xxxxxx.out’.

4. Additional note

Note

(As of July 2023)

Due to some issues that degrade HPE Slingshot interconnect performance, we advise users to not request whole full node when running a large case across two or more nodes. In other words, we recommend using ntasks-per-node < 128 when nodes >2.

For instance, #SBATCH --nodes=4 --ntasks-per-node=64 --mem-per-cpu=3800M for 256 subdomains.

note

...

(As of June 2023)

...

  1. Out of memory
    If users encounter
    slurmstepd: error: Detected ... oom-kill event(s) ... killed by the cgroup out-of-memory handler
    in any log file, try increasing RAM per CPU core by adding

    • #SBATCH --mem-per-cpu=3800M – while having ntasks-per-node <= 64 or

    • #SBATCH --mem-per-cpu=7600M – while having ntasks-per-node <= 32

    to your submitFoam.sh.

  2. Floating-point exception trapping
    By default, the floating-point exception trapping is disabled. To enable, add export FOAM_SIGFPE=true to your script.

  3. Building custom executable
    Please use

    • FOAM_USER_APPBIN in place of FOAM_APPBIN and FOAM_SITE_APPBIN

    • FOAM_USER_LIBBIN in place of FOAM_LIBBIN and FOAM_SITE_LIBBIN

    to avoid permission denied.
    [v2212] To manually specify those paths, see $WM_PROJECT_DIR/bin/tools/change-userdir.sh

...

Contact Us
ThaiSC support service : thaisc-support@nstda.or.th