ANSYS Lumerical¶
Ansys Lumerical FDTD is photonic simulation software that integrates FDTD, RCWA, and STACK solvers in a single design environment. This empowers precise analysis and optimization for various devices, including diffraction gratings, multilayered coatings, uLEDs, CMOS image sensors, metalenses, and metasurfaces, delivering best-in-class performance across diverse applications. Ansys Lumerical FDTD empowers rapid virtual prototyping and verification of thousands of iterations for the most complex designs.
Lumerical v2025R2 (GUI)¶
Για τον αρχικό σχεδιασμό των διατάξεων και την ανάλυση των αποτελεσμάτων, προτείνουμε τη χρήση του Γραφικού Περιβάλλοντος του λογισμικού. Αν και δεν ενδείκνυται για βαριές και πολύωρες υπολογιστικές διεργασίες, η διαδραστική αυτή μέθοδος προσφέρει το ιδανικό περιβάλλον για τη δημιουργία γεωμετριών, τον ορισμό των υλικών και τον οπτικό έλεγχο πριν από την βασική προσομοίωση.
Σύνδεση μέσω Web-Portal¶
Στην περίπτωση αυτή, η πρόσβαση πραγματοποιείται απομακρυσμένα μέσω της διαδικτυακής πύλης (Web-Portal) της συστοιχίας, κάνοντας χρήση ενός απλού browser. Με αυτόν τον τρόπο, εκκινείται μια εικονική επιφάνεια εργασίας (desktop session).
Για την εκκίνηση της απομακρυσμένης επιφάνειας εργασίας προκειμένου να τρέξετε απευθείας το λογισμικό, κάνετε σύνδεση στο Web Portal της συστοιχίας, επιλέγετε Launch και από το Application Finder αναζητείτε για Ansys Optics 2025 R2.4. Αφού ξεκινήσει μπορείτε να αλληλεπιδράσετε με την εφαρμογή.
Εάν είναι η πρώτη φορά, μπορείτε να συμβουλευτείτε τις αναλυτικές οδηγίες που παρέχονται, εστιάζοντας στην ενότητα Desktop Session.
Προτείνεται, κατά την εκκίνηση του desktop session να επιλέξετε περισσότερα cores στο πεδίο number of cores, για παράδειγμα 4, ώστε να υπάρχει καλύτερη απόδοση κατά την εκτέλεση της εφαρμογής .

Lumerical v2025R2 (Batch Mode)¶
Για την εκτέλεση πιο απαιτητικών προσομοιώσεων προτείνουμε τη χρήση του λογισμικού μέσω terminal. To batch mode, προσφέρει μέγιστη υπολογιστική απόδοση, καθώς το σύνολο των πόρων (CPU και RAM) του κόμβου αφιερώνεται αποκλειστικά στον αλγόριθμο επίλυσης, εξαλείφοντας την επιβάρυνση που προκαλεί η μεταφορά γραφικών.
Σύνδεση στην Συστοιχία "Αριστοτέλης"¶
Η πρόσβαση στο υπερυπολογιστικό σύστημα πραγματοποιείται απομακρυσμένα μέσω τερματικού, κάνοντας χρήση ssh. Με αυτόν τον τρόπο, μεταφερόμαστε στον login node, απ' όπου μας παρέχεται η δυνατότητα να:
* οργανώσουμε τα directories με τα αρχεία των προσομοιώσεών,
* φορτώσουμε το λογισμικό Ansys Lumerical,
* στείλουμε τα script εκτέλεσης στο σύστημα.
Εάν είναι η πρώτη φορά που συνδέεστε στο HPC ή χρειάζεστε μια γρήγορη υπενθύμιση για τις βασικές εντολές πλοήγησης, συμβουλευτείτε πρώτα τις αναλυτικές οδηγίες που παρέχονται για τη σύνδεση στη συστοιχία.
Γενικά Χαρακτηριστικά¶
Για την φόρτωση του λογισμικού, την επισκόπηση τεχνικών λεπτομερειών καθώς και την εμφάνιση των paths του συστήματος, μπορούμε να χρησιμοποιήσουμε τις παρακάτω εντολές:
module load lumerical
module show lumerical
Για να δούμε τις διαθέσιμες βιβλιοθήκες του συστήματος καθώς και τα αρχεία που χρησιμοποιεί το Lumerical, μπορούμε να εκτελέσουμε την εξής εντολή:
ls $ANSYS_ROOT/lib
Το λογισμικό, μας παρέχει μια σειρά από έτοιμα σενάρια και ενδεικτικά jobs, τα οποία μπορούν να χρησιμεύσουν ως βάση για τις δικές μας προσομοιώσεις. Για να περιηγηθούμε σε αυτά, χρησιμοποιούμε:
ls $ANSYS_ROOT/scripts
Για την άμεση ανάγνωση των όρων χρήσης, των στοιχείων έκδοσης και των βασικών πληροφοριών του Ansys Lumerical, μπορούμε να προσπελάσουμε το αρχείο τεκμηρίωσης απευθείας από τον κατάλογο εγκατάστασης:
Note
cat /mnt/apps/prebuilt/AnsysLumerical/v252/license.txt
Παράδειγμα 3D προσομοίωσης¶
Η εκτέλεση μιας 3D προσομοίωσης FDTD έχει αυξημένες απαιτήσεις τόσο σε μνήμη RAM, όσο και σε πυρήνες CPU συγκριτικά με τις 2D προσομοιώσεις. Ακολουθεί ενδεικτικά μια ροή εργασίας.
Στο $HOME μας στο login node, δημιουργούμε ένα νέο working directory. Αφού μεταβούμε σε αυτό, μεταφέρουμε ή αντιγράφουμε εκεί τα απαραίτητα αρχεία εισόδου (έστω τo αρχείo grating_coupler_3D.fsp). Η εκτέλεση αυτών των βημάτων παρουσιάζεται στις επόμενες γραμμές εντολών:
HPC Terminal
mkdir ansys-lumerical
cd ansys-lumerical
Local Terminal
scp /path/to/directory/../grating_coupler_3D.fsp username@aristotle.it.auth.gr:path/to/destination/../ansys-lumerical
Σε περίπτωση που θέλουμε να χρησιμοποιήσουμε διαφορετικά αρχεία εισόδου, μπορούμε να μεταφέρουμε τα δικά μας αρχεία στην υποδομή.
Δημιουργούμε ή μεταφέρουμε στο working directory το script για την υποβολή της εργασίας, (έστω lumerical.sh) το οποίο θα εκτελεστεί στους κόμβους batch. O κώδικάς αυτού, παρουσιάζεται αναλυτικά παρακάτω:
SLURM submission script
#!/bin/bash
#SBATCH --job-name=3D-grating
#SBATCH --partition=batch
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=16
#SBATCH --time=01:00:00
#SBATCH --mem=32G
#SBATCH --output=%j.out
#SBATCH --error=error-%j.log
module load lumerical
INPUT_FILE="grating_coupler_3D.fsp"
srun -n $SLURM_NTASKS fdtd-engine $INPUT_FILE
Η υποβολή της εργασίας γίνεται με την εντολή sbatch <filename.sh> ως εξής:
sbatch lumerical.sh
Με squeue παρακολουθούμε την εξέλιξη και την πρόοδο της εργασίας εφόσον έχει εκκινήσει. Μόλις ολοκληρωθεί επιτυχώς, ελέγχουμε τα αρχεία καταγραφής (π.χ. .out, .log) που ορίσαμε στο script μας, δηλαδή τα αρχεία με όνομα JOBID.out και error-JOBID.log αντίστοιχα.
tail -f JOBID.out
Κατά την εμφάνιση των τελικών αποτελεσμάτων, παρατηρούμε αρχικά τη κατανομή του πλέγματος από τους παράλληλους πυρήνες και στη συνέχεια, την πρόοδο του χρόνου προσομοίωσης.
Terminal Output
[username@aristotle5 example]$ cat 2277397.out
24% initialized.
33% initialized.
57% initialized.
...
99% initialized.
100% initialized.
0.0973415% complete. Elapsed simulation time: 1.94683e-15 secs. Max time remaining: 1 hr, 15 mins, 19 secs. Auto Shutoff: 1
...
10.2857% complete. Elapsed simulation time: 2.05715e-13 secs. Max time remaining: 1 hr, 31 mins, 42 secs. Auto Shutoff: 0.131469
14.1794% complete. Elapsed simulation time: 2.83588e-13 secs. Max time remaining: 1 hr, 4 mins, 1 secs. Auto Shutoff: 0.129956
...
Συχνές Ερωτήσεις¶
Τι συμβαίνει μετά την ολοκλήρωση του Job;¶
Απάντηση
Μόλις η προσομοίωση φτάσει στο 100% (ενδέχεται να τερματιστεί νωρίτερα λόγω του δείκτη Auto Shutoff), το job ολοκληρώνεται. Τα εξαγόμενα δεδομένα αποθηκεύονται απευθείας μέσα στο αρχείο εισόδου (.fsp), το μέγεθος του οποίου θα έχει αυξηθεί. Μπορείτε πλέον να μεταφέρετε το αρχείο πίσω στον υπολογιστή σας ή να το χρησιμοποιήσετε για ανάλυση στο Web Portal μέσω GUI.
Παράδειγμα χρήσης προεγκατεστημένων αρχείων¶
Στο $HOME μας στο login node, δημιουργούμε ένα νέο working directory. Αφού μεταβούμε σε αυτό, τοποθετούμε εκεί τα απαραίτητα αρχεία εισόδου, έστω getting_started_example.lsf.
Προετοιμασία working directory
mkdir getting-started-ansys-lumerical
cd getting-started-ansys-lumerical
Σε περίπτωση που θέλουμε να χρησιμοποιήσουμε διαφορετικά αρχεία, μπορούμε να μεταφέρουμε τα δικά μας στην υποδομή.
Δημιουργούμε ή μεταφέρουμε στο working directory το script για την υποβολή της εργασίας, (έστω getting-started-lumerical.sh) το οποίο θα εκτελεστεί στους κόμβους batch. O κώδικάς αυτού, παρουσιάζεται αναλυτικά παρακάτω:
SLURM submission script
#!/bin/bash
#SBATCH --job-name=getting-started-example
#SBATCH --partition=batch
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=1
#SBATCH --time=00:30:00
module load lumerical
INPUT_FILE="mqwgain_getting_started_example.lsf"
export QT_QPA_PLATFORM=offscreen
srun -n $SLURM_NTASKS fdtd-solutions -nw -run $INPUT_FILE -log-stdout
Η υποβολή της εργασίας γίνεται με την εντολή sbatch <filename.sh> ως εξής:
sbatch getting-started-lumerical.sh
Με squeue παρακολουθούμε την εξέλιξη και την πρόοδο της εργασίας εφόσον έχει εκκινήσει. Μόλις ολοκληρωθεί επιτυχώς, παράγεται αυτομάτως ένα αρχείο τύπου .mat (π.χ. mqw_results.mat) το οποίο περιέχει τα τελικά αποτελέσματα. Για να χρησιμοποιηθούν, πρέπει να ανοιχθούν μέσω του Visualizer στο Web Portal.
tail -f JOBID.out
Terminal Output
[username@aristotle5 getting-started-ansys-lumerical]$ ls
getting-started-lumerical.sh mqwgain_getting_started_example.lsf mqw_results.mat
Αντιστοίχιση GUI Εργαλείων - Terminal εντολών (v2025R2)¶
| Εργαλείο (GUI) | Terminal Executable | Παραλλαγές MPI | Τύπος Αρχείου |
|---|---|---|---|
| FDTD | fdtd-engine |
impi-lcl, ompi-lcl |
.fsp |
| MODE | fd-engine, varfdtd-engine, eme-engine |
impi-lcl, ompi-lcl |
.lms |
| Scripting | fdtd-solutions |
-run |
.lsf |
| DEVICE | device-engine, feem-engine, thermal-engine |
N/A | .ldev |
| INTERCONNECT | interconnect (με σημαία -nw -run) |
N/A | .icp |
Σημείωση: Για υποβολή εργασιών μέσω Slurm, καλούμε πάντα τα εκτελέσιμα της στήλης Terminal Executable χρησιμοποιώντας το κατάλληλο path (π.χ.
$fdtd-engine).