====== 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: * **ANSYS 2025 R2** 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.sif'' 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): * ''/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. ---- ==== 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// ([[https://www.ansys.com/content/dam/it-solutions/platform-support/2026-r1/ansys-2026-r1-gpu-compute-capabilities.pdf|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// ([[https://www.ansys.com/content/dam/it-solutions/platform-support/2026-r1/ansys-2026-r1-gpu-accelerator-capabilities.pdf|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 [[advanced:software:x11|X11 desktop]] using our [[advanced:interactive|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 [[advanced:software:x11|X11 desktop session]] using our [[advanced:interactive|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 [[advanced:interactive|Open OnDemand]] service. Please **do not** use the __VNC Desktop (GPU)__ session option - this is //unsupported//. * Start the VNC Desktop session {{:advanced:software:ansys_desktop.png?800|}} * Open the terminal application from the bottom bar: {{:advanced:software:ansys_desktop_terminal.png?800|}} * In the terminal window, type the commands to load the ANSYS container and start ANSYS Workbench $ source /nobackup/shared/containers/ansys.2025r2.sh $ container.run runwb2 {{:advanced:software:ansys_desktop_terminal_commands.png?800|}} * The ANSYS splash logo should show... {{:advanced:software:ansys_workbench_splash.png?800|}} * Then the ANSYS Workbench application will start: {{:advanced:software:ansys_desktop_workbench_ui.png?800|}} 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: * [[:advanced:ansys_cfd_post|ANSYS CFD-Post]] * [[:advanced:ansys_cfd_post|ANSYS CFX]] * [[:advanced:ansys_comp_preppost|ANSYS Composite PrepPost]] * [[:advanced:ansys_em_suite|ANSYS Electromagnetics Suite]] * [[:advanced:ansys_ensight|ANSYS Ensight]] * [[:advanced:ansys_fensapice|ANSYS FENSAP-ICE]] * [[:advanced:ansys_fluent|ANSYS Fluent]] * [[:advanced:ansys_forte|ANSYS Forte]] * [[:advanced:ansys_mech_apdl|ANSYS Mechanical APDL]] * [[:advanced:ansys_polyflow|ANSYS Polyflow]] * [[:advanced:ansys_rocky|ANSYS Rocky]] * [[:advanced:ansys_sherlock|ANSYS Sherlock]] * [[:advanced:ansys_workbench|ANSYS Workbench]] ---- ===== 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} $@ } ---- [[:advanced:software|Back to Software]]