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
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):
/nobackup/shared/containers/ansys.2025r2.sifThe 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):
/nobackup/shared/containers/ansys.2025r2.sh
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.
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 | Y | |
| Fluent | 2025 R2 | /opt/ansys/VER/fluent/bin | aero | N | 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 | N | The forte.sh command is used to launch the Forte desktop interface. |
| CFD-Post | 2025 R2 | /opt/ansys/VER/CFD-Post/bin | cfdpost | N | |
| Composite PrepPost | 2025 R2 | /opt/ansys/VER/ACP | ACP | N | |
| Ensight | 2025 R2 | /opt/ansys/VER/CEI/bin | ensight | N | |
| CFX | 2025 R2 | /opt/ansys/VER/CFX/bin | cfdpost | N | |
| Polyflow | 2025 R2 | /opt/ansys/VER/polyflow | Polyflow can only be started from Workbench. | ||
| Rocky | 2025 R2 | /opt/ansys/VER/rocky | rocky | N | 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.
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
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.
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:
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} $@
}