Table of Contents

ANSYS

The documentation for the container-based 2025 R2 install of ANSYS is still under progress and requires further user feedback. This will replace the earlier ANSYS module after successful testing.

Ansys is a subsidiary of Siemens. Ansys software includes a suite of products for physics and engineering modelling using Finite Element Analysis (FEA) and Computational Fluid Dynamics (CFD). It is used to virtually test and analyze product performance in structural, fluid, thermal, and electromagnetic domains.
https://www.ansys.com/en-gb/products

Note, the University has a Ansys Academic Multiphysics Campus Solution license. See the available features that this enables, here: https://ansys.epfl.ch/Ansys_Actual_Academic_features_table.pdf


Running ANSYS tools on Comet

The entire ANSYS Academic Multiphysics Campus Solution suite is installed on Comet for all users. Currently available versions are:

The ANSYS 2025 R2 installation includes: Blade Modeler, CFD-Post, Electromagnetics Suite, Ensight, FENSAP-ICE, Forte, Fluent, LS-DYNA, Mechanical APDL, Motion, Polyflow, Rocky, Sherlock, Speos HPC, AVxcelerate Sensors, TwinAI and Workbench

We have installed ANSYS 2025 R2 into a container. It is available in the following location(s):

The container is based on an Ubuntu 22 LTS runtime, with all of the necessary ANSYS dependencies. You do not need to take a copy of the container - please leave it in its original location. To make running ANSYS applications easier, we also provide the following runtime helper script(s):

To run any ANSYS application, load the runtime helper script and then use the provided container.run command to start your chosen ANSYS tool. For example, to run ANSYS Fluent:

$ source /nobackup/shared/containers/ansys.2025r2.sh
$ container.run fluent

After using source you can call container.run as many times as you need during the same session. For example:

$ source /nobackup/shared/containers/ansys.2025r2.sh
$ container.run fluent
$ container.run forte
$ container.run forte

ANSYS 2025 R1 and earlier

Previous versions of ANSYS were installed as modules on Comet. These are now deprecated and will be removed shortly due to a number of bugs found in their installation. We strongly urge all users to move to ANSYS 2025 R2 or later using the container environments listed here.


List of ANSYS commands

A list of all the main ANSYS tools installed within the container and whether they are usable at the command line (Command Line column set to Y) - for example; in a Slurm job - or if they should be run in a desktop environment (Command Line column set to N).

In each of the cases below, the command or tool would be launched with: container.run tool_name

All CLI commands can also be used in the desktop environment.

ANSYS Tool Included From Location Tool Name Command Line Notes
Electromagnetics Suite 2025 R2 /opt/ansys/VER/AnsysEM 3dac
AnsysECADXplorer
AnsysSIXplorer
EDBStride
EDBToGDS
EDBToHFSSPI
Q3DPreProc
SIwaveRegionsExtractor
SIwaveSimController
SUtility
ansysedt
anstranslater
clipdesign
emsatEDB
hfsExportProc
hfss_pi
mwcontrol
optimize
packer
sdf2csv
siderect_solver
siwave
speng
zukentoanf
Y
N
N
Y
Y
Y
Y
Y
Y
N
Y
Y
Y
Y
Y
Y
N
Y
Y
Y
Y
N
Y
Y
Fluent 2025 R2 /opt/ansys/VER/fluent/bin aero
fluent
icing
post_analysis
udil2udil
N
Both
N
N
Y
Fluent can (optionally) make use of a GPU for compute purposes only (link)
Fluent can run both as a desktop application, as well as in command-line only mode suitable for batch compute under Slurm, use the fluent command for both.
Forte 2025 R2 /opt/ansys/VER/reaction/forte.linuxx8664/bin forte.sh
forte_batch
N
Y
The forte.sh command is used to launch the Forte desktop interface.
CFD-Post 2025 R2 /opt/ansys/VER/CFD-Post/bin cfdpost
cfx5
cfx5adapt
cfx5cmds
cfx5control
cfx5dfile
cfx5gtmconv
cfx5launch
cfx5viewer
cfxdsdbreader
N
N
Y
Y
Y
Y
Y
N
N
Y
Composite PrepPost 2025 R2 /opt/ansys/VER/ACP ACP
N
Ensight 2025 R2 /opt/ansys/VER/CEI/bin ensight
enve
enveconvert
envideo
envision
N
N
Y
N
N
CFX 2025 R2 /opt/ansys/VER/CFX/bin cfdpost
cfx5
cfx5adapt
cfx5cmds
cfx5control
cfx5dfile
cfx5gtmconv
cfx5launch
cfx5viewer
cfxdsdbreader
N
N
Y
Y
Y
Y
Y
N
N
Y
Polyflow 2025 R2 /opt/ansys/VER/polyflow Polyflow can only be started from Workbench.
Rocky 2025 R2 /opt/ansys/VER/rocky rocky
RockySolver
N
Y
The rocky command starts the Rocky desktop application.
Sherlock 2025 R2 /opt/ansys/VER/sherlock runSherlock
N
The runSherlock command starts the Sherlock desktop application.
TwinAI 2025 R2 /opt/ansys/VER/TwinAI TwinAI
N
Not currently available.
FENSAP-ICE 2025 R2 /opt/ansys/VER/fensapice/bin cfdpp2fensap
Y
Mechanical APDL 2025 R2 /opt/ansys/VER/ansys/bin launcher
N
Mechanical APDL can (optionally) make use of a GPU in certain solvers only (link).
LS-DYNA 2025 R2 /opt/ansys/VER/ansys/bin lsdyna Y
Workbench 2025 R2 /opt/ansys/VER/Framework/bin/Linux64 runwb2 N ANSYS Workbench (and all other ANSYS graphical tools) must be run from a X11 desktop using our Open OnDemand service.
zzz ANSYS Tool Included From Location Tool Name Command Line Notes

Note: VER represents the ANSYS release number, .e.g. /opt/ansys/v252 for 2025 R2.


A Sample Slurm Script

Using the container.run instructions above, an example Fluent job file may therefore look something like this:

#!/bin/bash
#SBATCH --account=my_account_code
#SBATCH --ntasks-per-node=32
#SBATCH --cpus-per-task=1
#SBATCH --mem=128G
#SBATCH --time=02:30:00
#SBATCH --partition=default_free
 
# Load the ANSYS container environment
source /nobackup/shared/containers/ansys.2025r2.sh

# Start ANSYS Fluent from inside the container
container.run fluent 2d -i myfluentjob.jou -gu -t $SLURM_NTASKS -driver null


Running graphical ANSYS tools on Comet

You can also run the graphical versions of the ANSYS tools (e.g. the interfaces launched by ANSYS Workbench) on Comet. To do so start a new X11 desktop session using our Open OnDemand service.

Comet GPU nodes and ANSYS

Using a GPU node for ANSYS Workbench display is unsupported. GPU nodes are only to be used for accelerated ANSYS Mechanical APDL solvers or batch-mode Fluent compute jobs.

Unless you are using Workbench to run Mechanical APDL solvers you should therefore not assign a GPU card, and should only ever use the VNC Desktop session option from our Open OnDemand service. Please do not use the VNC Desktop (GPU) session option - this is unsupported.

$ source /nobackup/shared/containers/ansys.2025r2.sh
$ container.run runwb2

For help on running the individual ANSYS tools (e.g. Polyflow, Static Structural, etc) on the Comet HPC desktop, please see the links below for further details.


Individual ANSYS tool guides

These short pages explain in more detail about how to run the individual ANSYS tools as well as giving sample scripts to get you started:


Building ANSYS container for Comet

Important!

This section is for RSE HPC administrators and users interested in how the container environment is built. If you are only interested in using ANSYS, stop reading here.

Build script:

To build the ANSYS container you must have the full set of the ANSYS dvd's extracted to a single directory and mounted using the –bind parameter as shown in the build script below. The resulting image is very large (>50GB), so ensure that the .sif file is created in a location that has enough space. The APPTAINER_TEMPDIR should also have at least double the necessary space to hold temporary files that are expanded during install.

#!/bin/bash

echo "Loading modules..."
module load apptainer

echo ""
echo "Building container..."
export APPTAINER_TMPDIR=/scratch

# You must bind the extracted ANSYS installer directory
apptainer build --bind /nobackup/shared/SoftwareDropoff/Ansys/extracted:/ansys_installer ansys.2025r2.sif ansys.def 2>&1 | tee ansys.log

Container definition file:

Bootstrap: docker
From: ubuntu:jammy

%setup
  mkdir $APPTAINER_ROOTFS/ansys_installer

####################################################################
#
# Ansys Container
# ==================
# This is a runtime environment for Ansys
# Please see: 
#	https://hpc.researchcomputing.ncl.ac.uk/dokuwiki/dokuwiki/doku.php?id=advanced:software:ansys
#
####################################################################

%post
    # Prevent interactive prompts
    export DEBIAN_FRONTEND=noninteractive

####################################################################
#
# Basic system packages
#
####################################################################

	################################################
	#
	# Update & install only necessary packages
	#
	################################################
	apt-get update
	apt-get install -y aptitude wget unzip

	################################################
	#
	# Deps as listed by the ANSYS install guide:
	# https://ansyshelp.ansys.com/public/account/secured?returnurl=/Views/Secured/corp/v252/en/installation/unix_platform_libraries.html
	#
	################################################
	
	# ANSYS uses some i386 deps
	dpkg --add-architecture i386
	apt-get update

	# Install the ANSYS deps
	apt-get install -y debianutils freeglut3 gzip libapparmor1 libasound2 libasyncns0 libatk1.0-0 libatk-bridge2.0-0 libatomic1 libatspi2.0-0 libavahi-client3 libavahi-common3 libblkid1 libbrotli1 libbsd0 libbz2-1.0 libc6 libc6-i386 libc6:i386 libcairo2 libcairo-gobject2 libcap2 libcom-err2 libcpprest2.10 libcrypt1 libcups2 libcurl4 libcurl4-gnutls-dev libdatrie1 libdbus-1-3 libdeflate0 libdrm2 libdrm-amdgpu1 libdw1 libegl1 libelf1 libenchant-2-2 libepoxy0 libevdev2 libexpat1 libffi8 libflac8 libfontconfig1 libfontenc1 libfreetype6 libfribidi0 libgbm1 libgcc-s1 libgcc-s1:i386 libgcrypt20 libgdk-pixbuf-2.0-0 libgl1 libglib2.0-0 libglu1-mesa libglvnd0 libglx0 libgmp10 libgnutls30 libgomp1 libgpg-error0 libgraphite2-3 libgssapi-krb5-2 libgstreamer1.0-0 libgstreamer-gl1.0-0 libgstreamer-plugins-base1.0-0 libgtk2.0-0 libgtk-3-0 libgudev-1.0-0 libharfbuzz0b libharfbuzz-icu0 libhogweed6 libhwloc15 libhyphen0 libibverbs1 libice6 libicu70 libidn2-0 libjavascriptcoregtk-4.0-18 libjbig0 libjpeg62 libjpeg-turbo8 libk5crypto3 libkeyutils1 libkrb5-3 libkrb5support0 libldap-2.5-0 libltdl7 liblz4-1 liblzma5 libmanette-0.2-0 libmd0 libmount1 libncursesw5 libnettle8 libnghttp2-14 libnotify4 libnsl2 libnspr4 libnss3 libnuma1 libnvidia-compute-390 libogg0 libopengl0 libopenjp2-7 libopus0 liborc-0.4-0 libp11-kit0 libpam0g libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0 libpci3 libpciaccess0 libpcre2-8-0 libpcre3 libperl-dev libpixman-1-0 libpng16-16 libpsl5 libpulse0 libpulse-mainloop-glib0 librdmacm1 libre2-9 librtmp1 libsasl2-2 libseccomp2 libsecret-1-0 libselinux1 libsm6 libsndfile1 libsoup2.4-1 libssh-4 libssl3 libstdc++6 libstdc++6:i386 libsystemd0 libtasn1-6 libtbb12 libtbbmalloc2 libthai0 libtheora0 libtiff5 libtinfo6 libtirpc3 libtirpc-dev libucx0 libudev1 libunistring2 libunwind8 libuuid1 libvorbis0a libvorbisenc2 libwayland-client0 libwayland-cursor0 libwayland-egl1 libwayland-server0 libwebkit2gtk-4.0-37 libwebp7 libwebpdemux2 libwebpmux3 libwoff1 libx11-6 libx11-6:i386 libx11-xcb1 libxau6 libxcb1 libxcb-dri3-0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render0 libxcb-render-util0 libxcb-shape0 libxcb-shm0 libxcb-sync1 libxcb-util1 libxcb-xfixes0 libxcb-xinerama0 libxcb-xkb1 libxcomposite1 libxcursor1 libxdamage1 libxdmcp6 libxext6 libxfixes3 libxft2 libxi6 libxinerama1 libxkbcommon0 libxkbcommon-x11-0 libxm4 libxml2 libxmu6 libxrandr2 libxrender1 libxshmfence1 libxslt1.1 libxss1 libxt6 libxt6:i386 libxtst6 libxxf86vm1 libzstd1 lsb-core make ocl-icd-libopencl1 ocl-icd-opencl-dev tar uuid-dev xfonts-100dpi xfonts-75dpi xterm zlib1g

	# These additional packages are searched for at runtime by various ANSYS tools, but are 
	# not listed in the ANSYS installation guide....
	apt-get install -y libgif7 xsltproc openssh-client mesa-utils

	# Clean up APT cache to save space
	apt-get clean 

#################################################################################
#
# This is all the custom stuff needed to build the various ISSM tools
#
#################################################################################

	export LANG=en_GB.UTF-8
	export LC_ALL=C
	export LC_CTYPE=C

	ls /ansys_installer
	cd /ansys_installer
	mkdir -p /opt

	# Run ANSYS installer in silent mode
	# Note the product options here:
	# https://ansyshelp.ansys.com/public/account/secured?returnurl=/Views/Secured/corp/v252/en/installation/unix_silent.html
	./INSTALL -silent \
		-install_dir /opt/ansys \
		-blademodeler \
		-cfdpost \
		-ensight \
		-fensapice \
		-forte \
		-fluent \
		-lsdyna \
		-mechapdl \
		-motion \
		-polyflow \
		-rocky \
		-sherlock \
		-speoshpc \
		-avxsensors \
		-twinai \
		-electromagneticssuite

	# NUIT License Server
	echo "SERVER=1055@nuitlicense03.ncl.ac.uk" > /opt/ansys/shared_files/licensing/ansyslmd.ini
	chmod 755 /opt/ansys/shared_files/licensing/ansyslmd.ini

	# Drop in a wrapper around Forte as it needs a manual load of its shell script setup file first
echo '#!/bin/bash' > /opt/ansys/v252/reaction/forte.linuxx8664/bin/forte_batch
echo 'source /opt/ansys/v252/reaction/forte.linuxx8664/bin/forte_setup.ksh' >> /opt/ansys/v252/reaction/forte.linuxx8664/bin/forte_batch
echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/ansys/v252/reaction/forte.linuxx8664/user_defined_functions/bin' >> /opt/ansys/v252/reaction/forte.linuxx8664/bin/forte_batch
echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/ansys/v252/reaction/forte.linuxx8664/bin/IntelMPI2018' >> /opt/ansys/v252/reaction/forte.linuxx8664/bin/forte_batch
echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/ansys/v252/tp/MPI/Intel/2018.3.222/linx64/lib' >> /opt/ansys/v252/reaction/forte.linuxx8664/bin/forte_batch
echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/ansys/v252/tp/IntelCompiler/2023.1.0/linx64/lib/intel64' >> /opt/ansys/v252/reaction/forte.linuxx8664/bin/forte_batch
echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/ansys/v252/tp/IntelMKL/2023.1.0/linx64/lib' >> /opt/ansys/v252/reaction/forte.linuxx8664/bin/forte_batch
echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/ansys/v252/tp/IntelMKL/2023.1.0/linx64/lib/intel64' >> /opt/ansys/v252/reaction/forte.linuxx8664/bin/forte_batch
echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/ansys/v252/tp/openjre/17/lib:/opt/ansys/v252/tp/openjre/17/lib/server' >> /opt/ansys/v252/reaction/forte.linuxx8664/bin/forte_batch
echo '/opt/ansys/v252/reaction/forte.linuxx8664/bin/forte $@' >> /opt/ansys/v252/reaction/forte.linuxx8664/bin/forte_batch
	chmod +x /opt/ansys/v252/reaction/forte.linuxx8664/bin/forte_batch

	# Create wrapper around Rocky
echo '#!/bin/bash' > /opt/ansys/v252/rocky/rocky
echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/ansys/v252/tp/nss/3.89/lib' >> /opt/ansys/v252/rocky/rocky
echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/ansys/v252/Framework/bin/Linux64/' >> /opt/ansys/v252/rocky/rocky
echo 'echo | /opt/ansys/v252/rocky/Rocky $@' >> /opt/ansys/v252/rocky/rocky
	chmod +x /opt/ansys/v252/rocky/rocky

	# Ensure the ANSYS environment file is read on start
	# As /etc/bashrc and /etc/environment are not normally
	# parsed by the default Apptainer init shell
echo '#!/bin/sh' > /.singularity.d/env/99-ansys.sh
echo '. /etc/environment' >> /.singularity.d/env/99-ansys.sh
	chmod +x /.singularity.d/env/99-ansys.sh

	# Some ANSYS functions rely on ANSYS living at /ansys_inc/
	cd /
	ln -s /opt/ansys /ansys_inc

	# Some hardcoded path to swrast_dri.so
	ln -sf /usr/lib/x86_64-linux-gnu/dri /usr/lib

	# Remove all src packages
	echo ""
	echo "FINAL CLEAN UP"
	echo "=============="
	echo ""
	cd /
	rm -rf /src

%environment
	export PATH=/opt/ansys/v252/CFD-Post/bin:$PATH
	export PATH=/opt/ansys/v252/CFX/bin:$PATH
	export PATH=/opt/ansys/v252/ACP:$PATH
	export PATH=/opt/ansys/v252/AnsysEM:$PATH
	export PATH=/opt/ansys/v252/CEI/bin:$PATH
	export PATH=/opt/ansys/v252/fensapice/bin:$PATH
	export PATH=/opt/ansys/v252/fluent/bin:$PATH
	export PATH=/opt/ansys/v252/reaction/forte.linuxx8664/bin:$PATH
	export PATH=/opt/ansys/v252/TwinAI:$PATH
	export PATH=/opt/ansys/v252/Framework/bin/Linux64:$PATH
	export PATH=/opt/ansys/v252/rocky:$PATH
	export PATH=/opt/ansys/v252/ansys/bin:$PATH
	export LANG=en_GB.UTF-8
        export LC_ALL=C
        export LC_CTYPE=C

%runscript

Runtime helper script:

The runtime helper script will allocate any GPU card which is assigned, as well as bind the /scratch and /nobackup directories to the container.

!/bin/bash

module load apptainer

IMAGE_NAME=/nobackup/shared/containers/ansys.2025r2.sif

container.run() {
	# Run a command inside the container...
	# automatically bind the /scratch and /nobackup dirs
	# pass through any additional parameters given on the command line
	apptainer exec --nv --bind /run/user/$UID:/run/user/$UID --bind /scratch:/scratch --bind /nobackup:/nobackup ${IMAGE_NAME} $@
}


Back to Software