Applications/Openfoam
From HPC
Application Details
- Description: OpenFOAM has an extensive range of features to solve anything from complex fluid flows involving chemical reactions, turbulence and heat transfer, to acoustics, solid mechanics and electromagnetics.
- Version: 4.0
- Module: openfoam/4.0
- Licence: Free open source
Usage Examples
- The core technology of OpenFOAM is a flexible set of efficient C++ modules. These are used to build a wealth of solvers, to simulate specific problems in engineering mechanics; utilities, to perform pre-and post-processing tasks ranging from simple data manipulations to visualisation and mesh processing; libraries, to create toolboxes that are accessible to the solvers/utilities, such as libraries of physical models.
- OpenFOAM is supplied with numerous pre-configured solvers, utilities and libraries and can be used like any typical simulation package. However, it is open, not only in terms of source code but also in its structure and hierarchical design, so its solvers, utilities and libraries are fully extensible.
- OpenFOAM uses finite volume numerics to solve systems of partial differential equations ascribed on any 3D unstructured mesh of polyhedral cells. The fluid flow solvers are developed within a robust, implicit, pressure-velocity, iterative solution framework, although alternative techniques are applied to other continuum mechanics solvers. Domain decomposition parallelism is fundamental to the design of OpenFOAM and integrated at a low level so that solvers can generally be developed without the need for parallel-specific coding.
SLURM example
#!/bin/bash #SBATCH --job-name=openfoam-example #SBATCH -N 1 #SBATCH -o openfoam-test.out #SBATCH -e openfoam-test.err #SBATCH -p compute #SBATCH --time=01:00:00 #SBATCH --exclusive module add openfoam/4.0 export I_MPI_DEBUG=5 export I_MPI_FABRICS=shm:tmi export I_MPI_FALLBACK=no mpirun -n 28 -cpu_bind=cores interFoam -parallel