Startseite Beispiele Screenshots Benutzerhandbuch Bluesky-Logo YouTube ☰
OghmaNano Simulation von organischen/Perowskit-Solarzellen, OFETs und OLEDs DOWNLOAD Quick Start guide

Simulation von DFB-Gittern und Bragg-Gittern mit der Methode der Finite-Differenzen-Transfermatrix

SEM-style view of a two-period DFB grating showing the change in grating period along the structure.
Rasterelektronenmikroskopische Darstellung einer zweizeitigen DFB-Gitterstruktur, die den Übergang zwischen den beiden Gitterperioden zeigt.

In diesem Tutorial verwenden wir den Finite-Differenzen-Transfermatrix-Solver von OghmaNano, um die Reflexion, Transmission und optische Absorption eines verteilten Rückkopplungsspiegels (DFB-Spiegel) oder eines Bragg-Gitters zu simulieren. Diese Strukturen nutzen eine periodische Modulation des Brechungsindex, um eine starke, wellenlängenabhängige Reflexion durch kohärente, verteilte Streuung zu erzeugen. In unserem vorherigen Tutorial zum optischen Filter wurde die optische Struktur durch die Epitaxie des Bauelements definiert; hier verwenden wir stattdessen Lua-Skripte, um das Gitter direkt zu erstellen, wodurch beliebige optische Schichtanordnungen und Geometrien definiert werden können. Das Skriptsystem wird in Schritt-Editor und Skriptdokumentation detaillierter beschrieben. Anschließend untersuchen wir, wie ein DFB-Gitter mit zwei Perioden die resultierenden Reflexions-, Transmissions- und Absorptionsspektren bestimmt.

1. Hintergrund

Im Gegensatz zu einem metallischen Spiegel, der Licht an einer einzigen Oberfläche reflektiert, reflektiert ein DFB-Spiegel Licht durch wiederholte Streuung an einer periodischen Struktur (siehe ??). Wenn die Gitterperiode die Bragg-Bedingung erfüllt, addieren sich die reflektierten Wellen in Phase und erzeugen ein starkes Reflexionsband oder Sperrband. Die Position und Breite dieses Bandes werden hauptsächlich durch die Gitterperiode, den Brechungsindexunterschied und die Anzahl der Perioden bestimmt.

Die Reflexionsbande eines DFB-Spiegels ist auf die Bragg-Wellenlänge \(\lambda_B\) zentriert, die durch die Gitterperiode \(\Lambda\) und den effektiven Brechungsindex \(n_{\text{eff}}\) des sich durch die Struktur ausbreitenden Modus bestimmt wird.

\[ m\lambda_B = 2 n_{\text{eff}} \Lambda \]

wobei \(m\) die Beugungsordnung ist. Die Stärke des Gitters wird durch den Kopplungskoeffizienten \(\kappa\) beschrieben, der angibt, wie stark die sich vorwärts und rückwärts ausbreitenden Wellen durch die Indexmodulation \(\Delta n\) gekoppelt sind. Für ein Gitter mit einem annähernd quadratischen Indexprofil gilt:

\[ \kappa \approx \frac{2\,\Delta n}{\lambda_B} \]

Die maximale Reflexionsfähigkeit eines homogenen Gitters mit der Länge \(L\) ergibt sich dann aus der gekoppelten Modentheorie als:

\[ R = \tanh^{2}(\kappa L) \]

so dass eine Erhöhung entweder des Brechungsindexkontrasts oder der Gitterlänge die Reflektivität in Richtung Eins treibt. Die Breite des Sperrbereichs skaliert mit dem Kopplungskoeffizienten.

\[ \Delta\lambda \approx \frac{\lambda_B^{2}\,\kappa}{\pi\, n_{\text{eff}}} \]

Stark kontrastreiche Gitter erzeugen breite, ausgeprägte Reflexionsbänder, während schwache Gitter schmale Bänder erzeugen. Diese einfachen Zusammenhänge reichen aus, um die Sperrbänder zu bestimmen und ihre Stärke abzuschätzen; eine vollständige elektromagnetische Lösung ist dann erforderlich, um die detaillierte spektrale Form, die Welligkeit und das Verhalten außerhalb des Sperrbereichs zu erfassen.

Die klassische Transfermatrixmethode geht von einer Anordnung flacher, unendlich periodischer Schichten aus. Reale Gitter sind jedoch selten perfekt periodisch. Um beliebige, aperiodische oder absichtlich veränderte Strukturen zu berücksichtigen – wie beispielsweise das in diesem Tutorial simulierte Gitter mit zwei Perioden – projiziert OghmaNano das Transfermatrixformalismus auf ein Finite-Differenzen-Gitter. Die optische Struktur wird räumlich diskretisiert, und die Vorwärts- und Rückwärtsausbreitung des Feldes wird schrittweise über das Gitter berechnet. Dieser Finite-Differenzen-Transfermatrix-Ansatz behält die numerische Effizienz und Stabilität der klassischen Transfermatrixmethode bei und ermöglicht gleichzeitig die Simulation beliebiger räumlicher Brechungsindexverteilungen, einschließlich Gitter mit mehr als einer Periode, einer Frequenzmodulation, einer Amplitudenmodulation oder einer eingebauten Unordnung.

2. Loslegen

Um Ihre erste DFB-Gitterberechnung zu starten, öffnen Sie das Fenster „Neue Simulation“ über die Registerkarte „Datei“ im Hauptmenü (siehe ??). Wählen Sie die Gruppe „Transfermatrix-Methode“ aus und doppelklicken Sie auf das Beispiel „Bragg-Gitter (1D)“ (siehe ??). Speichern Sie die Simulation anschließend in einem Ordner auf Ihrer Festplatte. Daraufhin wird das Hauptfenster angezeigt (siehe ?? und ??), das ein Bragg-Gitter mit zwei Perioden zeigt. Das Beispiel lädt ein Bragg-Gitter mit zwei Perioden. Der Abstand zwischen den schmaleren Gittern beträgt 140 nm, während der Abstand zwischen den etwas breiteren Gittern 218 nm beträgt. Das Gitter selbst besteht aus SiO2, während das umgebende Medium in diesem Beispiel Luft ist. Sobald die Simulation geöffnet ist, können Sie die Struktur im Hauptfenster untersuchen (siehe ??).

New simulation window showing the available device types.
Das neue Simulationsfenster. Doppelklicken Sie auf „Transfermatrix-Methode“, um die Beispielszenarien für Gitter zu sehen.
Transfer matrix method examples with the Bragg grating (1D) example highlighted.
Die Gruppe, die die Transfermatrix-Methode anwendet, wobei das Beispiel einer Bragg-Gitterstruktur (1D) hervorgehoben wird.
Main window showing the two-period Bragg grating device structure.
Das Hauptfenster von OghmaNano zeigt das Bragg-Gitter mit zwei Perioden.

3. Durchführung der DFB-Simulation

?? zeigt dasselbe Gerät aus einer leicht veränderten Perspektive. Klicken Sie auf die Schaltfläche „Simulation starten“ (Wiedergabe), um die Spektren zu berechnen (siehe ??). Sobald die Berechnung abgeschlossen ist, werden die Ergebnisse im Register „Ausgabe“ angezeigt (siehe ??). Wenn Sie auf „Simulation starten“ klicken, beginnt der Solver, das optische Spektrum schrittweise zu durchlaufen und jeweils eine Wellenlänge zu berechnen (siehe ??). Jede farbige Linie im Terminal (Solve optical slice at … nm) entspricht einer anderen Wellenlänge, für die die Berechnung durchgeführt wird. Wie oben beschrieben, ist die hier verwendete Methode im Wesentlichen eine Transfermatrixmethode, die auf ein Finite-Differenzen-Gitter projiziert wird, was die Verarbeitung eines beliebigen Gitters mit zwei Perioden ermöglicht.

Main window showing the Bragg grating from a slightly different viewpoint.
Dasselbe Gerät, jedoch aus einem etwas anderen Blickwinkel betrachtet.
Terminal showing the finite-difference transfer matrix solver stepping through wavelengths.
Der Algorithmus durchläuft das Farbspektrum; jede Farbe kennzeichnet eine andere Wellenlänge, die berechnet wird.
Output tab showing the files and folders generated by the simulation.
Registerkarte „Ausgabe“, die nach der Ausführung der Simulation angezeigt wird, mit den erstellten Dateien und Ordnern.

3. Überprüfung der Ergebnisse

Sobald die Simulation abgeschlossen ist, öffnen Sie die Registerkarte „Ausgabe“ (siehe ??), um die durch die Berechnung erstellten Dateien anzuzeigen. Die wichtigsten Ausgabedateien, die in diesem Tutorial verwendet werden, sind device.csv, der Ordner optical_output und der Ordner optical_snapshots. Beginnen Sie, indem Sie device.csv öffnen (siehe ??). Dies zeigt ein dreidimensionales Netz des Bauteils, wie es vom Solver dargestellt wird. So können Sie überprüfen, ob die Gittergeometrie korrekt generiert und vernetzt wurde, bevor Sie die optischen Ergebnisse untersuchen.

Three-dimensional triangular mesh of the Bragg grating device as seen by the solver.
Dreidimensionale Darstellung des Gitters der Vorrichtung, die zeigt, wie der Solver die Gitterstruktur wahrnimmt.
Generation rate showing where photons are absorbed throughout the grating structure.
Erzeugungsrate, die angibt, wo das Licht innerhalb des Gitters absorbiert wird.
Reflected light spectrum showing clear bands where the grating reflects light.
Das reflektierte Licht zeigt die durch die Gitterstruktur erzeugten Reflexionsstreifen.
Transmitted light spectrum showing the pass bands of the grating.
Durchgelassenes Licht, das die entsprechenden Durchlassbereiche zeigt.

Klicken Sie als Nächstes doppelt auf „optical_output“, um den Editor für die optische Simulation zu öffnen. Die Registerkarte „Generation rate“ (siehe ??) zeigt, wo die Photonen innerhalb der Struktur absorbiert werden. Bereiche mit geringer oder keiner Absorption entsprechen hauptsächlich der umgebenden Luft, während eine stärkere Absorption innerhalb des Gitters stattfindet.

Die Registerkarte „Reflektiertes Licht“ (siehe ??) zeigt die Wellenlängen, die vom Gitter reflektiert werden, wobei deutliche Reflexionsbereiche durch Bereiche mit geringerer Reflexionsfähigkeit voneinander getrennt sind. Die Registerkarte „Transmittiertes Licht“ (siehe ??) zeigt das entsprechende Transmissionsspektrum, wobei eine hohe Transmission dort auftritt, wo die Reflexion gering ist.

4. Bearbeitung der optischen Materialien

Die für das Gitter verwendeten optischen Materialien können im Absorptionseditor überprüft und geändert werden. Dieser wird über die Registerkarte „Gerätestruktur“ im Hauptfenster geöffnet. Daraufhin wird der Absorptionseditor angezeigt (siehe ?? und ??), der den Brechungsindex \(n\) und die Absorptionsdaten \(\alpha\) sowohl des SiO2-Materials, aus dem das Gitter besteht, als auch der umgebenden Luft anzeigt. Die Registerkarte „Objekt“ (siehe ??) zeigt das Material des Gitters selbst (Oxides/SiO2) an, während die Registerkarte „Umgebung“ (siehe ??) das umgebende Medium (Generic/air) anzeigt. Hier können Sie die Materialien ändern, indem Sie auf die Schaltfläche „…“ im Feld „Optisches Material“ klicken und die gewünschten Materialien auswählen.

Absorption editor showing the refractive index and absorption of the SiO2 grating material.
Die Registerkarte „Objekt“ zeigt die Daten \(n\) und \(\alpha\) des SiO2-Gitters an.
Absorption editor showing the refractive index and absorption of the surrounding air.
Der Reiter „Welt“ zeigt die Daten \(n\) und \(\alpha\) der umgebenden Luft an.

5. Bearbeitung der Gitterstruktur

Wenn Sie mit der rechten Maustaste auf die DFB-Struktur selbst klicken, werden Ihnen verschiedene Optionen angezeigt, darunter der Mesh-Editor und der Kristall-Editor (siehe ??). Durch Klicken auf den Mesh-Editor (siehe ??) werden die Abmessungen des eigentlichen Würfels angezeigt. Es sollte beachtet werden, dass die Transfermatrixmethode eine eindimensionale Methode ist, daher spielt es keine große Rolle, welche die anderen Abmessungen der Struktur sind – einzig die Breite entlang der Ausbreitungsachse ist von Bedeutung, nicht unbedingt die anderen Abmessungen des Würfels. Wenn Sie FDTD in zwei Dimensionen durchführen würden, wäre die andere Dimension wichtiger.

Right-click menu on the DFB structure showing the Mesh editor and Crystal editor options.
Wenn Sie mit der rechten Maustaste auf die Struktur klicken, werden die Optionen des Mesh-Editors und des Crystal-Editors angezeigt.
Mesh editor showing the box dimensions of the grating.
Der Editor für das Netz zeigt die Abmessungen des Quaders an. Nur die Breite entlang der Ausbreitungsachse beeinflusst das eindimensionale Ergebnis.

Wählen Sie im selben Menü den Crystal-Editor aus (siehe ??), um das Lua-Skript anzuzeigen, das zur Erstellung der Gitterstruktur verwendet wird. Anstatt jedes Gitterelement manuell zu definieren, wird die vollständige Struktur programmatisch erstellt. Durch Klicken auf „Aktualisieren“ wird das Skript erneut ausgeführt und die Geometrie neu generiert. In diesem Beispiel führt math.random eine geringfügige Positionsvariation ein, sodass sich das Gitter bei jeder Neugenerierung leicht verändert. Dieser Effekt ist in ?? zu sehen, wo die Gittergeometrie alle zwei Sekunden aktualisiert wird, um die zufällige Variation zu veranschaulichen, die in die Periode eingeführt wird.

Crystal editor showing the Lua script used to generate the DFB grating structure.
Der Crystal-Editor zeigt das Lua-Skript, das zur Erzeugung des Gitters verwendet wird.
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 
Eine Textversion des Lua-Skripts wird hier zur Verfügung gestellt, damit Sie es einfach kopieren und einfügen können.
Two-period DFB grating with a small random variation added to the grating period to represent fabrication inaccuracies.
Ein DFB-Gitter mit zwei Perioden, dem eine geringe, zufällige Variation in der Gitterperiode hinzugefügt wird, um Ungenauigkeiten abzubilden, die während der Herstellung auftreten.

Das Skript beginnt damit, alle zuvor erzeugten Punkte zu löschen und definiert dann die Parameter, die die Geometrie steuern. Die Hauptschleife for durchläuft die Struktur Punkt für Punkt. Bei jeder Iteration wird der aktuelle Wert von i verwendet, um die Koordinaten des nächsten Teils der Geometrie zu berechnen, und diese Koordinaten werden dann mithilfe von add_point() zur Struktur hinzugefügt. Innerhalb derselben Schleife wird ein zweites Koordinatenset berechnet, um den entsprechenden Punkt auf der gegenüberliegenden Seite zu erzeugen. Im Beispiel der DFB-Gitterstruktur wird das gleiche Prinzip verwendet, um jedes Gitterelement nacheinander zu positionieren. Durch Ändern der Parameter oder Hinzufügen von Termen wie math.random() kann das Skript unterschiedliche Perioden, Abmessungen oder kontrollierte Variationen im Gitter erzeugen.

6. Auswahl der Beleuchtungsrichtung

Ein nützliches Merkmal von OghmaNano ist, dass die Berechnung der Transfermatrix nicht auf eine einzige Ausbreitungsrichtung beschränkt ist. In vielen Implementierungen wird die Berechnung nur entlang der Schichtanordnung angewendet, beispielsweise durch die Epitaxie des Bauelements. In OghmaNano kann stattdessen die Beleuchtungsrichtung explizit ausgewählt werden, wodurch die gleiche Struktur entlang einer beliebigen der Hauptachsen simuliert werden kann.

Um die Beleuchtungsrichtung auszuwählen, öffnen Sie das Register „Optik“ (siehe ??) und wählen Sie „Lichtquellen“ aus, um den Lichtquellen-Editor zu öffnen (siehe ??). Verwenden Sie im Register „Konfigurieren“ das Feld „Beleuchten von“, um x0, x1, y0, y1, z0 oder z1 auszuwählen.

Optical ribbon in the OghmaNano main window showing the Light Sources control.
Das optische Band. Wählen Sie die Lichtquellen aus, um die Beleuchtung zu konfigurieren.
Light source editor showing the Illuminate from setting used to select the propagation direction.
Der Editor für die Lichtquelle. Mit „Illuminate from field“ wird die Richtung der Beleuchtung festgelegt.
DFB grating illuminated from the z0 side, with the light source positioned at the front of the structure.
Beleuchtung durch z0, wobei sich die Lichtquelle an einem Ende des Gitters befindet.
DFB grating illuminated from the z1 side, with the light source positioned at the opposite end of the structure.
Beleuchtung durch z1, wobei die Lichtquelle zum gegenüberliegenden Ende verschoben wurde.

In diesem Beispiel bewirkt die Änderung der Beleuchtung von z0 (siehe ??) auf z1 (siehe ??) lediglich, dass die Lichtquelle auf die gegenüberliegende Seite des Gitters verschoben wird. Für diese reziproke Struktur ist die optische Reaktion aus beiden Richtungen gleich, aber diese Option ist nützlich, wenn asymmetrische Strukturen untersucht oder die Ausbreitung von gegenüberliegenden Seiten aus verglichen wird.

7. Fazit

In diesem Tutorial haben wir OghmaNano verwendet, um einen verteilten Rückkopplungsspiegel (DFB) und ein Bragg-Gitter mithilfe der Methode der Finite-Differenzen-Transfermatrix zu simulieren. Sie haben gelernt, wie man mit Lua-Skripten ein Gitter mit zwei Perioden erzeugt, kontrolliertes Rauschen einführt, um Fertigungstoleranzen darzustellen, die optische Berechnung durchführt und die resultierenden Reflexions-, Transmissions- und Absorptionsspektren interpretiert. Sie haben auch gesehen, wie die Beleuchtungsrichtung entlang einer beliebigen der Hauptachsen ausgewählt werden kann, anstatt auf eine feste epitaktische Richtung beschränkt zu sein. Diese Techniken können verwendet werden, um DFB- und DBR-Laserspiegel, Bragg-Gitter aus Glasfasern, optische Filter, dielektrische Spiegel und andere wellenlängenabhängige photonische Strukturen sowie komplexere Gitter mit mehreren Perioden, Unregelmäßigkeiten oder benutzerdefinierten Geometrien zu untersuchen.