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

Ο Επεξεργαστής Βημάτων: περιοδική τοποθέτηση αντικειμένων στο OghmaNano.

1. Εισαγωγή

Πολλές φωτονικές και ηλεκτρονικές δομές συσκευών έχουν από τη φύση τους περιοδική μορφή. Μια σχάρα DFB (ανακλαστικής ανάδρασης) απαιτεί μια ακριβώς διατεταγμένη σειρά από ράβδους ή σχισμές. Ένας φωτονικός κρύσταλλος κατασκευάζεται από μια τακτική διάταξη διηλεκτρικών αντικειμένων. Μια πλασμονική μετα-επιφάνεια αποτελείται από επαναλαμβανόμενα στοιχεία συντονισμού σε αποστάσεις μικρότερες από το μήκος κύματος. Η κατασκευή αυτών των δομών αντικείμενο προς αντικείμενο θα ήταν μη πρακτική, επομένως η OghmaNano παρέχει έναν επεξεργαστή βημάτων που λαμβάνει ένα μόνο αντικείμενο και δημιουργεί αυτόματα αντίγραφα αυτού σε καθορισμένες θέσεις στον τρισδιάστατο χώρο.

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

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

2. Πρόσβαση στον επεξεργαστή βημάτων.

Για να αποκτήσετε πρόσβαση στον επεξεργαστή βημάτων, ξεκινήστε από το κύριο παράθυρο προσομοίωσης του OghmaNano (??). Κάντε δεξί κλικ στο αντικείμενο που θέλετε να αντιγράψετε και επιλέξτε «Επεξεργασία αντικειμένου» από το μενού περιβάλλοντος. Αυτό ανοίγει τον επεξεργαστή αντικειμένων, όπως φαίνεται στην εικόνα ??.

Στον επεξεργαστή αντικειμένων, εντοπίστε τη γραμμή "Βήματα". Αυτή η γραμμή εμφανίζει τις τρέχουσες παραμέτρους βημάτων – την απόκλιση (dx, dy, dz) μεταξύ των αντιγράφων και τον αριθμό των αντιγράφων (nx, ny, nz) σε κάθε κατεύθυνση. Κάντε κλικ στο κουμπί "Επεξεργασία" (...) στο δεξιό άκρο της γραμμής "Βήματα" για να ανοίξετε το παράθυρο επεξεργασίας βημάτων.

OghmaNano main simulation window showing a periodic array of objects with a right-click context menu open, highlighting the Edit object option
Κάντε δεξί κλικ στο αντικείμενο που σας ενδιαφέρει στο κύριο παράθυρο της προσομοίωσης και επιλέξτε "Επεξεργασία αντικειμένου" για να ανοίξετε τον επεξεργαστή αντικειμένων.
OghmaNano object editor showing the Steps row with dx, nx, dy, ny, dz, nz fields and an Edit button with three-dot access to the step editor
Ο επεξεργαστής αντικειμένων. Η σειρά «Βήματα» εμφανίζει την τρέχουσα διαμόρφωση βημάτων. Κάντε κλικ στο κουμπί «Επεξεργασία» (...) για να ανοίξετε τον επεξεργαστή βημάτων.

3. Βασική λειτουργία βήμα προς βήμα.

Ο επεξεργαστής βημάτων ανοίγει από προεπιλογή σε βασική λειτουργία βημάτων, όπως φαίνεται στην εικόνα ??. Αυτή η λειτουργία είναι ο απλούστερος τρόπος για να δημιουργήσετε έναν μονοδιάστατο, διδιάστατο ή τρισδιάστατο πίνακα αντικειμένων. Χρησιμοποιεί ένα μόνο διάνυσμα βημάτων (dx, dy, dz) και επαναλαμβάνει το αντικείμενο τόσες φορές κατά μήκος κάθε άξονα. Τα πεδία είναι:

Για παράδειγμα, για να δημιουργήσετε μια μονοδιάστατη περιοδική δομή με 10 στοιχεία, τοποθετημένα σε απόσταση 209 nm κατά μήκος του άξονα z, ορίστε dz = 209 nm, nz = 10 και αφήστε τις τιμές των dx και dy στο μηδέν. Αυτή είναι η διαμόρφωση που παρουσιάζεται στο ??, η οποία αντιστοιχεί σε μια απλή περίοδο περιοδικής δομής DFB.

OghmaNano step editor in Basic step mode showing step fields dx, dy, dz and number of objects x, y, z. dz is set to 209 nm and nz to 10, producing a 1D array along z.
Η βασική λειτουργία βημάτων. Ένα μόνο διάνυσμα βήματος (dx, dy, dz) και ένας αριθμός αντικειμένων (nx, ny, nz) ορίζουν μια ομοιόμορφη μονοδιάστατη, διδιάστατη ή τρισδιάστατη συστοιχία. Εδώ, διαμορφώνεται μια μονοδιάστατη συστοιχία 10 αντικειμένων, με απόσταση 209 nm μεταξύ τους κατά μήκος του άξονα z.
OghmaNano step editor in Crystal mode showing primitive lattice vector fields a1, a2, a3 with x, y, z components, an Origin field, and Number of objects fields.
Η κρυσταλλική μορφή. Τρεις πρωτόγονες διανυσματικές μετατοπίσεις πλέγματος, a1, a2, a3, ορίζουν τη μοναδιαία κυψέλη και το αντικείμενο επαναλαμβάνεται σε όλη την προκύπτουσα πλέγμα Bravais.
OghmaNano step editor in Lua script mode showing a code editor with clear_points() and add_point() commands and a Refresh button to update the 3D view.
Η λειτουργία σεναρίου Lua. Τα σημεία τοποθετούνται σε αυθαίρετες συντεταγμένες (x, y, z) χρησιμοποιώντας το add_point(). Κάντε κλικ στην επιλογή "Ανανέωση" για να ενημερώσετε την τρισδιάστατη προβολή.

4. Τρόπος κρυσταλλικής πλέγματος

Για δομές με μη ορθογώνια ή μη ομοιόμορφη περιοδικότητα, κάντε κλικ στο κουμπί "Crystal" στη γραμμή εργαλείων του επεξεργαστή βημάτων για να μεταβείτε στη λειτουργία κρυστάλλου (??). Αυτή η λειτουργία ορίζει την περιοδική διάταξη χρησιμοποιώντας τρία πρωταρχικά διανύσματα πλέγματος, a1, a2 και a3 – την ίδια τυπική μορφή που χρησιμοποιείται στην κρυσταλλογραφία για την περιγραφή ενός πλέγματος Bravais.

Η θέση κάθε αντικειμένου υπολογίζεται ως εξής:

\[ \mathbf{r}_{ijk} = \mathbf{r}_0 + i\,\mathbf{a}_1 + j\,\mathbf{a}_2 + k\,\mathbf{a}_3 \]

όπου τα i, j, k είναι ακέραιοι δείκτες που κυμαίνονται από 0 έως nx−1, ny−1, nz−1 αντίστοιχα, και το r₀ είναι η αρχή των αξόνων. Επιλέγοντας κατάλληλα τα a1, a2, a3, μπορεί να κατασκευαστεί οποιαδήποτε κρυσταλλική δομή Bravais – απλή κυβική, κυβική με κέντρο στις έδρες, κυβική με κέντρο στο σώμα, εξαγωνική ή οποιαδήποτε προσαρμοσμένη μη ορθογώνια διάταξη.

5. Λειτουργία σεναρίων Lua.

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

Σε αυτό το πλαίσιο, είναι διαθέσιμες δύο ενσωματωμένες λειτουργίες:

Οποιοσδήποτε έγκυρος κώδικας Lua μπορεί να χρησιμοποιηθεί μεταξύ αυτών των κλήσεων, συμπεριλαμβανομένων βρόχων, συνθηκών, τριγωνομετρικών συναρτήσεων και δημιουργίας τυχαίων αριθμών μέσω του math.random(). Αφού επεξεργαστείτε το σενάριο, κάντε κλικ στην επιλογή "Ανανέωση" για να δημιουργήσετε ξανά την κατανομή των σημείων και να ενημερώσετε την τρισδιάστατη προβολή.

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

clear_points()

N = 14
lambda = 240e-9
roughness = 4e-9    -- set to 0, 1e-9, 2e-9, 5e-9, etc.

z = 0.0

for n = 1, N do
    for i = 1, 10 do
        add_point(0.0, 0.0, z + (math.random() * 2.0 - 1.0) * roughness)
        z = z + lambda
    end
end

6. Παράδειγμα: εξαγωνική διάταξη.

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

OghmaNano crystal editor configured for a hexagonal lattice. a1 is set to (3 µm, 0, 0), a2 to (1.5 µm, 2.59 µm, 0), a3 to (0, 0, 3 µm), with 3×3×3 objects.
Ο επεξεργαστής κρυστάλλων έχει ρυθμιστεί για ένα εξαγωνικό πλέγμα με παράμετρο πλέγματος 3 µm. a1 = (3 µm, 0, 0), a2 = (1,5 µm, 2,59 µm, 0), a3 = (0, 0, 3 µm).
OghmaNano 3D simulation window showing a hexagonal array of red spheres arranged in a close-packed hexagonal pattern, viewed from above and to the side.
Στην τρισδιάστατη προβολή του OghmaNano, προκύπτει μια εξαγωνική διάταξη. Η μετατόπιση 60° μεταξύ των σειρών είναι σαφώς ορατή και είναι σύμφωνη με τον διανυσματικό φορέα a2, ο οποίος έχει γωνία 60° σε σχέση με τον διανυσματικό φορέα a1.

Οι βασικές τιμές είναι a2_x = a/2 = 1,5 µm και a2_y = a√3/2 = 2,598 µm, οι οποίες μαζί καθορίζουν τη γωνία 60° μεταξύ των a1 και a2, η οποία ορίζει την εξαγωνική συμμετρία. Ο εκτός επιπέδου διανυσματικός a3 είναι απλώς η απόσταση επανάληψης μεταξύ των στρώσεων κατά μήκος του άξονα z.

7. Παράδειγμα: Διπλή έλικα με χρήση της γλώσσας σεναρίων Lua.

Ένα πιο περίπλοκο οπτικά παράδειγμα του τι μπορεί να παράγει η λειτουργία σεναρίων Lua είναι μια διπλή έλικα – δύο διαπλεκόμενες ελικοειδείς λωρίδες που περιελίσσονται γύρω από έναν κοινό άξονα. Αυτή η γεωμετρία δεν μπορεί να εκφραστεί ως πλέγμα Bravais και απαιτεί τη χρήση της διεπαφής σεναρίων. Ο κώδικας Lua εμφανίζεται στο ?? και η προκύπτουσα δομή στο ??.

OghmaNano Lua script editor showing the double helix code. Two helical strands are generated using sin and cos functions offset by pi, with 200 points per strand over 6 turns.
Το σενάριο Lua για τη διπλή έλικα. Δημιουργούνται δύο έλικες χρησιμοποιώντας παραμετρικές τριγωνομετρικές συναρτήσεις, οι οποίες είναι μετατοπισμένες μεταξύ τους κατά π ακτίνια γύρω από τον άξονα της έλικας.
OghmaNano 3D simulation window showing a green double helix structure — two interleaved helical strands winding along the z axis over six complete turns.
Η διπλή έλικα απεικονίζεται στην τρισδιάστατη προβολή του OghmaNano. Δύο διαπλεκόμενες έλικες περιελίσσονται σε έξι πλήρεις στροφές, αποδεικνύοντας την ευελιξία της λειτουργίας σεναρίων Lua για τη δημιουργία μη περιοδικών γεωμετριών.

Το πλήρες σενάριο Lua για αυτή τη δομή είναι:

clear_points()

N = 200
radius = 1.5e-6
pitch = 3e-6
turns = 6

for i = 1, N do
    t = (i / N) * turns * 2 * math.pi

    -- first helix strand
    x1 = radius * math.cos(t)
    y1 = radius * math.sin(t)
    z1 = (i / N) * turns * pitch
    add_point(x1, y1, z1)

    -- second helix strand offset by pi (opposite side)
    x2 = radius * math.cos(t + math.pi)
    y2 = radius * math.sin(t + math.pi)
    add_point(x2, y2, z1)

end

Κάθε έλικα σχεδιάζεται αυξάνοντας την παράμετρο t από 0 έως 2π × αριθμός σπειρών. Οι συντεταγμένες x και y ακολουθούν μια κυκλική τροχιά με την δεδομένη ακτίνα, ενώ η συντεταγμένη z αυξάνεται γραμμικά με την τιμή του t, σύμφωνα με το καθορισμένο βήμα. Η δεύτερη έλικα είναι μετατοπισμένη κατά π ακτίνια — τοποθετώντας την στην αντίθετη πλευρά του άξονα της έλικας σε κάθε σημείο — γεγονός που δημιουργεί τη χαρακτηριστική διαπλεκόμενη γεωμετρία διπλής έλικας.

8. Περίληψη

Ο επεξεργαστής βημάτων στο OghmaNano παρέχει τρεις συμπληρωματικές μεθόδους για την περιοδική τοποθέτηση αντικειμένων στον τρισδιάστατο χώρο. Η βασική λειτουργία βημάτων διαχειρίζεται απλές ομοιόμορφες διατάξεις με ένα μόνο διάνυσμα μετατόπισης. Η λειτουργία κρυστάλλου υποστηρίζει οποιαδήποτε κρυσταλλική δομή μέσω τριών πρωταρχικών διανυσμάτων a1, a2, a3, επιτρέποντας εξαγωνικές, κυβικές ή προσαρμοσμένες μη ορθογώνιες διατάξεις. Η λειτουργία σεναρίων Lua αφαιρεί όλους τους γεωμετρικούς περιορισμούς, επιτρέποντας την τοποθέτηση σημείων σε αυθαίρετες συντεταγμένες που υπολογίζονται από οποιαδήποτε μαθηματική έκφραση – όπως απεικονίζεται στο παράδειγμα της διπλής έλικας παραπάνω. Και στις τρεις λειτουργίες, κάθε αντίγραφο του αντικειμένου κληρονομεί τις ίδιες οπτικές και ηλεκτρικές ιδιότητες με το αρχικό, έτσι ώστε ολόκληρη η περιοδική δομή να μπορεί να τροποποιηθεί επεξεργαζόμενοι ένα μόνο αντικείμενο.