Page tree
Skip to end of metadata
Go to start of metadata

Computational fluid dynamics solver focused on turbo-machinery (vertex-centered FVM)

General Information

The ANSYS software package is developed and distributed by ANSYS, Inc..

This documentation describes the specifics of installation and usage of ANSYS at HLRN. Introductory courses for ANSYS as well as courses for special topics are offered by ANSYS Inc. and their regional offices, e.g. in Germany. It is strongly recommended to take at least an introductory course (see the CAD-FEM GmbH homepage). Good (free) starting points for self-study are https://students.cadfem.net/de/ansys-gratis-lernen.html and https://courses.ansys.com

Details of the HLRN Installation of ANSYS

The ANSYS versions currently installed are

VersionModule FileRemarks
ANSYS 2020 R2ansys/2020r2
ANSYS 2019 R2ansys/2019r2default
ANSYS 19.2ansys/19.2
ANSYS 19.0ansys/19.0

The module name is ansys. Other versions may be installed. Inspect the output of :            module avail ansys

Usage and Licensing at HLRN

The use of Ansys is restricted to members of the ansys user group. You can apply to become a group member at support[at]hlrn.de
Please note the license conditions: Our academic licenses are restricted to students, PhD students, teachers and trainers of public institutions. They cannot be used in projects that are financed by industrial partners.

Licences

Important: Always add
#SBATCH -L ansys
to your job script.

The flag "#SBATCH -L ansys" ensures that the scheduler starts jobs only, when licenses are available.
You can check the availability yourself: scontrol show lic

  • aa_r is a "ANSYS Academic Research License" with 4 inclusive tasks. Research jobs with more than 4 tasks cost additional "aa_r_hpc" licenses.
  • aa_t_a is a "ANSYS Academic Teaching License" with a maximum of 4 tasks. These may be used only for student projects, student instruction and student demonstrations. Eligible users are allowed to activate these, by adding the flag

    Activation of the aa_t_a license
    -lpf $ANSYSLIC_DIR/prodord/license.preferences_for_students_and_teaching.xml

    to the Ansys executable, such as "cfx5solve". The path $ANSYSLIC_DIR is provided after loading any Ansys module. Alternatively, eligible users are allowed to redefine their command "cfx5solve" with

    Redefining cfx5solve for students
    source $ANSYSLIC_DIR/cfx5solve_redef_with_student_lic

    after loading the Ansys module inside the job script. This will append the flag "-lpf ..." to "cfx5solve" automatically if less than 17 task are requested.

Example Jobscripts

Parallel distributed memory student job on 2 nodes with 40 tasks per node
#!/bin/bash
#SBATCH -t 00:10:00
#SBATCH --nodes=2
#SBATCH --ntasks-per-node=40
#SBATCH -L ansys
#SBATCH -p medium40:test
#SBATCH --mail-type=ALL
#SBATCH --job-name=StaticMixer

module load ansys
source $ANSYSLIC_DIR/cfx5solve_redef_with_student_lic

## create list of hosts in calculation
srun hostname -s > hostlist.$SLURM_JOB_ID

## format the host list for cfx
cfxhostlist=`tr '\n' ',' < hostlist.$SLURM_JOB_ID`

echo $cfxhostlist

# start the solver
cfx5solve -def StaticMixer.def -start-method "Intel MPI Distributed Parallel"\
-double -par-dist "$cfxhostlist"

echo '#################### CFX finished ############'
sleep 2
rm hostlist.$SLURM_JOB_ID
Two parallel jobs each with 8 tasks both running simultaneously on the same node
#!/bin/bash
#SBATCH --time=01:00:00
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=16	
#SBATCH --licenses=ansys:16  # match number to nodes*ntasks-per-node
#SBATCH --partition=standard96:test
#SBATCH --job-name=testjob

hostlist_per_cfx5solve=$SLURM_JOB_NODELIST"*8"
echo "hostlist_per_cfx5solve "$hostlist_per_cfx5solve

module load ansys/2020r2
# cfx5solve -help

# start the solver
cfx5solve -def StaticMixerA.def -start-method "Intel MPI Distributed Parallel"\
        -double -par-dist "$hostlist_per_cfx5solve" -name $SLURM_JOB_NAME.$SLURM_JOB_ID.a &

echo "first cfx5solve is running in background"

cfx5solve -def StaticMixerB.def -start-method "Intel MPI Distributed Parallel"\
        -double -par-dist "$hostlist_per_cfx5solve" -name $SLURM_JOB_NAME.$SLURM_JOB_ID.b 

# wait for all children processes (background jobs) to finish
wait

echo '#################### CFX finished ############'