OpenFOAM

Description

From the OpenFOAM web site: The OpenFOAM® (Open Field Operation and Manipulation) CFD Toolbox has an extensive range of features to solve anything from complex fluid flows 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. 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.

Version

  • 2.3.1

Authorized Users

  • CIRCE account holders
  • SC account holders

Platforms

  • CIRCE cluster
  • SC cluster

Modules

OpenFOAM requires the following module file to run:

  • apps/openfoam/2.3.1

Running OpenFOAM on CIRCE/SC

The OpenFOAM user guide is essential to understanding the application and making the most of it. The guide and this page should help you to get started with your simulations. Please refer to the Documentation section for a link to the guide.

  • Note on CIRCE: Make sure to run your jobs from your $WORK directory!
  • Note: Scripts are provided as examples only. Your SLURM executables, tools, and options may vary from the example below. For help on submitting jobs to the queue, see our SLURM User’s Guide.
  • Note: You also need to load the environment variables into your profile after loading the module. This is done by executing the following command in your terminal window:
[user@login0 ~]$ source $ENV_FILE

How to Submit Jobs

Provided are directions for running an interactive job and a batch script for running OpenFOAM as a multi-processor job. These scripts are provided as examples only.

Using the GUI Tools

Establishing a GUI connection to CIRCE/SC

To use OpenFOAM, you will need to connect to CIRCE/SC with GUI redirection, either using:

  • CIRCE/SC Desktop Environment
  • SSH with X11 redirection
    • If connecting from OSX or Linux via SSH, please ensure that you use one of the following commands to properly redirect X11:
      • [user@localhost ~]$ ssh -X circe.rc.usf.edu
        or
      • [user@localhost ~]$ ssh -X sc.rc.usf.edu

Once connected to CIRCE, you can open OpenFOAM using the steps below (running either paraview or paraFoam):

[user@login0 ~]$ srun --time=10:00:00 --nodes=1 --ntasks-per-node=4 --pty /bin/bash
[user@wh-520-4-1 ~]$ module add apps/openfoam/2.3.1
[user@wh-520-4-1 ~]$ touch jobname.foam
[user@wh-520-4-1 ~]$ {paraview,paraFoam}

Distributed Parallel

This script (for this example, call it "openfoam-test.sh") can be copied into your job directory (the folder with your input files and database files) and modified so that you can submit batch processes to the queues.

#!/bin/sh
#SBATCH --job-name=openfoam_job_name
#SBATCH --time=01:00:00
#SBATCH --ntasks=8

#### SLURM 8 processor OpenFOAM test to run for 1 hour.


module load apps/openfoam/2.3.1
source $ENV_FILE

mpirun  <-parallel> 

 
Next, you can change to your job’s directory, and run the sbatch command to submit the job:

[user@login0 ~]$ cd my/jobdir
[user@login0 jobdir]$ sbatch ./openfoam-test.sh
  • You can view the status of your job with the “squeue -u <username>” command

Documentation

Home Page, User Guides, and Manuals

Benchmarks, Known Tests, Examples, Tutorials, and Other Resources

  • OpenFOAM Tutorials
    • /apps/openfoam/2.3.1/OpenFOAM-2.3.1/tutorials

More Job Information

See the following for more detailed job submission information:

Reporting Bugs

Report bugs with OpenFOAM to the IT Help Desk: rc-help@usf.edu