1. Vernetzung
1. Was bedeutet „Meshing“?
Die Diskretisierung ist der Prozess, bei dem ein kontinuierlicher physikalischer Bereich in eine Reihe diskreter Punkte unterteilt wird, die von einem Computer verarbeitet werden können. Stellen Sie sich zum Beispiel vor, wie Wärme entlang einer Metallstange von einer Kerzenflamme an einem Ende zu einem Eisblock am anderen Ende fließt. In der Realität variiert die Temperatur entlang der Stange kontinuierlich, aber eine Simulation kann nicht unendlich viele Werte speichern. Stattdessen wird die Stange durch eine endliche Anzahl von Abtastpunkten (ein Gitter) dargestellt, und Berechnungen werden nur an diesen Stellen durchgeführt (siehe ??). Durch die Verwendung eines Gitters wandeln wir ein ansonsten kontinuierliches Problem in ein diskretes Problem um, das mit numerischen Methoden gelöst werden kann. Dieses Prinzip liegt den Finite-Differenzen-Verfahren, den Finite-Elemente-Verfahren und anderen numerischen Ansätzen zugrunde, die in der Physik und im Ingenieurwesen weit verbreitet sind.
2. Unterschiedliche Netze für unterschiedliche Probleme
In OghmaNano werden drei grundlegende physikalische Modelle gelöst: das optische Modell (Lichtabsorption und -ausbreitung), das thermische Modell (Wärmeerzeugung und -fluss) und das elektrische Modell (Ladungstransport und -rekombination). Jeder dieser Prozesse findet typischerweise auf sehr unterschiedlichen Längenskalen statt, weshalb jeder seine eigene Netzstruktur benötigt. Zum Beispiel:
- Organische Solarzelle: Die für die elektrische Funktion wichtigen Effekte konzentrieren sich auf die aktive Schicht (etwa 100 nm dick), sodass die Drift-Diffusions-Gleichungen nur dort gelöst werden müssen. Das Licht interagiert jedoch mit allen Schichten des Bauelementstapels (etwa 1 µm dick), weshalb das optische Problem für das gesamte Bauelement gelöst werden muss. In diesem Fall erstreckt sich das optische Netz über den gesamten Stapel, während sich das elektrische Netz auf die aktive Schicht konzentriert.
- Quantenwellen-Laserdioden: Das Bauelement kann in seinen Quantenwellen (etwa 30 nm dick) und den Wellleiterlagen (etwa 1 µm dick) eine beträchtliche Wärme erzeugen, diese Wärme wird jedoch letztendlich über einen großen Kupfer-Wärmeableiter abgeführt, der mehrere Zentimeter dick ist. Hier müssen die elektrischen Effekte im Nanometer- bis Mikrometerbereich innerhalb des Bauelements modelliert werden, während für die thermischen Effekte ein Netz erforderlich ist, das sich bis zur Zentimetergröße des Wärmeableiters erstreckt.
In der Praxis bedeutet dies, dass verschiedene physikalische Effekte auf unterschiedlichen Längenskalen simuliert werden müssen. Darüber hinaus bestehen Bauelemente oft aus sehr dünnen Kontaktschichten oder Grenzschichten, die nur wenige Nanometer dick sind. Optisch betrachtet liegen solche Schichten weit unter der Wellenlänge des Lichts und können oft vernachlässigt werden, elektrisch sind sie jedoch von entscheidender Bedeutung, da sie das Strom-Spannungs-Verhalten des Bauelements bestimmen. Um diese Effekte zu erfassen, würde man in diesen Bereichen ein sehr feines elektrisches Netz verwenden, während das optische Netz gröber sein und diese Bereiche umfassen kann.
OghmaNano interpoliert automatisch zwischen den Netzen, wenn Modelle miteinander gekoppelt werden. Wenn Sie beispielsweise ein Temperaturprofil auf dem thermischen Netz definieren, der elektrische Solver jedoch lokale Temperaturwerte benötigt, werden diese durch Interpolation übertragen. Dasselbe gilt für optische Größen wie die Ladungsträgergenerierungsrate, die bei Bedarf vom optischen Netz auf das elektrische Netz interpoliert werden. Als Benutzer müssen Sie diese Datenübertragungen nicht manuell verwalten.
3. Die drei Netzstrukturen von OghmaNano
OghmaNano stellt drei unabhängige Netzwerke bereit – für thermische, optische und elektrische Eigenschaften –, die je nach der zu lösenden Aufgabe separat definiert werden können. Auf jedes Netzwerk kann über die entsprechende Registerkartenleiste zugegriffen werden, wie in Abbildung ?? dargestellt.
3.1 Elektrisches Netz
Wenn Sie auf die Schaltfläche „Elektrisches Netz“ in der Registerkarte „Elektrik“ klicken, wird das Fenster des Netz-Editors geöffnet (??). Oben in diesem Fenster befinden sich die Schaltflächen X, Y und Z. Mit diesen Schaltflächen können Sie festlegen, welche räumlichen Dimensionen in der Simulation aktiv sind. Wenn Sie beispielsweise nur Y aktivieren, wird eine 1D-Simulation durchgeführt, während die gleichzeitige Aktivierung von X und Y eine 2D-Simulation ermöglicht. In dem gezeigten Beispiel sind sowohl X als auch Y aktiv, sodass das Netz für eine 2D-OFET-Simulation konfiguriert ist. Die zentralen Tabellen funktionieren wie Tabellenkalkulationen und definieren die Netzstruktur für jede aktive Dimension. Die Hauptspalten sind:
- Dicke: die physische Dicke jeder einzelnen Netzbereichsfläche.
- Netzpunkte: die Anzahl der Diskretisierungspunkte in diesem Bereich.
- Schrittweise Multiplikation: Gibt an, um wie viel sich der Abstand zwischen den Gitterlinien innerhalb der Region bei jedem Schritt vergrößert. Zum Beispiel erhöht ein Wert von
1.1den Abstand bei jedem Schritt um 10 % im Vergleich zum vorherigen Schritt. - Links/Rechts: Legt die Seite des Geräts fest, von der aus das Netz erzeugt wird.
Die resultierenden Gitter werden in den Diagrammen am unteren Rand des Fensters dargestellt, wodurch sofortiges Feedback zur Punktabstand und -verteilung gegeben wird. Die Schaltfläche „Aus Layereditor importieren“ bietet eine praktische Funktion für komplexe Bauteile. Sie löscht das Y-Gitter und importiert automatisch alle Ebenen aus dem Layereditor, wobei pro Ebene vier Gitterpunkte zugewiesen werden. Dies ist besonders nützlich für Strukturen mit vielen Ebenen, wie z. B. Laserdioden.
Das elektrische Netz im Detail: ?? veranschaulicht, wie das elektrische Netz aufgebaut ist. Das Netz beginnt nicht exakt an der Gerätegrenze, sondern setzt stattdessen in einem Abstand von der Hälfte der Netzmaschenweite innerhalb des Geräts an. Dadurch wird sichergestellt, dass der erste Berechnungsknoten innerhalb des aktiven Simulationsbereichs liegt, sodass Randbedingungen (z. B. elektrische Kontakte) an klar definierten Positionen knapp außerhalb des Netzes angewendet werden können. Dasselbe Prinzip wird am äußeren Rand des Geräts angewendet, sodass sich das Netz um eine halbe Maschenweite über den letzten physikalischen Punkt hinaus erstreckt.
- Es vermeidet numerische Probleme, die auftreten, wenn versucht wird, Ableitungen direkt an den Rändern zu berechnen.
- Es positioniert die erste und die letzte Netzpunkt in einer Weise, die das Innere des physischen Geräts am besten widerspiegelt, und ermöglicht gleichzeitig eine konsistente Anwendung externer Bedingungen.
Automatische Erstellung von Gitternetzen: Die Schichtdicken werden im Schichteditor definiert. Nachdem die physikalische Struktur des Bauelements festgelegt wurde, sollte der Benutzer das elektrische Gitter aktualisieren, sodass die Geometrie des Gitters mit den physikalischen Abmessungen des Bauelements übereinstimmt. In der Praxis stellen sich bei neuen Benutzern oft die Frage, ob das elektrische Gitter, wie jede CAD-Darstellung, mit der Größe des physikalischen Objekts übereinstimmen muss.
Um die Anzahl von Fehlern bei der Konfiguration zu reduzieren, verwendet OghmaNano während der Ausführung automatisch vordefinierte Annahmen für die Erstellung des Gitters. Die Simulation geht davon aus, dass die im Layereditor angegebenen Layerbreiten und -höhen korrekt sind, und versucht, diese Abmessungen automatisch auf das elektrische Gitter zu übertragen. Wenn beispielsweise ein Bauelement aus einer einzelnen Schicht besteht und die entsprechende Gitterhöhe falsch ist, verwendet die Simulation intern die Schichtdicke aus dem Layereditor, um das Gitter zu erstellen.
Wenn die Anzahl der Geräteschichten mit der Anzahl der vertikalen Netzschichten übereinstimmt, wird jede Netzschicht automatisch der entsprechenden Dicke der Geräteschicht zugeordnet. Diese Anpassungen werden intern während der Simulation vorgenommen und verändern nicht die sichtbaren Netzparameter im Editor. Wenn die Anzahl der Netzschichten nicht mit der Anzahl der aktiven Geräteschichten übereinstimmt oder wenn die Zuordnung mehrdeutig ist, wird die automatische Netzgenerierung nicht angewendet, und die Simulation wird mit einer Fehlermeldung beendet, die darauf hinweist, dass die Netzdefinition nicht mit der Gerätestruktur übereinstimmt.
3.2 Optisches Gitter
Der optische Netzeditor (??) ähnelt in seiner Anordnung dem elektrischen Netzeditor, enthält aber ein zusätzliches Bedienfeld zum Definieren des Wellenlängennetzes. Oben im Fenster schalten die Schaltflächen X, Y und Z die aktiven räumlichen Dimensionen ein und aus, während die Schaltfläche λ (Wellenlänge) das Spektralraster aktiviert.
Das linke Bedienfeld legt die räumliche Diskretisierung in Nanometern fest, wobei die gleichen Spalten wie beim elektrischen Gitter verwendet werden (Dicke, Anzahl der Gitterpunkte, Schrittmultiplikator und links/rechts). Das rechte Bedienfeld definiert den spektralen Bereich durch Festlegen der Start- und Stopp-Wellenlängen, der Anzahl der Punkte und des Schrittmultiplikators. Diese Wellenlängenpunkte werden in allen optischen Simulationsverfahren einheitlich verwendet, einschließlich Raytracing, FDTD und Transfermatrix-Simulationen.
Automatische Netzgenerierung: Für optische Simulationen versucht die Software, das optische Netz automatisch anzupassen, sodass seine Abmessungen mit dem optischen Problem übereinstimmen. Bei komplexeren zwei- oder dreidimensionalen Simulationen versucht der Solver, die optischen und elektrischen Netze automatisch zu aktualisieren, falls diese nicht übereinstimmen. Wenn dies nicht möglich ist oder wenn die gewünschte Netzkonfiguration nicht eindeutig bestimmt werden kann, wird die Simulation mit einer klaren Fehlermeldung abgebrochen, die darauf hinweist, dass die Netzdefinitionen nicht konsistent sind.
3.3 Thermisches Netzgewebe
Der Editor für thermische Netze (??) funktioniert auf die gleiche Weise wie die Editoren für elektrische und optische Netze. Er verfügt über Schaltflächen für die X-, Y- und Z-Achse, um räumliche Dimensionen zu aktivieren. Darüber hinaus enthält er ein spezielles T-Netz (für Temperatur).
Das Temperaturmodell wird immer dann verwendet, wenn Simulationen die Temperaturabhängigkeit berücksichtigen müssen, beispielsweise bei der Aktivierung der Selbsterwärmung oder bei der Auswertung elektrischer Eigenschaften über einen Temperaturbereich. Bevor die Simulation ausgeführt wird, berechnet und tabelliert OghmaNano Größen wie Trägerdichten in Abhängigkeit von der Fermi-Energie und der Temperatur oder Fermi-Dirac-Integrale. Diese Tabellen ermöglichen es dem Solver, während der Simulation schnell auf Werte zuzugreifen, anstatt sie wiederholt zu berechnen.
In den meisten Fällen wird das thermische Netz automatisch verarbeitet, aber erfahrene Anwender können den Bereich und die Auflösung anpassen, um eine ausreichende Genauigkeit für stark temperaturabhängige Probleme zu gewährleisten.
4. Wann muss ich mir bei der Verwendung von OghmaNano Gedanken über die korrekte Vernetzung der Elemente machen?
Elektrisches Netz: Der Layer-Editor teilt ein Bauelement in Schichten aus verschiedenen Materialien auf (siehe Abschnitt 3.1.3). Als aktiv markierte Schichten sind diejenigen, auf die das elektrische Modell angewendet wird. Für diese Schichten muss ein Finite-Differenzen-Netz definiert werden. Die Länge des Netzes muss exakt mit der Länge der aktiven Schicht übereinstimmen, andernfalls tritt ein Fehler auf. OghmaNano generiert in der Regel automatisch ein geeignetes Netz, sodass dies bei den meisten einfachen Bauelementen keine manuelle Eingabe erfordert. Wenn jedoch mehrere aktive Schichten vorhanden sind oder die Anzahl der Netzpunkte reduziert werden muss, um eine Simulation zu beschleunigen (oder erhöht werden muss, um die Genauigkeit zu verbessern), muss das elektrische Netz möglicherweise manuell konfiguriert werden.
Optisches Gitter: Das optische Gitter steuert sowohl die räumliche als auch die Wellenlängenabtastung. Es muss möglicherweise angepasst werden, um den simulierten Wellenlängenbereich zu verändern oder die Art und Weise zu optimieren, wie Licht mit verschiedenen Schichten des Geräts interagiert. Eine Erhöhung der Anzahl der Gitterpunkte verbessert die optische Genauigkeit, verlängert aber die Simulationszeit.
Thermales Netz: Das thermale Netz ist nur dann relevant, wenn die Funktion zur Selbsterwärmung aktiviert ist. In diesem Fall stellt es die erforderliche Auflösung bereit, um die Temperaturunterschiede im gesamten Gerät zu modellieren und die Kopplung thermischer Effekte mit Fallen und Rekombinationsprozessen darzustellen. Andernfalls wird es automatisch von OghmaNano verwaltet.
5. Tipps zum Erstellen von Netzstrukturen
Sollte ich die Simulation in einer, zwei oder drei Dimensionen durchführen?
Die Wahl der richtigen Dimensionalität ist eine der wichtigsten Entscheidungen bei der Einrichtung einer Simulation. Verwenden Sie immer die minimale Anzahl an Dimensionen, die erforderlich ist, um die relevanten physikalischen Eigenschaften zu erfassen – das spart Zeit und Rechenleistung.
- Solarzellen: In der Regel sind lediglich einachsige Gitterstrukturen erforderlich, da die Variationen hauptsächlich in vertikaler Richtung (in Bezug auf die Dicke) auftreten.
- Optische Filter: In der Regel ebenfalls einlagig, da die wesentliche optische Interferenz in der Richtung der Schichtanordnung stattfindet.
- OFETs: Benötigen eine zweidimensionale Struktur, da sowohl der vertikale Stromfluss durch den Halbleiter als auch der laterale Strom zwischen Source und Drain kontrolliert werden müssen.
Geschwindigkeit im Vergleich zur Genauigkeit
Es ist verlockend anzunehmen, dass die Erhöhung der Anzahl der Netzpunkte immer die Genauigkeit verbessert. In der Praxis kann eine größere Anzahl von Punkten bis zu einem gewissen Grad hilfreich sein, aber sie kann auch dazu führen, dass eine Simulation weniger genau oder weniger stabil wird. Der limitierende Faktor ist oft nicht die reine Rechenleistung, sondern die numerische Konditionierung: Viele Bauelement-Simulationen enthalten Größen, die sich um viele Größenordnungen unterscheiden (z. B. sehr kleine Dichten oder Rekombinationsraten neben sehr großen Feldern, Strömen oder Dotierungen). Da Computer eine Arithmetik mit begrenzter Genauigkeit verwenden, können Operationen mit extrem großen und extrem kleinen Zahlen zu einem signifikanten Genauigkeitsverlust führen. Dieser Genauigkeitsverlust kann den Fehler beeinflussen und zu unerwünschten Schwingungen, verrauschten Strömen oder einer schlechten Konvergenz führen.
Eine Erhöhung der Maschenfeinheit kann dieses Problem verschlimmern, anstatt es zu verbessern. Eine feinere Masche führt oft zu steileren lokalen Gradienten, größeren Ableitungstermen und einer stärkeren Kopplung zwischen benachbarten Knoten, was die Differenz zwischen den kleinsten und größten Werten im zu lösenden linearen System vergrößern kann. Das Ergebnis ist möglicherweise ein schlechter konditioniertes Problem, bei dem der Solver Schwierigkeiten hat, zwischen der tatsächlichen Physik und dem numerischen Rauschen zu unterscheiden. In solchen Fällen kann eine etwas gröbere Masche zu glatteren Feldern, einer besseren Konditionierung und somit zu zuverlässigeren Ergebnissen führen – auch wenn sie weniger Punkte enthält.
Ein guter Arbeitsablauf besteht darin, mit einem groben Netz zu beginnen, um die Konfiguration zu überprüfen und sicherzustellen, dass das qualitative Verhalten korrekt ist, und anschließend nur so weit wie nötig das Netz zu verfeinern. Die Verfeinerung des Netzes sollte auf nachweisbaren Ergebnissen basieren: Wenn sich wichtige Ergebnisse (z. B. J-V-Kurven, Ladungsträgerprofile, optische Erzeugung) nicht mehr wesentlich ändern, wenn zusätzliche Punkte hinzugefügt werden, ist es unwahrscheinlich, dass eine weitere Verfeinerung die Genauigkeit verbessert.
Beachten Sie bei der Einrichtung eines Geräts in OghmaNano die folgenden Richtlinien:
- Verwenden Sie nach Möglichkeit die geringste Anzahl an Dimensionen: Verwenden Sie, wann immer möglich, eine eindimensionale Darstellung; wechseln Sie nur dann zu einer zweidimensionalen oder dreidimensionalen Darstellung, wenn dies physikalisch erforderlich ist.
- Reduzieren Sie die Anzahl der Netzpunkte, wo immer dies möglich ist: Streben Sie nach der geringstmöglichen Anzahl von Punkten, die dennoch die wesentlichen physikalischen Eigenschaften erfasst. Dies verbessert die Geschwindigkeit und kann die numerische Stabilität erhöhen.
- Eine höhere Anzahl von Punkten bedeutet nicht immer eine bessere Lösung: Wenn eine Erhöhung der Punktdichte zu unerwünschten Strömen, Konvergenzproblemen oder instabilen Profilen führt, sollten Sie versuchen, die Anzahl der Punkte zu reduzieren und/oder die Verfeinerung nur auf die relevanten Bereiche zu beschränken.
- Verwenden Sie grobe Netze für die erste Erkundung: Wenn Sie die Passform testen oder das allgemeine Verhalten eines Geräts untersuchen, reduzieren Sie die Netzauflösung, um schnell Ergebnisse zu erhalten, und verfeinern Sie sie dann gezielt, um die Genauigkeit zu erhöhen.
- Verfeinern Sie das Modell gezielt: Fügen Sie Punkte dort hinzu, wo tatsächlich Gradienten vorhanden sind (Grenzflächen, Verarmungszonen, dünne Schichten), und nicht überall. Eine gleichmäßige Verfeinerung ist oft die ineffizienteste Option.