Difference between revisions of "OpenFOAM"
Albensoeder (talk | contribs) |
Albensoeder (talk | contribs) |
||
Line 31: | Line 31: | ||
OpenFOAM employs domain decomposition, with its decomposePar utility, to split the mesh and fields into a number of sub-domains and allocate them to separate processors. Applications can then run in parallel on separate sub-domains, with communication between processors with software that uses the [http://wiki.hpcuser.uni-oldenburg.de/index.php/Intel_MPI MPI] communications protocol. While OpenFOAM is shipped with the [http://wiki.hpcuser.uni-oldenburg.de/index.php/OpenMPI OpenMPI] library, any MPI library, such as those optimised for particular hardware platforms, can be used with OpenFOAM by “plugging” it in through the Pstream interface. | OpenFOAM employs domain decomposition, with its decomposePar utility, to split the mesh and fields into a number of sub-domains and allocate them to separate processors. Applications can then run in parallel on separate sub-domains, with communication between processors with software that uses the [http://wiki.hpcuser.uni-oldenburg.de/index.php/Intel_MPI MPI] communications protocol. While OpenFOAM is shipped with the [http://wiki.hpcuser.uni-oldenburg.de/index.php/OpenMPI OpenMPI] library, any MPI library, such as those optimised for particular hardware platforms, can be used with OpenFOAM by “plugging” it in through the Pstream interface. | ||
However, the OpenFOAM modules compiled on FLOW are linked to OpenMPI. The correct OpenMPI release is loaded automatically by the | However, the OpenFOAM modules compiled on FLOW are linked to OpenMPI. The correct OpenMPI release is loaded automatically by the ''module'' call. | ||
== Availability == | == Availability == |
Revision as of 14:04, 30 September 2013
Policy
OpenFOAM is produced by OpenCFD Ltd, is freely available and open source, licensed under the GNU General Public Licence.
Description
The OpenFOAM® (Open Field Operation and Manipulation) CFD Toolbox is a free, open source CFD for both commercial and academic organisations. OpenFOAM has an extensive range of features to solve complex fluid flows problems involving chemical reactions, turbulence and heat transfer, to solid dynamics and electromagnetics. It includes tools for meshing, notably snappyHexMesh, a parallelised mesher for complex CAD geometries, and for pre- and post-processing. Almost everything (including meshing, and pre- and post-processing) runs in parallel as standard, enabling users to take full advantage of computer hardware at their disposal.
By being open, OpenFOAM offers users complete freedom to customise and extend its existing functionality. OpenFOAM includes over 80 solver applications that simulate specific problems in engineering mechanics and over 170 utility applications that perform pre- and post-processing tasks, e.g. meshing, data visualisation, etc.
Solver Capabilities
- Incompressible flows
- Multiphase flows Combustion
- Buoyancy-driven flows
- Conjugate heat transfer
- Compressible flows
- Particle methods (DEM, DSMC, MD)
- Other (Solid dynamics, electromagnetics)
Parallel Computing
OpenFOAM employs domain decomposition, with its decomposePar utility, to split the mesh and fields into a number of sub-domains and allocate them to separate processors. Applications can then run in parallel on separate sub-domains, with communication between processors with software that uses the MPI communications protocol. While OpenFOAM is shipped with the OpenMPI library, any MPI library, such as those optimised for particular hardware platforms, can be used with OpenFOAM by “plugging” it in through the Pstream interface.
However, the OpenFOAM modules compiled on FLOW are linked to OpenMPI. The correct OpenMPI release is loaded automatically by the module call.
Availability
On flow cluster, we have differents versions of precompiled OpenFOAM, they are available as a module :
$ module av > grep openfoam
currently we have :
- openfoam/1.6-ext
- openfoam/1.7.1
- openfoam/2.0.1
- openfoam/2.1.0
- openfoam/2.1.1
- openfoam/2.2.0
- openfoam/2.2.1
note: most of the installed versions of openFOAM are compiled with gcc/4.3.4.
by default, gcc/4.7.1 is loaded by the cluster software manager. Therfore, you need first to unload gcc/4.7.1 and load gcc/4.3.4
$ module unload gcc/4.7.1 $ module load gcc/4.3.4
it's always good to check if you have load the right modules,
$ module list $ Currently Loaded Modulefiles: 1) shared 2) sge/6.2u5p2 3) paraview/3.12.0 4) openfoam/1.6-ext $ gcc --version
Usage at flow cluster
In order to use OpenFOAM, load the openfoam module, example:
$ module load openfoam/1.6-ext
Serial jobs
Parallel jobs
For parallel usage see the OpenMPI page.
Notes for OF-Devlopers
Useful links