Overview

OpenFOAM is an open source finite volume CFD package. http://www.openfoam.com/

Running OpenFOAM
  1. Load the appropriate modules:

 

module load manchester
module load OpenFOAM/2.1.1
  • Please note that this requires gnu/4.7.1 and not Intel compilers. Please report any issues with the module file to manchester@n8hpc.org.uk
  1. There are several standard solvers provided (http://www.openfoam.org/docs/user/standard-solvers.php). In addition there are several utilities for pre/post processing or mesh manipulation etc. (http://www.openfoam.org/docs/user/standard-utilities.php). All these applications will be in your path upon loading the module.
  2. It is recommended that users employ 1 CPU core for every ~50,000 cells of their mesh for best performance.

 

Licensing and Version
  1. OpenFOAM is distributed by the OpenFOAM Foundation and is freely available and open source, licensed under the GNU General Public Licence.http://www.openfoam.org/licence.php
  2. Version 2.1.1 is currently installed

 

Further Information
  1. gcc 4.7.1 has been used for the build
  2. the inbuilt Paraview is being tested
  3. no environment variables pointing to the user’s $HOME have been set via the module
  4. To run in parallel, you will first need to decompose your domain using decomposePar. An appropriate decomposeParDict file should be placed in the system folder. As an example;

 

/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  2.1.1                                 |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    location    "system";
    object      decomposeParDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

numberOfSubdomains $NSLOTS ;

method         scotch;

// ************************************************************************* //

One can then use for example; mpirun -np $NSLOTS foamExecutable -parallel