Σπίτι Παραδείγματα Στιγμιότυπα οθόνης Εγχειρίδιο χρήστη Λογότυπο της Bluesky YouTube ☰
OghmaNano Πλατφόρμα προσομοίωσης πολλαπλών φυσικών πεδίων για οπτοηλεκτρονικές συσκευές και φωτονικά συστήματα. Λήψη Οδηγός γρήγορης εκκίνησης

Εκπαιδευτικό πρόγραμμα FDTD: Διάδοση πράσινου φωτός στο κενό

1. Επισκόπηση: τι θα προσομοιώσετε.

Αυτό το εκπαιδευτικό υλικό παρουσιάζει τη μηχανή πεπερασμένων διαφορών στο πεδίο του χρόνου (FDTD) στο OghmaNano, χρησιμοποιώντας το απλούστερο δυνατό φυσικό σύστημα: τη διάδοση ηλεκτρομαγνητικών κυμάτων στο κενό. Μια μονοχρωματική πηγή πράσινου φωτός, με μήκος κύματος 530 nm, εκπέμπει σε έναν άδειο υπολογιστικό χώρο. Δεν υπάρχουν οπτικοί οδηγοί, συντονιστές ή άλλα υλικά εκτός από το κενό. Ο σκοπός δεν είναι να επιδειχθεί μια συσκευή, αλλά να καταστεί ορατός ο αριθμητικός μηχανισμός.

Η ενότητα FDTD επιλύει τις εξισώσεις στροβιλισμού του Maxwell απευθείας στον χρονικό τομέα σε ένα διακριτό χωρικό πλέγμα. Σε κάθε χρονικό βήμα, τα ηλεκτρικά και μαγνητικά πεδία ενημερώνονται σε ολόκληρο το πλέγμα. Επειδή ο αλγόριθμος είναι ιδιαίτερα παράλληλος, το OghmaNano τον εκτελεί χρησιμοποιώντας το OpenCL και θα χρησιμοποιήσει αυτόματα την GPU σας, εάν είναι διαθέσιμη. Επομένως, αυτό το εκπαιδευτικό πρόγραμμα χρησιμεύει τόσο ως επίδειξη φυσικής όσο και ως πρώτη εισαγωγή στο επιταχυνόμενο από GPU backend FDTD.

Μέχρι το τέλος αυτής της σελίδας, θα έχετε δημιουργήσει μια προσομοίωση, θα έχετε ελέγξει το μέγεθος του κόσμου και το χωρικό πλέγμα, θα έχετε εκτελέσει τον αλγόριθμο επίλυσης και θα έχετε απεικονίσει τον τρόπο με τον οποίο το πράσινο φως διαδίδεται στον τρισδιάστατο χώρο.

2. Δημιουργία της προσομοίωσης του ελεύθερου χώρου.

Ανοίξτε το παράθυρο της νέας προσομοίωσης και επιλέξτε την κατηγορία παραδειγμάτων FDTD, στη συνέχεια επιλέξτε το παράδειγμα με την ονομασία "Ελεύθερος χώρος". Τα δύο παράθυρα επιλογής εμφανίζονται παρακάτω.

New simulation window showing the FDTD examples category.
Ανοίξτε παραδείγματα FDTD από το νέο παράθυρο προσομοίωσης.
FDTD example list showing the Free space simulation.
Επιλέξτε το παράδειγμα "Ελεύθερος χώρος".

Μετά τη φόρτωση, εμφανίζεται το κύριο παράθυρο του OghmaNano, το οποίο περιέχει μια απλή τρισδιάστατη σκηνή. Ο υπολογιστικός κόσμος είναι αρχικά άδειος, εκτός από μια πηγή και μια περιοχή ανίχνευσης. Κάντε δεξί κλικ μέσα στην τρισδιάστατη προβολή και ενεργοποιήστε την επιλογή "Εμφάνιση ορίων κόσμου". Θα εμφανιστεί ένα κόκκινο οριοθετικό πλαίσιο, το οποίο καθορίζει τα όρια του πεδίου FDTD.

Main OghmaNano window showing the Free space simulation. Checking the show world option.
Κύριο παράθυρο του OghmaNano, που δείχνει την προσομοίωση του διαθέσιμου χώρου. Ελέγχεται η επιλογή "Εμφάνιση κόσμου".
Main OghmaNano window showing the Free space simulation. Showing the world box that shows the extent of the simulation domain.
Κύριο παράθυρο του OghmaNano που εμφανίζει την προσομοίωση του ελεύθερου χώρου. Εμφανίζει το πλαίσιο του κόσμου, το οποίο δείχνει την έκταση του πεδίου προσομοίωσης.
World size editor showing the dimensions of the FDTD simulation domain.
Ο επεξεργαστής μεγέθους κόσμου είναι προσβάσιμος μέσω του κουμπιού "Substrate xz-size".

Οι διαστάσεις του κόσμου μπορούν να ελεγχθούν κάνοντας κλικ στο κουμπί "Μέγεθος υποστρώματος xz" στην αριστερή γραμμή εργαλείων. Αυτό ανοίγει τον επεξεργαστή μεγέθους κόσμου, όπου ορίζεται το φυσικό μέγεθος του πεδίου προσομοίωσης σε μικρόμετρα. Για αυτό το σεμινάριο, δεν χρειάζεται να αλλάξετε τίποτα· το πεδίο έχει ήδη διαμορφωθεί ώστε να περιέχει άνετα αρκετά μήκη κύματος πράσινου φωτός.

3. Έλεγχος των οπτικών ρυθμίσεων και του πλέγματος.

Στη συνέχεια, ανοίξτε την καρτέλα "Οπτικά" στο επάνω μέρος του παραθύρου.

Optical ribbon in OghmaNano showing the Optical mesh button.
Η οπτική ταινία. Κάντε κλικ στην "Οπτική πλέξη" για να ελέγξετε τη χωρική διακριτοποίηση.

Κάντε κλικ στην επιλογή "Οπτικό πλέγμα" για να ανοίξετε τον επεξεργαστή πλέγματος.

Optical mesh editor showing mesh points and wavelength range between 531 nm and 532 nm.
Ρυθμίσεις οπτικής μάσκας, συμπεριλαμβανομένης της χωρικής ανάλυσης και του φάσματος μηκών κύματος (531–532 nm).

Ο επεξεργαστής πλέγματος εμφανίζει τον αριθμό των σημείων πλέγματος που χρησιμοποιούνται σε κάθε χωρική διάσταση. Αυτά καθορίζουν την χωρική ανάλυση του υπολογισμού FDTD. Το εύρος των μηκών κύματος ορίζεται μεταξύ 531 nm και 532 nm, το οποίο αντιστοιχεί στο πράσινο φως. Σε αυτό το παράδειγμα, οι παράμετροι πάχους που εμφανίζονται στον επεξεργαστή πλέγματος κλιμακώνονται αυτόματα στο μέγεθος του μοντέλου και μπορούν να αγνοηθούν. Το σημαντικό σημείο είναι ότι το χωρικό πλέγμα είναι αρκετά λεπτό ώστε να επιτρέπει την ανάλυση του ηλεκτρομαγνητικού μήκους κύματος.

4. Εκτέλεση του επιταχυντή FDTD με χρήση της GPU.

Ξεκινήστε την προσομοίωση κάνοντας κλικ στο κουμπί "Εκτέλεση προσομοίωσης" ή πατώντας το πλήκτρο F9. Στην καρτέλα "Τερματικό", θα εμφανίζονται πληροφορίες σχετικά με τον επιλυτή.

Terminal output showing the FDTD module initialising and searching for OpenCL devices.
Η έξοδος του τερματικού κατά την εκτέλεση. Η μονάδα FDTD αρχικοποιείται, αναφέρει το διάστημα του πλέγματος και το μήκος κύματος και αναζητά τις διαθέσιμες συσκευές OpenCL πριν ξεκινήσει τον βρόχο χρονικής εξέλιξης.
Output tab showing simulation result files including detector data and snapshots directory.
Η καρτέλα "Έξοδος" εμφανίζεται μετά την ολοκλήρωση της διαδικασίας. Τα αρχεία που δημιουργούνται περιλαμβάνουν τα αρχεία καταγραφής του ανιχνευτή, τις εξαγωγές διαμόρφωσης και τον φάκελο snapshots/ που περιέχει τα δεδομένα πεδίου που έχουν καταγραφεί χρονικά.

Στην έξοδο του τερματικού, παρατηρήστε το πράσινο κείμενο που αναφέρει «Αναζήτηση συσκευών OpenCL». Σε αυτό το στάδιο, το πρόγραμμα σαρώνει το σύστημά σας για συμβατές GPU. Σε συστήματα με υποστηριζόμενη κάρτα γραφικών, ο επιλυτής θα επιλέξει την GPU και θα εκτελέσει τον βρόχο χρονικής εξέλιξης εκεί. Στο παράδειγμα που παρουσιάζεται, ο υπολογισμός εκτελείται σε ένα backend CPU που προσομοιώνει μια συσκευή OpenCL, αλλά σε έναν σύγχρονο σταθμό εργασίας, η ίδια προσομοίωση θα χρησιμοποιήσει αυτόματα τον επεξεργαστή γραφικών για επιτάχυνση.

5. Έλεγχος των αποτελεσμάτων και των στιγμιότυπων πεδίου.

Μετά την ολοκλήρωση, μεταβείτε στην καρτέλα "Έξοδος". Εκεί θα βρείτε μια λίστα με τα αρχεία που δημιουργήθηκαν.

Later-time snapshot showing spherical wavefront propagation.
Μια φωτογραφία που τραβήχτηκε σε μεταγενέστερο χρόνο και απεικονίζει την εξωτερική διάδοση του μετώπου του πράσινου φωτός.
Snapshot viewer showing green light propagating in free space.
Προβολέας στιγμιότυπων: επιλέξτε την πυκνότητα ισχύος και χρησιμοποιήστε τις ρυθμιστικές μπάρες για να εξερευνήσετε τον χρόνο και τον χώρο.

Κάντε διπλό κλικ στον φάκελο των στιγμιότυπων για να ανοίξετε το πρόγραμμα προβολής στιγμιότυπων. Επιλέξτε την πυκνότητα ισχύος από την αναπτυσσόμενη λίστα στο κάτω μέρος του παραθύρου. Το έγχρωμο πεδίο αντιπροσωπεύει την στιγμιαία ηλεκτρομαγνητική πυκνότητα ενέργειας. Χρησιμοποιήστε την οριζόντια μπάρα για να μετακινηθείτε προς τα εμπρός και προς τα πίσω στον χρόνο και τις χωρικές μπάρες για να εξετάσετε διαφορετικές διατομές του πεδίου. Σε ορισμένους υπολογιστές, ειδικά όταν εκτελούνται μεγάλα πλέγματα, το πρόγραμμα προβολής ενδέχεται να χρειαστεί λίγο χρόνο για να ανταποκριθεί καθώς φορτώνει κάθε σύνολο δεδομένων.

Καθώς προχωράτε στο χρόνο, θα παρατηρήσετε ότι το μέτωπο κύματος διαδίδεται σε όλο τον χώρο. Σε ένα ελεύθερο περιβάλλον, χωρίς όρια ή δομές, η διάδοση είναι ομοιόμορφη και συμμετρική, και περιορίζεται μόνο από τις απορροφητικές οριακές συνθήκες στις άκρες του υπολογιστικού πεδίου.

6. Προβολή της ισχύος του ανιχνευτή

Το μωβ πλέγμα που είναι ορατό στο κύριο παράθυρο αντιπροσωπεύει ένα επίπεδο ανιχνευτή που έχει τοποθετηθεί μέσα στον χώρο προσομοίωσης. Κάντε διπλό κλικ στον ανιχνευτή 0 στην καρτέλα "Έξοδος" για να ανοίξετε το αρχείο με τις καταγεγραμμένες τιμές ισχύος.

Main window showing the detector plane in purple.
Η επιφάνεια ανίχνευσης (μοβ πλέγμα) εντός του χώρου χωρίς εμπόδια.
Detector power versus time plot.
Η ισχύς του ανιχνευτή ως συνάρτηση του χρόνου.

Το προκύπτον γράφημα απεικονίζει την ηλεκτρομαγνητική ισχύ που διασχίζει αυτό το επίπεδο ως συνάρτηση του χρόνου. Αρχικά, ο ανιχνευτής καταγράφει μηδενικό σήμα. Καθώς το μέτωπο της κυματικής μορφής φτάνει στο επίπεδο, η μετρούμενη ισχύς αυξάνεται και στη συνέχεια σταθεροποιείται, ακολουθώντας το χρονικό προφίλ της πηγής. Αυτή η απλή διαμόρφωση διευκολύνει τη σύνδεση της οπτικής διάδοσης του κύματος στον προβολέα στιγμιότυπων με μια ποσοτική μέτρηση ισχύος.

Έχετε πλέον ολοκληρώσει την πρώτη σας προσομοίωση FDTD στο OghmaNano. Παρόλο που το σύστημα δεν περιείχε υλικά ή συσκευές, αυτό κατέδειξε ολόκληρη την αριθμητική διαδικασία: ορισμός του περιβάλλοντος, κατασκευή πλέγματος, επιλογή συσκευής GPU, χρονική εξέλιξη, οπτικοποίηση πεδίου και εξαγωγή δεδομένων από τον ανιχνευτή. Στα επόμενα εκπαιδευτικά προγράμματα, τα ίδια εργαλεία θα εφαρμοστούν σε δομημένα φωτονικά και οπτοηλεκτρονικά συστήματα.

7. Επιτάχυνση της προσομοίωσης με μετάβαση σε δισδιάστατη (XZ) προβολή.

Συχνά, δεν είναι απαραίτητες οι πλήρεις τρισδιάστατες προσομοιώσεις για την κατανόηση δομών και συσκευών, ειδικά όταν η φυσική είναι ουσιαστικά αναλλοίωτη σε μία κατεύθυνση. Σε αυτές τις περιπτώσεις, μπορείτε να επιτύχετε σημαντική αύξηση της ταχύτητας μειώνοντας το πρόβλημα σε δύο διαστάσεις. Για το παράδειγμα του ελεύθερου χώρου, η μετάβαση από έναν τρισδιάστατο κόσμο σε μια προσομοίωση XZ αφαιρεί ολόκληρη τη διάσταση Y από το υπολογιστικό πλέγμα. Αυτό έχει ως αποτέλεσμα λιγότερα σημεία πλέγματος, λιγότερα δεδομένα πεδίου και σημαντικά μικρότερους χρόνους εκτέλεσης – συνήθως αρκετά γρήγορους ώστε οι επαναλήψεις να γίνονται ουσιαστικά διαδραστικές.

Για να το κάνετε αυτό, επιστρέψτε στην καρτέλα "Οπτικά", ανοίξτε το "Οπτικό πλέγμα" και επιλέξτε τη διαμόρφωση 2D πλέγματος που εμφανίζεται στην εικόνα ??. Η κύρια αλλαγή είναι ότι ο άξονας Υ απενεργοποιείται, έτσι ώστε η προσομοίωση να πραγματοποιείται σε ένα επίπεδο XZ.

Optical mesh editor configured for a 2D XZ simulation by suppressing the Y dimension.
Οπτικό πλέγμα διαμορφωμένο για 2D: απενεργοποιήστε τον άξονα Υ για να εκτελέσετε μια προσομοίωση XZ.
Snapshot viewer in 2D showing the wave propagating in the XZ plane.
Η προβολή στιγμιότυπων σε 2D: η εξέλιξη του πεδίου στο επίπεδο XZ αποδίδεται γρήγορα και είναι εύκολο να περιηγηθεί κανείς σε αυτό.
FDTD editor showing output verbosity to disk set to write everything to disk.
Για πιο ομαλή αναπαραγωγή, αυξήστε την πυκνότητα των στιγμιότυπων ορίζοντας την έξοδο σε "Εγγραφή όλων στο δίσκο".

Τώρα που το πλέγμα έχει μειωθεί σε δύο διαστάσεις, εκτελέστε ξανά την προσομοίωση. Θα παρατηρήσετε αμέσως ότι ο επιλυτής ολοκληρώνει την προσομοίωση σχεδόν ακαριαία σε σύγκριση με την τρισδιάστατη περίπτωση. Ανοίξτε ξανά τον κατάλογο snapshots/ και περιηγηθείτε στις χρονικές στιγμές στον προβολέα στιγμιότυπων (??). Επειδή το σύνολο δεδομένων είναι πολύ μικρότερο, ο προβολέας όχι μόνο φορτώνει πιο γρήγορα, αλλά ανταποκρίνεται επίσης ταχύτερα όταν μετακινείτε τη χρονική μπάρα ή τις ρυθμίσεις για την τοποθεσία της διατομής.

Ένα στοιχείο που πρέπει να έχετε υπόψη είναι ότι η αντιληπτή ομαλότητα της κίνησης μπορεί να αλλάξει. Στην δισδιάστατη προσομοίωση, η προσομοίωση εξελίσσεται πολύ γρήγορα και συνήθως αποθηκεύονται λιγότερα καρέ, οπότε όταν κάνετε αναπαραγωγή της προσομοίωσης, η εξέλιξη μπορεί να φαίνεται ελαφρώς απότομη – απλώς επειδή υπάρχουν λιγότερα αποθηκευμένα στιγμιότυπα μεταξύ ενός χρονικού δείκτη και του επόμενου. Εάν θέλετε να παρακολουθήσετε την εξέλιξη του κύματος με μεγαλύτερη χρονική λεπτομέρεια, αυξήστε την ποσότητα των δεδομένων που αποθηκεύονται στον δίσκο.

Για να το κάνετε αυτό, μεταβείτε ξανά στην καρτέλα "Οπτικά", κάντε κλικ στο κουμπί "Προσομοίωση FDTD" για να ανοίξετε το παράθυρο διαμόρφωσης FDTD και αλλάξτε την επιλογή "Έξοδος λεπτομέρειας στο δίσκο" από "Εγγραφή όλων των δεδομένων στο δίσκο κάθε 8ο βήμα" σε "Εγγραφή όλων των δεδομένων στο δίσκο (??)". Αυτό θα αποθηκεύει μια στιγμιότυπο σε κάθε βήμα. Όταν ανοίξετε ξανά το πρόγραμμα προβολής στιγμιότυπων, θα μπορείτε να παρακολουθήσετε την εξέλιξη του κύματος με μεγάλη ακρίβεια, με πολύ καλύτερη χρονική ανάλυση κατά την αναπαραγωγή και την προβολή.