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

Anpassen an experimentelle Daten

1. Überblick

Genau wie Sie die Diodengleichung an eine Kennlinie im Dunkelbereich anpassen können, um den Idealitätsfaktor zu bestimmen, ermöglicht Ihnen OghmaNano, vollständige Gerätemodelle direkt an experimentelle Daten anzupassen. Durch die Kalibrierung der Simulation anhand Ihrer Messungen können Sie physikalisch aussagekräftige Parameter – Beweglichkeiten, Dichte der Defektzustände, Kontaktwiderstände, Rekombinationskoeffizienten – innerhalb eines selbstkonsistenten Rahmens ermitteln. Im Vergleich zu einfachen analytischen Formeln bewahrt eine physikalisch fundierte Anpassung die optisch-elektrische Kopplung und liefert umfassendere und zuverlässigere Einblicke in die Mechanismen, die die Leistung bestimmen. In diesem Tutorial werden Sie in den Anpassungsprozess in OghmaNano eingeführt, und es wird gezeigt, wie Sie Variablen auswählen, Minimierungsalgorithmen festlegen und effiziente, reproduzierbare Anpassungen durchführen.

2. Ihr erstes Outfit

OghmaNano enthält mehrere Demosimulationen, die veranschaulichen, wie Modelle an experimentelle Daten angepasst werden können. Eine davon verwendet ein einfaches Drift-Diffusions-Modell als Beispiel. Um darauf zuzugreifen, klicken Sie im Menüband „Datei“ auf das Symbol „Neue Simulation“, um das Fenster „Neue Simulation“ zu öffnen (Abbildung ??). Klicken Sie anschließend doppelt auf die Kategorie „Skripting und Anpassung“, um den in Abbildung ?? gezeigten Ordner zu öffnen. Wählen Sie das Beispiel „Anpassung und Parameterextraktion“ aus, um ein Demoprojekt zu laden. Nach dem Öffnen wird eine einfache Solarzellen-Simulation gestartet (Abbildung ??). Obwohl sich diese Demo auf eine Solarzelle konzentriert, kann die Anpassungsfunktion auf jede Simulation und jeden Datensatz angewendet werden.

The 'New simulation' window showing different device categories in OghmaNano. The 'Scripting and fitting' category is highlighted.
Das neue Simulationsfenster. Wählen Sie die Kategorie „Skripting und Anpassung“, um auf Anpassungsbeispiele zuzugreifen.
The 'Scripting and fitting' folder opened, highlighting the 'Fitting and parameter extraction example'.
Öffnen Sie den Ordner „Scripting und Anpassung“. Doppelklicken Sie auf das Beispiel „Anpassung und Parameterextraktion“, um ein Demoprojekt zu laden.

Sobald Sie die neue Simulation gespeichert haben, wird das Hauptfenster der Simulation angezeigt (??). Navigieren Sie von hier aus zum Reiter „Automatisierung“ (in Rot hervorgehoben) und wählen Sie das Symbol „An Experiment anpassen“ aus, um das Anpassungsfenster zu öffnen ??.

OghmaNano Automation ribbon with the 'Fit to experiment' icon highlighted, and a 3D solar cell device structure displayed in the main window.
Die Automatisierungsleiste in OghmaNano zeigt das Symbol „An Experiment anpassen“. Wenn Sie diese Option auswählen, wird das Hauptfenster für die Anpassung geöffnet.
The OghmaNano fitting window with an experimental JV curve loaded into the workspace.
Das Fenster wird beim ersten Öffnen korrekt angezeigt und zeigt einen importierten Datensatz aus einem Licht-JV-Experiment, der für die Anpassung bereit ist.

Die Anpassungsparameter legen fest, wie die Optimierung durchgeführt wird: Sie geben an, welche experimentellen Datensätze verwendet und welche Simulationsvariablen angepasst werden. Sie können die Anpassung entweder an einen einzelnen Datensatz vornehmen, wie hier gezeigt, oder gleichzeitig an mehrere Datensätze, um eine präzisere Parameterschätzung zu erzielen. In Abbildung ?? stellt die blaue Linie die experimentelle Strom-Spannungs-Kennlinie dar, die für die Anpassung verwendet wird.

💡 Praktische Übung: Verwenden des passenden Fensters

  1. Aufgabe 1 – Eine Iteration: Klicken Sie auf die Schaltfläche „Eine Iteration“, um die Anpassungsansicht zu aktualisieren (??a). Im Tab „Delta = Experiment – Simulation“ sehen Sie die simulierte Kennlinie (blau), die über die experimentelle Kennlinie (rot) gelegt ist, sowie die grüne Delta-Kurve, die punktweise als \( \Delta(V) = J_{\mathrm{exp}}(V) - J_{\mathrm{sim}}(V) \) definiert ist. Ein guter Ausgangspunkt ist, wenn die grüne Kurve über den gesamten Spannungsbereich nahe bei Null liegt.
  2. Aufgabe 2 – „Run fit“ ausführen: Klicken Sie auf „Run fit“, um den automatischen Minimierungsalgorithmus zu starten (ein erneuter Klick beendet den Vorgang). Während der ersten Iterationen kann der Fehler kurzzeitig ansteigen, sollte dann aber sinken, da sich die simulierten und experimentellen Kurven annähern. Wechseln Sie zum Reiter „Fit-Fortschritt“, um den Fehler in Abhängigkeit von der Iteration darzustellen (??b); dieses Diagramm wird auch im Simulationsverzeichnis unter fitlog.csv gespeichert, um es extern darzustellen. Bei einer typischen Konfiguration dauert dieser Schritt etwa 30 Sekunden.
OghmaNano fitting window showing simulated (blue), experimental (red), and delta (green) JV curves after running one fit iteration.
a) Nach einer Iteration der Anpassung: simulierte (blau), experimentelle (rot) und Delta-Kennlinien (grün).
OghmaNano fit progress window showing the error function decreasing over successive iterations, indicating convergence.
b) Fortschritt der Anpassung: Die Fehlerfunktion nimmt mit jeder Iteration ab, was auf eine Konvergenz hindeutet.

3. Daten hinzufügen und entfernen

Das Hauptfenster für die Anpassung bietet eine Symbolleiste mit Befehlen, mit denen gesteuert wird, wie Experimente hinzugefügt, verwaltet und angepasst werden. Mit diesen Schaltflächen können Sie Datensätze importieren oder entfernen, konfigurieren, welche Parameter variiert werden, und den Anpassungsprozess starten oder beenden. Die wichtigsten Optionen sind:

4. Die Symbolleiste „Minimieren“

Die Registerkarte „Minimierer“ ermöglicht die Steuerung des während der Anpassung verwendeten Optimierungsalgorithmus. Über diese Registerkarte können Sie auswählen, welcher Minimierer angewendet werden soll (z. B. der standardmäßige Nelder-Mead-Simplex-Algorithmus) und dessen Einstellungen konfigurieren. Die Registerkarte enthält auch Tools zum Verwalten von Anpassungsvariablen, zum Duplizieren von Parametern und zum Anwenden mathematischer Regeln, um die Anpassung einzuschränken. Durch die Anpassung dieser Optionen können Sie steuern, wie der Algorithmus den Parameterraum durchsucht, die Geschwindigkeit mit der Genauigkeit in Einklang bringen und sicherstellen, dass während des Anpassungsprozesses physikalisch sinnvolle Einschränkungen berücksichtigt werden.

OghmaNano fitting window showing the Minimizer tab with options for fitting variables, duplicate variables, fit rules, and minimizer selection (Nelder–Mead highlighted).
Auf der Registerkarte „Minimierer“ des Anpassungsfensters können Sie den Optimierungsalgorithmus auswählen (z. B. Nelder-Mead) und Regeln, die Duplizierung von Variablen sowie die Einstellungen des Minimierers konfigurieren.

5. Die Variablen anpassen.

OghmaNano Fit variables window showing a list of enabled and disabled parameters such as charge density, mobility, trap densities, and resistances, with controls for min, max, error function, and log scale.
Das Fenster „Anpassungsvariablen“. Über diese Oberfläche können Sie auswählen, welche Parameter während der Anpassung variiert werden sollen, und deren zulässige Wertebereiche, Fehlerstrafen und Skalierungen festlegen. Das Aktivieren oder Deaktivieren von Variablen hier steuert direkt, wie der Minimierungsalgorithmus den Parameterraum durchsucht.

Um das Fenster für die Anpassungsvariablen zu öffnen, gehen Sie im Anpassungsfenster (Abbildung ??) zum Reiter „Minimierer“ und klicken Sie auf „Anpassungsvariablen“. In diesem Bereich (Abbildung ??) können Sie auswählen, welche Parameter während der Anpassung variiert werden sollen, und deren Grenzen festlegen. Für eine schnelle und zuverlässige Anpassung sollten Sie zunächst mit einer kleinen Anzahl symmetrischer Parameter beginnen und erst nach einer zufriedenstellenden ersten Anpassung weitere Parameter hinzufügen (oder Asymmetrie einführen).

Die Tabelle mit den Anpassungsvariablen enthält sieben Spalten: Aktiviert, Variable, Minimum, Maximum, Fehlerfunktion, logarithmische Skala und Variable (JSON).

6. Variablen duplizieren

OghmaNano Duplicate variables window showing a table that maps source variables, such as electron mobility or trap densities, onto destination variables to enforce symmetry during fitting.
Das Fenster „Variablen duplizieren“. Dieses Tool kopiert Werte von einer Quellvariablen zu einer Zielvariablen und stellt sicher, dass die Parameter während der Anpassung symmetrisch bleiben (z. B. die Mobilitäten von Elektronen und Löchern).

Öffnen Sie das Fenster „Duplizierte Variablen“ über die Registerkarte „Minimierer“ (??). Dieses Tool spiegelt einen Quellparameter bei jeder Iteration auf einen Zielparameter. Im Beispiel mit dem symmetrischen Bauelement passen wir nur den Parameter der Elektronenseite an und verwenden „Duplizierte Variablen“, um dessen Wert auf den entsprechenden Lochparameter zu kopieren, sodass beide Parameter während der gesamten Anpassung gleich bleiben (siehe ??).

Die Spalte „Funktion y = f(x)“ definiert, wie der Quellwert x transformiert wird, bevor er in das Ziel y geschrieben wird. Die Standardeinstellung x führt eine direkte Kopie durch; auch andere Beispiele wie 2*x (Wert verdoppeln) oder x + 0.05 (einen Offset anwenden) sind möglich.

7. Eignungskriterien

Das Fenster „Anpassungsregeln“ (??), das über die Registerkarte „Minimierer“ aufgerufen wird, ermöglicht es Ihnen, mathematische Einschränkungen auf den Anpassungsprozess anzuwenden. Regeln fügen der Fehlerfunktion eine Strafe hinzu, wenn eine Bedingung nicht erfüllt ist. Sie können beispielsweise festlegen, dass ein Parameter immer größer sein muss als ein anderer, oder eine Strafe anwenden, wenn eine Variable außerhalb eines akzeptablen Bereichs liegt. Dies trägt dazu bei, dass die Anpassung physikalisch sinnvoll bleibt und verhindert, dass der Minimierer unrealistische Parameterkombinationen untersucht.


OghmaNano Fit rules window showing a table where constraints such as x > y can be defined between variables, with options to enable or disable each rule.
Das Fenster „Anpassungsregeln“ wird geöffnet. Hier können Benutzer Einschränkungen wie x > y definieren, um Beziehungen zwischen Parametern durchzusetzen. Wenn eine Regel verletzt wird, wird ein zusätzlicher Fehler zur Anpassung hinzugefügt, wodurch der Minimierungsalgorithmus wieder in einen gültigen Bereich des Parameterraums geleitet wird.

💡 Wichtige Tipps und Tricks für die Anpassung:

  1. Im Allgemeinen ist das Anpassen ein komplizierter Prozess, der viel Geduld und manuelle Feinabstimmung erfordert. Erwarten Sie nicht, dass Sie einfach auf einen Knopf klicken und alles funktioniert – Sie müssen sorgfältig arbeiten, um gute Ergebnisse zu erzielen.
  2. Wenn die Anpassung nicht funktioniert, könnte es ein Problem mit den physikalischen Annahmen geben, die Sie über Ihr Gerät getroffen haben. Das Modell passt nur zu physikalisch plausiblen Daten. Wenn also etwas um eine Größenordnung abweicht, sollten Sie überdenken, was Sie von dem Modell erwarten. Wenn Sie beispielsweise \(J_{sc}\) in einer Solarzelle nicht zum gewünschten Wert bringen können, könnte es sein, dass Ihr Material einfach nicht genügend Photonen absorbiert, um den gewünschten \(J_{sc}\)-Wert zu erreichen?
  3. Verschiedene Datensätze liefern unterschiedliche Arten von Informationen. Beispielsweise gibt die Strom-Spannungs-Kennlinie einer Solarzelle im Dunkeln Aufschluss über den Shunt-Widerstand, den Reihenwiderstand sowie bestimmte Aspekte der Ladungsträgermobilität und -rekombination. Die Strom-Spannungs-Kennlinie im Licht liefert hingegen kaum Informationen über den Shunt-Widerstand, daher sollte man nicht erwarten, dass sie genaue Schätzungen von \(R_{shunt}\) liefert. Überlegen Sie sich immer, welche Informationen Ihre Daten enthalten, bevor Sie die angepassten Parameter interpretieren.
  4. Der Anpassungsprozess funktioniert folgendermaßen: 1) Eine Simulation wird durchgeführt; 2) die Differenz zwischen den numerischen und den experimentellen Ergebnissen wird berechnet; 3) Parameter werden angepasst; 4) die Simulation wird erneut durchgeführt und geprüft, ob sich der Fehler verringert; 5) wenn sich der Fehler verringert, wird die Parameteränderung akzeptiert und der Prozess wird wiederholt. Dies kann hunderte oder tausende Iterationen erfordern. Daher müssen einzelne Simulationen schnell ablaufen. Wenn Ihr Netz beispielsweise 1000 Punkte enthält, versuchen Sie, es für die Anpassung auf 10 zu reduzieren; wenn Sie 1000 Zeitschritte haben, reduzieren Sie sie auf 100. Jede Beschleunigung der Basissimulation beschleunigt den Anpassungsprozess.
  5. Das Schreiben von Dateien auf die Festplatte ist der langsamste Teil jedes Berechnungsprozesses. Selbst moderne SSDs sind etwa 30-mal langsamer als der Hauptspeicher (z. B. 456 MB/s gegenüber 12.800 MB/s für PC3-12800). Die Verwendung von USB-Laufwerken, Netzwerkspeichern oder Cloud-Diensten wie OneDrive/Dropbox verschlimmert dies noch. Um die Geschwindigkeit zu optimieren, sollten Simulationen immer auf einer lokalen SSD gespeichert werden (nicht auf einem Netzwerk- oder mechanischen Laufwerk).
  6. Reduzieren Sie die Anzahl der Dateien, die Ihre Simulation erzeugt. Deaktivieren Sie unnötige Ausgaben wie Momentaufnahmen, optische Ausgaben oder dynamische Ordner. Eine gut konfigurierte Simulation sollte nur etwa 50 Dateien erzeugen. Wenn Sie Hunderte von Dateien sehen, sollten Sie untersuchen, warum.
  7. Obwohl die Anpassung über die grafische Benutzeroberfläche (GUI) erfolgen kann, ist dies oft zeitaufwendig. Eine gute Vorgehensweise ist es, die Anpassungseinstellungen in der GUI vorzunehmen, die Anpassung aber über die Kommandozeile auszuführen (die entsprechenden Anweisungen finden Sie weiter unten).
  8. Da der Anpassungsprozess viele Dateien auf der Festplatte speichert, kann Antivirensoftware die Ausführung verlangsamen, indem sie jede Datei scannt. Wenn dies zu einem Problem wird, sollten Sie in Erwägung ziehen, Ihren Simulationsordner von der Echtzeitüberwachung auszuschließen.

👉 Nächster Schritt: Gehen Sie nun zu Teil B, um fortgeschrittenere Anbringungsmethoden kennenzulernen.