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 2023Sep 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

Info

In addition to OpenFOAM,

  • Gmsh (Gmsh/4.12.2-cpeCray-23.03-NoGUI) --- a finite-element mesh generator

  • ParaView (ParaView/5.12.1-cpeCray-23.03-NoGUI) --- a scientific visualization tool

are also available on LANTA.

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

5. Post-processing

PareView is recommended for visualizing software outputs directly on LANTA (see ParaView-on-LANTA). The following are our notes when opening an OpenFOAM case.

  • For ParaView to read an OpenFOAM case directory, an empty file (.foam) representing the directory is required to be presented inside.

  • Please pay attention when selecting Labal Size and Scalar Size. If your case was run on LANTA, then the Label Size is 32 bits while the Scalar Size is 64 bits. If inconsistent numbers were chosen, you could get a black layout screen.

    Screenshot from 2024-09-04 14-13-06-20240904-071306.pngImage Added
  • When opening a large case, especially a deconstructed case, it is common that a “Not responding“ message window would appear. Before clicking any button, please monitor the progress bar at the bottom for a while, if it increases little by little, then let the warnings be.

...

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