Μετάβαση στο περιεχόμενο

Εγκατάσταση του λογισμικού ANSYS

Το ANSYS αποτελεί ένα από τα πλέον διαδεδομένα λογισμικά προσομοίωσης μηχανικής, το οποίο χρησιμοποιείται για την ανάλυση και την πρόβλεψη της συμπεριφοράς και της απόδοσης προϊόντων σε πραγματικές συνθήκες. Καλύπτει ένα ευρύ φάσμα εφαρμογών της φυσικής, όπως η ανάλυση κατασκευών, η μηχανική ρευστών (CFD), τα ηλεκτρονικά και τα οπτικά συστήματα. Μέσω της χρήσης εικονικών δοκιμών, το ANSYS δίνει τη δυνατότητα σε επιχειρήσεις και μηχανικούς να επιταχύνουν την καινοτομία, να μειώσουν το κόστος ανάπτυξης και να βελτιώσουν την αξιοπιστία των προϊόντων τους. Το λογισμικό βρίσκει εφαρμογή σε πολλούς κλάδους, όπως η αεροδιαστημική, η αυτοκινητοβιομηχανία και η υγειονομική περίθαλψη, αντικαθιστώντας σε μεγάλο βαθμό την ανάγκη για φυσικά πρωτότυπα.

Για περισσότερες πληροφορίες σχετικά με το λογισμικό, επισκεφθείτε την επίσημη ιστοσελίδα: [https://www.ansys.com/].

Διαχείριση αδειών

Το πανεπιστήμιο διαθέτει συγκεκριμένο αριθμό αδειών για τη χρήση του Ansys, επισκόπηση των οποίων μπορεί να γίνει από ένα login node (aristotle.it.auth.gr) μέσω της εντολής:

# module load ansys
# lmutil lmstat -c 1055@ansys.it.auth.gr -f anshpc

Πριν από οποιαδήποτε ενέργεια, είναι απαραίτητο ο χρήστης να έχει συνδεθεί επιτυχώς στο Nefeli cluster. Οι οδηγίες σύνδεσης παρέχονται στον ακόλουθο οδηγό.

ANSYS FLUENT 2025R2

Παράδειγμα χρήσης

Στο $HOME μας στο login node, δημιουργούμε ένα νέο φάκελο όπου τοποθετούμε τα αρχεία εισόδου και το script υποβολής της εργασίας.

# mkdir FLUENT-2025R2-Nefeli
# cd FLUENT-2025R2-Nefeli

Μέσα στο φάκελο τοποθετούμε τα αρχεία εισόδου μας, έστωelbow_journal.jou και elbow0.cas.gz.

Το script που θα χρησιμοποιήσουμε εμφανίζεται παρακάτω:

SLURM submission script
#!/bin/bash
#SBATCH --job-name=FLUENT-2025R2-Nefeli
#SBATCH --partition=highcpu
#SBATCH --ntasks-per-node=4
#SBATCH --nodes=1
#SBATCH --time=1:00:00

module load ansys/2025R2

fluent 3ddp -g -ssh -t$SLURM_NTASKS -i elbow_journal.jou

Αποθηκεύουμε τα περιεχόμενα σε ένα νέο αρχείο (έστω FLUENT-2025R2-Nefeli.sh) και το υποβάλλουμε προς εκτέλεση με την εντολή:

# sbatch FLUENT-2025R2-Nefeli.sh

Παρακολουθούμε με squeue την εξέλιξη της εργασίας.

Eφόσον η εργασία έχει εκκινήσει μπορούμε να ελέγχουμε την πρόοδο της επίλυσης μέσω των αρχείων εξόδου. Π.χ.:

# tail -f *.out

Εργασίες σε Partition για jobs με χρήση GPU

Για την εκτέλεση εργασιών, έστω Fluent σε partitions για jobs με χρήση GPU, μπορούμε να χρησιμοποιήσουμε το αρχείο εισόδου pipe.cas.h5 και το παρακάτω journal file pipe_journal_gpu.jou:

Fluent GPU journal
parallel/gpgpu/select 0
parallel/gpgpu/show
rc pipe.cas.h5
it 150 
wd pipe.dat.h5 
exit 
yes

Επιπλέον, για να επιλέξουμε να εκτελεστεί η εργασία σε ένα GPU node, θα πρέπει να τροποποιήσουμε το script υποβολής FLUENT-2025R2-Nefeli-gpu.sh, όπως φαίνεται παρακάτω:

SLURM submission script
#!/bin/bash
#SBATCH --job-name=ANSYS-FLUENT-2025R2-GPU
#SBATCH --partition=l4
#SBATCH --ntasks-per-node=1
#SBATCH --nodes=1
#SBATCH --cpus-per-task=1     
#SBATCH --time=01:00:00

module load ansys/2025R2  

# gpgpu should match the number of GPUs requested
time fluent 3ddp -g -t -gpgpu=1 -ssh -i pipe_journal_gpu.jou
# gpgpu should match the number of GPUs requested

ΠΡΟΣΟΧΗ

Στο παραπάνω παράδειγμα, το Fluent εκτιμά σωστά τον αριθμό των δεσμευμένων GPU και τις χρησιμοποιεί όλες. Αν διαπιστώσετε ότι αυτό δεν συμβαίνει στην εργασία σας, μπορείτε να αντικαταστήσετε το flag -gpu στην τελευταία εντολή με ένα από τα εξής:

  • -gpu=0,1,2,3, δίνοντας τα ID των GPU που θα χρησιμοποιηθούν. Η αρίθμηση αναμένεται να ξεκινά από το 0 και να αυξάνεται κατά 1, όμως καλό είναι να επιβεβαιώσουμε τα ID προσθέτοντας στο journal την γραμμή parallel/gpgpu/show.
  • -t4 -gpgpu=4-t$SLURM_GPUS -gpgpu=$SLURM_GPUS, χρησιμοποιώντας την αντίστοιχη παράμετρο slurm). Προσοχή, τα flag -t και -gpgpu χρειάζονται υποχρεωτικά τον αριθμό των GPU, αλλιώς θα χρησιμοποιηθεί μόνο μία.

Σε κάθε περίπτωση, προκειμένου να αποφευχθεί η σπατάλη πόρων, προτείνεται πριν στείλετε κάποιο μεγάλο job να στείλετε μια μικρή δοκιμαστική εργασία για να ελέγξετε την χρήση των GPU με την βοήθεια της εντολής nvidia-smi όπως περιγράφεται στο Ερώτημα 14 του FAQ.