You are here:

Ansys

Ansys is a suite of engineering analysis software packages including finite element analysis, structural analysis, computational fluid dynamics, explicit and implicit methods, and heat transfer. For University of Utah users, CHPC utilizes the College of Engineering License; for Utah State University researchers we utilize the USU licenses.  

Fluent

One of the commonly used ansys packages is fluent, a computational fluid dynamics (CFD) software tool. Fluent includes well-validated physical modeling capabilities to deliver fast, accurate results across the widest range of CFD and multiphysics applications.

  • Version: 17.1
  • Machine: all clusters
  • Location:  /uufs/chpc.utah.edu/sys/installdir/ansys

To use fluent via the Graphical Interface:

module load ansys
fluent

This will display the fluent launcher window,where you can select options such as 2D vs 3D; from here you  launch the fluent interface.  Note that this is run on the node you are on when you issue the fluent command. For any substantial computational work  you should not run fluent on the general interactive nodes (see our Acceptable Use of Interactive Node Policy) but should do so on a compute node  by

srun -n 1 -N 1 -p kingspeak -A mygroup -t 8:00:00 --pty=/bin/tcsh -l

The above command will move you to a compute node, provided one is free.  

To use fluent via the batch script:

You can use the graphical interface to create your model and save the case file and then submit the simulation via a batch script.  Below is an example script that you can adapt to your needs. This script will run fluent on two kingspeak compute nodes.  See our slurm documentation page for details on the choice of the SBATCH directives.

#!/bin/csh
#SBATCH --time=1:00:00
#SBATCH --partition=kingspeak-guest
#SBATCH --account=owner-guest
#SBATCH --nodes 2
#SBATCH --ntasks 40
#SBATCH --constraint="c20"
#SBATCH -o slurm-%j.out-%N
#
#Below WORKDIR is the directory containing the input file
#INPUTFILE and OUTPUTFILE are the names of the input
#and output respectively
#
setenv WORKDIR $HOME/fluent_test
setenv INPUTFILE 12.1.inp
setenv OUTPUTFILE 12.1.out
cd $WORKDIR
module load ansys
srun hostname | sort > $WORKDIR/Fluent.hosts
time
fluent 2ddp -t$SLURM_NPROCS -pib -cnf=$WORKDIR/Fluent.hosts -g -i $INPUTFILE > $OUTPUTFILE
time

Ansys Electronics Desktop

ANSYS Electronics Desktop (EDT) is the premier, unified platform for electromagnetic, circuit and system simulation. Gold-standard tools like ANSYS HFSS, Maxwell, Q3D Extractor, and Simplorer are built natively in the Electronics Desktop, which serves as a universal Pre/Post processor for these tools. For more details see the Ansys Electronics Desktop webpage.

CHPC utilizes College of Engineering license, which includes the HFSS, HFSS HPC and HFSS Desktop and which status can be seen here. If you are not in College of Engineering, please, contact CHPC about how you can use it.

  • Version: 16.1 (2015.1)
  • Machine: all clusters
  • Location:  /uufs/chpc.utah.edu/sys/installdir/hfss

There are two possible ways to run Ansys EDT. One is through its Graphical User Interface (GUI), and the other is through a batch script.

Using the GUI

The GUI approach allows one to design and build the simulation, and then run it from the GUI, however, the execution is limited to a single node. One also has to run the GUI via interactive job session, which may require waiting until resources (compute nodes) free up.

To run the GUI, we need to first request the resource (compute node) using the SLURM scheduler, once they are available (command prompt returns) load the ansysedt module, and then run the ansysedt command. For example, on kingspeak:

srun -n 1 -N 1 -p kingspeak -A mygroup -t 8:00:00 --pty=/bin/tcsh -l
module load ansysedt
ansysedt

 mygroup is the user's group name.

Once the GUI loads up, set up your problem and run it as a job on the local node. Typically, it should be fine to "Use automatic settings" under the "Compute Resources" tab of the "Submit Job" dialog window.

Using batch

Running simulation in the batch is preferred for several reasons. First, one can use more than one node, which may speed up the simulation or make it feasible due to larger memory availability. Second, job will wait in the SLURM queue till the resources are available, and start without the need of user interaction.

To run in batch, one has to first design the simulation using the GUI, and save it (e.g. as *.aedt file). Then modify a few items the run_ansysedt.slr script as noted in the script, in particular, number of nodes and tasks to run on, the input directory and name.  The script is also available at /uufs/chpc.utah.edu/sys/installdir/hfss/scripts/run_ansysedt.slr, which you can simply copy to your input directory and modify there.

Ansys EDT is parallelized on two levels over distributed MPI tasks and over threads, that is we can run multiple threads per MPI task and achieve higher level of parallelism. The script above figures out the number of threads per task to use based on the node count, task count and cores per node count to fully utilize available CPU cores on each node.

Once the input file and the script are ready, submit the job as

sbatch run_ansysedt.slr

You can monitor the status of the job with

squeue -u myUNID

myUNID being your uNID.

Once the job starts, it is important to check the job log file (myInput.log) for a few things to ensure efficient execution. In particular, at the start of the log file, the program writes out user requested job distribution, for example, on 2 kingspeak nodes, 2 tasks per node:

Num tasks for machine kp045 = 2
Num cores for machine kp045 = 8
RAM limit for machine kp045 = -1
Num tasks for machine kp046 = 2
Num cores for machine kp046 = 8
RAM limit for machine kp046 = -1

 However, Ansys EDT then does its own evaluation of the simulation and adjusts the resources, which then writes to the log file, e.g.

Machines:
kp045: RAM: 90%, task0:4 cores, task1:4 cores
kp046: RAM: 90%, task0:4 cores, task1:4 cores

It is important to compare what you requested and what Ansys EDT decides to use and if there is a large mismatch in the requested and used resources, adjust the node/task count and resubmit the job. In this case, we would probably want to decrease the number of nodes from 2 to 1 and tasks from 4 to 2, effectively just running on one node.

Finally, since Ansys EDT uses its own distributed task management system, it is necessary to start some processes on all the job's nodes with some custom workarounds. In case these workarounds fail (we hope not but just in case), the simulation may run just on single node. Please, check the log file for messages that indicate this and that look like:

[error] Project:StripesOfGrapheneOnPolymiade, Design:StripesOfGraphenePolyVsTau2DSh1 (DrivenModal), Unable to locate or start COM engine on 'kp075' : Unable to reach AnsoftRSMService. Check if the service is running and if the firewall allows communication.
[warning] Project:StripesOfGrapheneOnPolymiade, Design:StripesOfGraphenePolyVsTau2DSh1 (DrivenModal), Distributed solve error on machine 'kp075'. Task dropped from simulation.

 If you see these messages, let us know.

Last Updated: 10/31/17