Update Tue Feb 10th 11:30am -- This issue is resolved.  

There is a bug in the changes we made to a part of our batch software during the downtime. The bug is affecting some users when they submit jobs to our system.

CFX

ANSYS CFX (called CFX hereafter) is a computational fluid dynamics (CFD) program for modeling fluid flow and heat transfer in a variety of applications.

Availability and Restrictions

CFX is available on Oakley and Glenn Clusters. The versions currently available at OSC are:

VERSION GLENN OAKLEY notes
14.5 X*    
14.5.7   X  
15.0.7   X*  
16.0   X  
*: Current default version

You can use module avail fluent  to view available modules for a given machine. Feel free to contact OSC Help if you need other versions for your work.

Access for Academic Users

Use of ANSYS products for academic purposes requires validation. In order to obtain validation, please contact OSC Help for further instruction.

Currently, there are in total 25 ANSYS CFD base license tokens and 68 HPC tokens for academic users. These base tokens are shared by available ANSYS CFD related projusts (see "Academic Research -> ANSYS Academic Research CFD" in this table for details). These HPC tokens are shared with all ANSYS products we have at OSC. A base license token will allow CFX to use up to 4 cores without any additional tokens. If you want to use more than 4 cores, you will need an additional "HPC" token per core. For instance, a serial CFX job with 1 core will need 1 base license token while a parallel CFX job with 12 cores will need 1 base license token and 8 HPC tokens.

A job using a base license token can be submitted to either Glenn or Oakley cluster. A parallel job using HPC tokens (with "ansyspar" flag) however can only be submitted to Oakley cluster due to scheduler limitations. 

Access for Commerical Users

Contact OSC Help for getting access to CFX if you are a commerical user.

Usage

Usage on Glenn

Set-up on Glenn

CFX can only be run on the compute nodes. Therefore, all CFX jobs are run via the batch scheduling system, either as interactive or unattended jobs. To load the default version, use  module load fluent . To select a particular software version, use   module load fluentversion . For example, use  module load fluent14.5   to load CFX version 14.5 on Glenn. 

Batch Usage on Glenn

When you log into glenn.osc.edu you are actually logged into a linux box referred to as the login node. To gain access to the mutiple processors in the computing environment, you must submit your analysis to the batch system for execution. Batch jobs can request mutiple nodes/cores and compute time, up to the limits of the OSC systems. Refer to Queues and Reservations and Batch Limit Rules for more info. Batch jobs run on the compute nodes of the system and not on the login node. It is desirable for big problems since more resources can be used.

Interactive Batch Session

Interactive mode is similar to running CFX on a desktop machine in that the graphical user interface will be sent from OSC and displayed on the local machine. Interactive jobs are run on compute nodes of the cluster, by turning on X11 forwarding. The intention is that users can run CFX interactively for the purpose of building their model and preparing their input file. Once developed this input file can then be run in no-interactive batch mode.

To run interactive CFX GUI, a batch job need to be submitted from the login node, to request necessary compute resources, with X11 forwarding. Please follwoing the steps below to use CFX GUI interactivly:

  1. Ensure that your SSH client software has X11 forwarding enabled
  2. Connect to Glenn system
  3. Request an interactive job. The command below will request one whole node with 8 cores (  -l nodes=1:ppn=8 ), for a walltime of one hour ( -l walltime=1:00:00 ), with one ANSYS CFD license (modify as per your own needs):
    qsub -I -X -l nodes=1:ppn=8 -l walltime=1:00:00 -l software=fluent+1
    
  4. Once the interactive job has started, run the following commands to setup and start the CFX GUI:

    module load fluent
    cfx5
    
Non-interactive Batch Job (Serial Run Using 1 Base Token)

A batch script can be created and submitted for a serial or parallel run. You can create the batch script using any text editor you like in a working directory on the system of your choice.

Starting from September 15, 2015, Glenn only accepts CFX jobs with base license ( software=fluent+1 ); and a job using HPC tokens (with "ansyspar" flag) should be submitted to Oakley cluster due to scheduler issue.

Below is the example batch script (  job.txt ) for a serial run with an input file test.def ) on Glenn:

#PBS -N serialjob_cfx
#PBS -l walltime=1:00:00
#PBS -l software=fluent+1
#PBS -l nodes=1:ppn=1
#PBS -j oe
#PBS -S /bin/bash
#Set up CFX environment.
module load fluent
#'cd' directly to your working directory
cd $PBS_O_WORKDIR
#Copy CFX files like .def to $TMPDIR and move there to execute the program
cp test.def $TMPDIR/
cd $TMPDIR
#Run CFX in serial with test.def as input file
cfx5solve -batch -def test.def 
#Finally, copy files back to your home directory
cp  * $PBS_O_WORKDIR

In order to run it via the batch system, submit the job.txt  file with the command: qsub job.txt  

Usage on Oakley

Set-up on Oakley

To load the default version, use  module load fluent . To select a particular software version, use   module load fluent/version . For example, use  module load fluent/16.0  to load CFX version 16.0 on Oakley. 

Batch Usage on Oakley

When you log into oakley.osc.edu you are actually logged into a linux box referred to as the login node. To gain access to the mutiple processors in the computing environment, you must submit your analysis to the batch system for execution. Batch jobs can request mutiple nodes/cores and compute time up to the limits of the OSC systems. Refer to Queues and Reservations and Batch Limit Rules for more info.  Batch jobs run on the compute nodes of the system and not on the login node. It is desirable for big problems since more resources can be used.

Interactive Batch Session

Interactive mode is similar to running CFX on a desktop machine in that the graphical user interface will be sent from OSC and displayed on the local machine. Interactive jobs are run on compute nodes of the cluster, by turning on X11 forwarding. The intention is that users can run CFX interactively for the purpose of building their model and preparing their input file. Once developed this input file can then be run in no-interactive batch mode.

To run interactive CFX GUI, a batch job need to be submitted from the login node, to request necessary compute resources, with X11 forwarding. Please follwoing the steps below to use CFX GUI interactivly:

  1. Ensure that your SSH client software has X11 forwarding enabled
  2. Connect to Oakley system
  3. Request an interactive job. The command below will request one whole node with 12 cores (  -l nodes=1:ppn=12 ), for a walltime of one hour ( -l walltime=1:00:00 ), with one ANSYS CFD license (modify as per your own needs):
    qsub -I -X -l nodes=1:ppn=12 -l walltime=1:00:00 -l software=fluent+1
    
  4. Once the interactive job has started, run the following commands to setup and start the CFX GUI:

    module load fluent
    cfx5 
    
Non-interactive Batch Job (Serial Run Using 1 Base Token)

A batch script can be created and submitted for a serial or parallel run. You can create the batch script using any text editor you like in a working directory on the system of your choice.

Starting from September 15, 2015, Glenn only accepts CFX jobs with base license ( software=fluent+1 ); and a job using HPC tokens (with "ansyspar" flag) should be submitted to Oakley cluster due to scheduler issue.

Below is the example batch script (  job.txt ) for a serial run with an input file test.def ) on Glenn:

#PBS -N serialjob_cfx
#PBS -l walltime=1:00:00
#PBS -l software=fluent+1
#PBS -l nodes=1:ppn=1
#PBS -j oe
#PBS -S /bin/bash
#Set up CFX environment.
module load fluent
#'cd' directly to your working directory
cd $PBS_O_WORKDIR
#Copy CFX files like .def to $TMPDIR and move there to execute the program
cp test.def $TMPDIR/
cd $TMPDIR
#Run CFX in serial with test.def as input file
cfx5solve -batch -def test.def 
#Finally, copy files back to your home directory
cp  * $PBS_O_WORKDIR

In order to run it via the batch system, submit the job.txt  file with the command: qsub job.txt  

Non-interactive Batch Job (Parallel Execution using HPC token)

CFX can be run in parallel, but it is very important that you read the documentation in the CFX Manual on the details of how this works.

In addition to requesting the base license token ( -l software=fluent+1 ), you need to request copies of the ansyspar license, i.e., HPC tokens. However the scheduler cannot handle two "software" flags simultaneously, so the syntax changes. The new option is  -W x=GRES:fluent+1%ansyspar+[n] , where [n] is equal to the number of cores you requested minus 4.

Parallel jobs have to be submitted on Oakley via the batch system. An example of the batch script follows:

#PBS -N paralleljob_cfx
#PBS -l walltime=10:00:00
#PBS -l nodes=2:ppn=12
#PBS -W x=GRES:fluent+1%ansyspar+20
#PBS -j oe
#PBS -S /bin/bash
#Set up CFX environment.
module load fluent
#'cd' directly to your working directory
cd $PBS_O_WORKDIR
#Copy CFX files like .def to $TMPDIR and move there to execute the program
cp test.def $TMPDIR/
cd $TMPDIR
#Convert PBS_NODEFILE information into format for CFX host list
nodes=`cat $PBS_NODEFILE`
nodes=`echo $nodes | sed -e 's/ /,/g'`
#Run CFX in parallel with new.def as input file
#if multiple nodes
cfx5solve -batch -def test.def  -par-dist $nodes -start-method "Platform MPI Distributed Parallel"
#if one node
#cfx5solve -batch -def test.def -par-dist $nodes -start-method "Platform MPI Local Parallel"
#Finally, copy files back to your home directory
cp  * $PBS_O_WORKDIR

Further Reading

Supercomputer: 
Service: