Περιγραφή¶
Ansys Mechanical enables you to solve complex structural engineering problems and make better, faster design decisions. With the finite element analysis (FEA) solvers available in the suite, you can customize and automate solutions for your structural mechanics problems and parameterize them to analyze multiple design scenarios.
ANSYS Ansys Parametric Design Language (APDL) is a scripting language used for communicating with the ANSYS solver. Every model that is run on the solver consists of a set of commands written using APDL commands.
Διαχείριση αδειών
Το πανεπιστήμιο διαθέτει συγκεκριμένο αριθμό αδειών για τη χρήση του Ansys, επισκόπηση των οποίων μπορεί να γίνει από ένα login node (aristotle.it.auth.gr
) μέσω της εντολής:
# module load ansys
# lmutil lmstat -c 1055@ansys.it.auth.gr -f anshpc
Σε αρκετές περιπτώσεις και ιδιαίτερα όταν οι εργασίες που υποβάλλονται απαιτούν πολλούς πόρους (nodes και cores), καθώς ο scheduler (slurm) δεν λαμβάνει υπόψιν τις διαθέσιμες άδειες λογισμικού ενδέχεται μία εργασία να τερματίσει απροσδόκητα λόγω μην επαρκών αδειών anshpc
στο license server.
Μια λύση για τη παράκαμψη της συγκεκριμένης ιδιαιτερότητας είναι η χρήση της μεταβλητής #SBATCH --licenses=ansys@ansys.it.auth.gr:X
όπου μπορεί να οριστεί και ο απαιτούμενος αριθμός αδειών X
που επιθυμούμε για να την εργασία που θέλουμε να υποβάλουμε. Ο αριθμός αυτός υπολογίζεται εαν εκτιμήσουμε τον συνολικό αριθμό των πυρήνων (nodes*tasks_per_node
) που ζητάμε απο την εργασία και αφαιρέσουμε τους 4 πυρήνες για τους οποίους δεν χρεώνει ο license manager καμία άδεια.
Παράδειγμα
Για ένα job με τις παρακάτω ρυθμίσεις:
#SBATCH --ntasks-per-node=16
#SBATCH --nodes=2
2*16-4=28
,
τον οποιο και ορίζουμε με την παρακάτω μεταβλητή:
#SBATCH --licenses=ansys@ansys.it.auth.gr:28
ANSYS Mechanical ADPL 2023R2¶
Παλαιότερες εκδόσεις
Για να χρησιμοποιήσετε κάποια παλιότερη έκδοση του ANSYS Fluent θα χρειαστεί να τροποποιήσετε
στα παρακάτω την module load
εντολή κατάλληλα (π.χ. module load ansys/2021R1
για την
έκδοση 2021R1
κοκ)
Παράδειγμα χρήσης¶
Στο $HOME
μας στο login node, δημιουργούμε ένα νέο φάκελο όπου τοποθετούμε τα αρχεία εισόδου και το script υποβολής της εργασίας.
# mkdir ANSYS_MECHANICAL-2023R2-case
# cd ANSYS_MECHANICAL-2023R2-case
Μέσα στο φάκελο τοποθετούμε το αρχείο εισόδου mechanical_input.dat.
Το script που θα χρησιμοποιήσουμε εμφανίζεται παρακάτω:
SLURM submission script
#!/bin/bash
#SBATCH --job-name=ansys_mechanical-2023R2-case
#SBATCH --partition=batch
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=8
#SBATCH --licenses=ansys@ansys.it.auth.gr:4
#SBATCH --time=10:00
module load ansys/2023R2
ansys232 -dis -np $SLURM_NTASKS -b < mechanical_input.dat > output.log 2>&1
# The command 'ansys232' and more specifically the three numbers '232' in the command depend on the version of ANSYS you are using. (ansys/20XYRZ --> ansysXYZ)
Αποθηκεύουμε τα περιεχόμενα σε ένα νέο αρχείο (έστω ANSYS_MECHANICAL-2023R2-case.sh
) και το υποβάλλουμε προς εκτέλεση με την εντολή:
# sbatch ANSYS_MECHANICAL-2023R2-case.sh
Παρακολουθούμε με squeue
την εξέλιξη της εργασίας.
Eφόσον η εργασία έχει εκκινήσει μπορούμε να ελέγχουμε την πρόοδο της επίλυσης μέσω των αρχείων εξόδου. Π.χ.:
# tail -f output.log