Modellierung verteilter Fallenstellen in ungeordneten Halbleitern
Das Tutorial dient als allgemeine Einführung in die Modellierung von Fallen-Zuständen in ungeordneten Halbleitern. PM6:Y6 wird als Beispiel verwendet, da es sich um ein bekanntes organisches photovoltaisches Material handelt, aber die gleichen Modellierungsprinzipien lassen sich allgemeiner auf organische Halbleiter, amorphes Silizium, Oxidhalbleiter, Perowskite und andere Dünnschichtmaterialien anwenden, bei denen lokalisierte Zustände eine verteilte Zustandsdichte innerhalb der Bandlücke bilden.
1. Einleitung: Warum die Verteilung von Ladungsträgern in ungeordneten Halbleitern von Bedeutung ist.
Gitterdefektzustände spielen eine zentrale Rolle für das Verhalten vieler ungeordneter Halbleiter, darunter organische Halbleiter, amorphes Silizium, Oxidhalbleiter, Perowskite und andere dünnschichtige photovoltaische Materialien. Der Unterschied zwischen geordneten und ungeordneten Halbleitern ist in ?? dargestellt. In hochgeordneten Halbleitern, wie z. B. extrem hochreinem kristallinen Silizium, das oft als Material mit einer Reinheit von 99,9999 % oder 99,9999999 % beschrieben wird, gibt es relativ wenige Gitterdefektzustände innerhalb der Bandlücke. Diese isolierten Gitterdefektzustände sind in Bereich a in ?? dargestellt. In solchen Systemen kann die Rekombination über diese Defekte oft mithilfe der Standard-Shockley-Read-Hall-Rekombinationsgleichung beschrieben werden:
\[ R_{SRH}=\frac{np-n_i^2} {\tau_p(n+n_1)+\tau_n(p+p_1)} \]
Die schrittweise mathematische Ableitung finden Sie unter Ableitung der Shockley-Read-Hall-Rekombinationsgleichung.
Diese Gleichung geht davon aus, dass die Rekombination über einen einzelnen, diskreten Zwischenband-Fallenzustand erfolgt, was oft eine geeignete Näherung für relativ geordnete Halbleiter/Bauelemente wie Silizium-p-n-Dioden und Galliumarsenid-p-n-Dioden darstellt. Wenn jedoch der Grad der Unordnung zunimmt, wird es weniger sinnvoll, von Fallen als isolierten Defekten auszugehen, und es ist sinnvoller, sie als eine gesamte Verteilung von Zuständen innerhalb der Bandlücke zu beschreiben. Diese Verteilung von Zuständen wird üblicherweise als die Dichte der Fallen oder die Zustandsdichte (Density of States, DOS) bezeichnet. Die rechte Seite von ?? veranschaulicht diese Situation für einen ungeordneten Halbleiter, wie z. B. einen organischen Halbleiter oder amorphes Silizium. Der Bereich b stellt eine Verteilung von Fallen dar, die Elektronen enthalten und sich in der Nähe des Leitungsbandes befinden, der Bereich d stellt eine Verteilung von Fallen dar, die Löcher enthalten und sich in der Nähe des Valenzbandes befinden, und der Bereich c stellt eine Verteilung von tiefer liegenden Zwischenband-Fallen dar.
In geordneten Halbleitern ist die Standard-Shockley-Read-Hall-Gleichung (SRH) oft ausreichend, da die Anzahl der Defektzustände in der Regel gering ist und diese häufig als isolierte Defektniveaus angenähert werden können. In ungeordneten Halbleitern versagt diese Näherung: Das Material enthält eine breite Verteilung lokalisierter Zustände, die sich über die Bandlücke erstrecken, sodass die Annahme, dass es sich bei den Defekten um einzelne Punktdefekte handelt, nicht ausreicht. Eine SRH-Gleichung mit einer einzelnen Niveaustufe behandelt den Defekt als ein einzelnes, diskretes Energieniveau und kann daher nicht beschreiben, wie Ladungsträger eine breite Verteilung lokalisierter Zustände besetzen. In einem ungeordneten Halbleiter bestimmt diese Besetzung das Gleichgewicht zwischen mobilen und eingefangenen Ladungen und legt somit die Beziehung zwischen der Gesamtladungsträgerdichte und der Position des quasi-Fermi-Niveaus fest. Wenn diese Beziehung falsch ist, liefert das Modell auch eine falsche Rekombinationsrate, effektive Beweglichkeit und ein falsches J–V-Verhalten. Um ungeordnete Bauelemente korrekt zu modellieren, muss die Besetzung der Defektverteilung explizit mithilfe von Gleichungen für das Einfangen, das Freisetzen und die Rekombinationsrate gelöst werden, wobei diese Gleichungen selbstkonsistent mit den Drift-Diffusions- und Poisson-Gleichungen gekoppelt werden. Die resultierende Anzahl an eingefangenen Ladungsträgern ist keine geringfügige Korrektur: Sie kann die Ladungsspeicherung, den Transport, die Rekombination, die Beweglichkeit, den Dunkelstrom, die Leerlaufspannung und die Form der photovoltaiischen J–V-Kurve dominieren.
2. Shockley-Read-Hall-Mechanismus: Einfangen und Freisetzen von Ladungsträgern in ungeordneten Halbleitern
Viele Leser lernen die Shockley-Read-Hall-Rekombination (SRH) zunächst anhand der oben genannten, kompakten Gleichung für die stationäre Rekombination kennen. Diese kompakte Gleichung ist jedoch nur ein vereinfachtes Ergebnis, das aus dem umfassenderen SRH-Formalismus der Raten-Gleichung abgeleitet wurde; die mathematischen Schritte sind in Herleitung der Shockley-Read-Hall-Rekombination dargestellt. Im Kern beschreibt die SRH-Theorie das Füllen und Entleeren eines Fallen-Zustands durch Träger-Einfang- und -Ausgangsprozesse, wie in ?? dargestellt. Elektronen können in die Falle eingefangen und später durch thermische Anregung wieder in das Leitungsband emittiert werden, während auch Löcher eingefangen und emittiert werden können. Wenn sowohl ein Elektron als auch ein Loch denselben Fallen-Zustand besetzen, kommt es zur Rekombination.
Das zugrunde liegende SRH-Formalismus ist daher im Wesentlichen ein Modell, das auf der Beschreibung von Ladungsträgerfang-, -freisetzungs- und Rekombinationsprozessen basiert.
\[ \frac{dn_t}{dt}=r_{ec}-r_{ee}-r_{hc}+r_{he} \]
Hierbei bezeichnet \(r_{ec}\) die Elektroneneinfangrate in die Falle, \(r_{ee}\) die Elektronenausgangsrate zurück ins Leitungsband, \(r_{hc}\) die Loch-Einfangrate und \(r_{he}\) die Loch-Ausgangsrate. Eine der wichtigsten physikalischen Ideen, die der SRH-Theorie zugrunde liegen, ist, dass die Ausgangsraten (\(r_{ee}\) und \(r_{he}\)) stark von der energetischen Tiefe der Falle abhängen, während die Einfangraten (\(r_{ec}\) und \(r_{hc}\)) hauptsächlich davon abhängen, ob die Falle besetzt ist. Daher geben flache Fallen Ladungsträger relativ leicht ab, während tiefe Fallen Ladung über längere Zeiträume speichern können.
OghmaNano löst das vollständige SRH-Gitterformalismus-Problem, anstatt die vereinfachenden Annahmen zu verwenden, die üblicherweise zur Ableitung der kompakten, stationären SRH-Rekombinationsgleichung verwendet werden. In der Praxis bedeutet dies, dass für jedes Gitterzustandsniveau innerhalb der Zustandsdichte eine separate Gittergleichung gelöst wird. Dadurch kann der Simulator die Gitterladung, die Gitterfüllung, die durch das Gitter unterstützte Rekombination, die elektrostatische Bandbiegung und die verteilten Gitterpopulationen in stark ungeordneten Halbleitern wie organischen Halbleitern und amorphem Silizium modellieren.
In diesem Tutorial werden wir untersuchen, wie verteilte Fallenstellen in OghmaNano implementiert und behandelt werden, und wie das Einfangen, Freisetzen und die gebundene Ladung das Verhalten von ungeordneten Halbleiterbauelementen beeinflussen.
3. Beispiel: Erstellung einer Simulation für ein ungeordnetes Halbleitermaterial der Art PM6:Y6.
Starten Sie OghmaNano und klicken Sie auf „Neue Simulation“. Dadurch wird die Bibliothek der verfügbaren Gerätetypen geöffnet, wie in ?? dargestellt. Doppelklicken Sie auf das Symbol „Organische Solarzellen“, um die Beispielbibliothek für OPV zu öffnen. Wählen Sie aus der Liste der verfügbaren PM6:Y6-Beispiele PM6:Y6_E10_0hrs aus, wie in ?? dargestellt. Für dieses Tutorial könnte auch eine generische Drift-Diffusions-Simulation verwendet werden; dieses PM6:Y6-Beispiel ist jedoch bereits mit einer Verteilung der Fallenenergieniveaus und einer Bandstruktur konfiguriert, die den hier gezeigten Ergebnissen entsprechen. Wenn Sie dazu aufgefordert werden, speichern Sie die Simulation in einem Ordner, für den Sie Schreibrechte haben.
💡 Tipp: Für eine optimale Leistung empfiehlt es sich, die Daten auf einem lokalen Laufwerk, z. B. C:\, zu speichern. Simulationen, die auf Netzwerk-, USB- oder Cloud-Ordnern (z. B. OneDrive) gespeichert sind, können langsamer ausgeführt werden, da viele Daten gelesen und geschrieben werden müssen.
Nachdem die Simulation erstellt wurde, öffnet sich das Hauptfenster von OghmaNano, wie in ?? dargestellt. Das PM6:Y6-Bauelement wird als geschichtete Solarzellenanordnung dargestellt. Die aktive Schicht ist die ungeordnete Halbleiterregion, in der die verteilten Fallenstellen modifiziert werden.
4. Die Simulation wird so eingestellt, dass sie im Dunkeln ausgeführt wird.
Bevor wir die Simulation starten, müssen wir das Gerät zunächst so konfigurieren, dass es im Dunkeln betrieben wird. Öffnen Sie das in ?? gezeigte optische Band und stellen Sie die Lichtintensität auf 0,0 Sonnen ein. Dadurch wird sichergestellt, dass die generierten Strom-Spannungs-Kennlinien (JV-Kurven) den Strom-Spannungs-Messungen im Dunkeln entsprechen und nicht dem Betrieb eines beleuchteten photovoltaischen Systems. Dunkelsimulationen sind oft besonders nützlich bei der Untersuchung von Fallenstellen, da sie die Trägerinjektion, die Füllung der Fallen, die Rekombination und elektrostatische Effekte viel deutlicher darstellen als beleuchtete Simulationen, bei denen der Photostrom viele dieser Prozesse verdecken kann.
5. Bestimmung der Zustandsdichte der Fallen
Öffnen Sie im Hauptfenster den Editor für die elektrischen Parameter der aktiven Schicht PM6:Y6 über die Registerkarte „Gerätestruktur“. Dadurch wird der in ?? gezeigte Editor geöffnet. Wenn die Option „Dynamische SRH-Fallen“ aktiviert ist, berechnet OghmaNano eine Verteilung von Fallenenergieniveaus, die der in ?? dargestellten Verteilung ähnelt.
Standardmäßig wird davon ausgegangen, dass die Verteilung der Fallen einer exponentiellen Zustandsdichte folgt. Für den Bereich der LUMO-Niveaus wird die Zustandsdichte wie folgt dargestellt:
\[ \rho_\mathrm{LUMO}(E)=N_{t,n}\exp\left(\frac{E-E_C}{E_{U,n}}\right), \]
während für den „HOMO“-seitigen Teil der Sequenz Folgendes angegeben wird:
\[ \rho_\mathrm{HOMO}(E)=N_{t,p}\exp\left(\frac{E_V-E}{E_{U,p}}\right). \]
Hierbei sind \(N_{t,n}\) und \(N_{t,p}\) die Präfaktoren für die Elektron- bzw. Loch-Fallen-Dichte, während \(E_{U,n}\) und \(E_{U,p}\) die entsprechenden Urbach-Endenergien darstellen. Innerhalb der in ?? gezeigten Benutzeroberfläche entsprechen diese jeweils den Parametern „Elektron-Fallen-Dichte“, „Loch-Fallen-Dichte“, „Elektron-Endneigung“ und „Loch-Endneigung“ im Abschnitt „Nicht-Gleichgewicht-SRH-Fallen“ des Editors für elektrische Parameter.
Der Editor enthält auch die Querschnittsflächen für die Erfassung, die die Raten der zuvor besprochenen SRH-Einfangprozesse steuern. Die Parameter „Freies Elektron zu eingefangenem Elektron“ und „Freies Loch zu eingefangenem Elektron“ bestimmen die Elektron- und Loch-Einfangprozesse (\(r_{ec}\) und \(r_{hc}\)), während „Freies Elektron zu eingefangenem Loch“ und „Freies Loch zu eingefangenem Loch“ die entsprechenden Entfangprozesse steuern (\(r_{ee}\) und \(r_{he}\)). Zusammen bestimmen diese Parameter, wie schnell Ladungsträger in die Falle eingefangen und aus ihr wieder freigesetzt werden.
Abschließend ist zu sagen, dass der Parameter „Anzahl der Fallen“ die Anzahl der diskretisierten Fallenstufen steuert, die zur Approximation der analytischen Zustandsdichte verwendet werden. Diese entsprechen den horizontalen roten und blauen Fallenstufen, die in ?? dargestellt sind. Die analytische Zustandsdichte selbst wird weiterhin durch die Funktionen \(\rho_\mathrm{LUMO}(E)\) und \(\rho_\mathrm{HOMO}(E)\) definiert, während die Anzahl der Fallen bestimmt, wie fein die Verteilung numerisch diskretisiert wird.
Wenn die Simulation mit dieser Konfiguration ausgeführt wird, geht OghmaNano von einer exponentiellen Zustandsdichte aus, die den oben genannten Gleichungen entspricht. OghmaNano ermöglicht jedoch auch eine viel größere Kontrolle über die genaue Verteilung der Fallenenergieniveaus. Wenn der Schalter „Exponential“ aktiviert wird, wechselt der Modus zu „Komplex“, wie in ?? dargestellt. Dadurch können beliebige mathematische Formen der Zustandsdichte definiert werden. Der Editor für die komplexe Zustandsdichte kann dann durch Klicken auf die Schaltfläche „Bearbeiten“ geöffnet werden, die sich auf der rechten Seite des Editors befindet.
6. Definieren Sie eine flache exponentielle Verteilungsfunktion für Fallen.
Klicken Sie auf „Bearbeiten“, um den komplexen Editor für die Zustandsdichte zu öffnen. Der Editor wird in ?? angezeigt. Die obere Tabelle definiert die Verteilung der Fallen auf der LUMO-Seite, und die untere Tabelle definiert die Verteilung der Fallen auf der HOMO-Seite. Jede Zeile enthält eine mathematische Funktion, einen Aktivierungsschalter und drei numerische Parameter, die mit a, b und c gekennzeichnet sind. Das Diagramm auf der linken Seite des Editors zeigt die resultierende Zustandsdichte, die aus den in den Tabellen eingegebenen mathematischen Funktionen generiert wird. Die blaue analytische Kurve stellt die Verteilung der Fallen auf der LUMO-Seite oder im Leitungsband (\(E_C\)) dar, während die rote analytische Kurve die Verteilung der Fallen auf der HOMO-Seite oder im Valenzband (\(E_V\)) darstellt. Diese glatten Kurven entsprechen der exakten analytischen Zustandsdichte, die durch die in den Editor eingegebenen Gleichungen definiert wird.
Die cyanfarbenen und grünen Treppenstufen stellen die diskretisierten Fallenenergieniveaus dar, die tatsächlich intern vom Simulator verwendet werden. Diese Treppenstufen entsprechen direkt dem zuvor im Editor für elektrische Parameter definierten Parameter „Anzahl der Fallen“. Eine Erhöhung der Anzahl der Fallenenergieniveaus führt zu einer genaueren Annäherung an die analytische Zustandsdichte und verbessert somit die numerische Genauigkeit der Simulation. In der Praxis liefern Simulationen mit etwa fünf Fallenenergieniveaus in der Regel sehr gute Ergebnisse für viele stationäre Bauelementesimulationen. Simulationen, die lange transiente Zeiträume umfassen, wie z. B. Flugzeitsimulationen, können jedoch eine größere Anzahl von Fallenenergieniveaus erfordern, manchmal bis zu etwa zwanzig. Da die Fallenenergieniveaus an jedem Gitterpunkt innerhalb des Bauelements berechnet werden, erhöht eine Erhöhung der Anzahl der Fallenenergieniveaus auch die gesamte mathematische Größe der Simulation sehr schnell. In der Praxis sind daher Werte, die deutlich größer als zwanzig sind, selten erforderlich.
| Symbol | Bedeutung im DOS-Ausdruck |
|---|---|
| E | Energiekoordinate, an der die Zustandsdichte berechnet wird. |
| EG | Leitungsbandkante / LUMO-Transportniveau |
| Elektrofahrzeug | Rand des Valenzbandes / HOMO-Transportniveau |
| ein | Eine vom Benutzer definierte Konstante. |
| b | Eine vom Benutzer definierte Konstante. |
| c | Eine vom Benutzer definierte Konstante. |
Im Prinzip kann jede beliebige Gleichung mithilfe der in der obigen Tabelle aufgeführten Parameter in den Gleichungseditor eingegeben werden, und dies kann verwendet werden, um die Zustandsdichte zu berechnen.
7. Einfluss der Breite der „Trap-Tail“-Struktur auf die Strom-Spannungs-Kennlinien im Dunkeln und die Ladungsdichte.
Wir werden nun zwei Simulationen durchführen und die Auswirkungen einer Änderung der energetischen Breite der Fallenverteilung vergleichen. Stellen Sie im komplexen Editor für die Zustandsdichte sicher, dass der Parameter b sowohl für die LUMO- als auch für die HOMO-Verteilung auf 0,025 eV eingestellt ist, wie in ?? dargestellt. Dies definiert den Fall eines flachen Randbereichs, bei dem die Dichte der Fallen-Zustände relativ schnell von den Bandrändern abnimmt und daher nur eine begrenzte Anzahl tiefer Fallen-Zustände innerhalb der Bandlücke vorhanden ist.
Die Simulation wird ausgeführt und gleichzeitig eine Sicherungskopie erstellt, die später verwendet werden kann:
Kehren Sie zum Hauptfenster zurück und starten Sie die Simulation, indem Sie auf das blaue Symbol klicken. Simulation starten mit einem Knopf oder durch Drücken F9Wenn die Berechnung abgeschlossen ist, öffnen Sie das Simulationsverzeichnis mit dem Windows Explorer. Die Datei jv.csv enthält die dunkle Spannungs-Strom-Kennlinie, während charge.csv enthält die gesamte im Gerät gespeicherte Ladung in Abhängigkeit von der Spannung.
Erstellen Sie mit dem Windows Explorer Sicherheitskopien dieser Dateien und benennen Sie die kopierten Dateien in um. jv.bak und charge.bakDiese Sicherungsdateien speichern die Ergebnisse der Simulation mit dem „Shallow-Tail“-Modell, damit sie später mit der umfassenderen Verteilung der Fallen verglichen werden können.
Öffnen Sie als Nächstes den erweiterten DOS-Editor erneut und erhöhen Sie den Parameter b auf 0,100 eV sowohl für die LUMO- als auch für die HOMO-Verteilungen, wie in ?? dargestellt. Dadurch wird die Verteilung der Fallen erweitert, sodass sich die Fallen in einen größeren Bereich der Bandlücke ausdehnen. Führen Sie die Simulation erneut aus. Nach der zweiten Ausführung sollte das Simulationsverzeichnis nun sowohl die ursprünglichen Sicherungsdateien (jv.bak und charge.bak) als auch die neu erstellten Ausgabedateien (jv.csv und charge.csv) enthalten.
☑ Nachdem dieser Schritt abgeschlossen ist, sollte das Simulationsverzeichnis vier Dateien enthalten:
jv.csv– die entsprechenden Daten der JV-Messung für die Simulation mit breiter Schwanzverteilung.jv.bak– die entsprechenden Daten der JV-Messung für die Simulation mit geringer Auslenkung.charge.csv– die Daten zur Ladungsdichte für die Simulation mit breitem Schwanz.charge.bak– die Daten zur Ladungsdichte für die Simulation des flachen Endbereichs.
Nachdem Sie beide Simulationen durchgeführt haben, können Sie Microsoft Excel oder die unten aufgeführten MATLAB- und Python-Skripte verwenden, um die in ?? und ?? gezeigten Diagramme zu erstellen. In diesen Vergleichen beziehen sich die Dateien .bak auf die Simulation mit dem flachen Endbereich, während die neuen Dateien .csv sich auf die Simulation mit dem breiteren Endbereich beziehen.
Eine Erhöhung der Urbach-Energie führt zu einer Verbreiterung der Dichte der Fallezustände, wodurch sich eine deutlich größere Anzahl von Fallen tief in die Bandlücke hinein erstreckt. Dies verändert direkt sowohl den Rekombinationsstrom als auch die Menge der in dem Bauelement gespeicherten eingefangenen Ladung. In der im Diagramm ?? dargestellten Strom-Spannungs-Vergleichskurve im Dunkeln führt die breitere Verteilung der Fallen zu einem höheren Strom im mittleren Spannungsbereich, da Ladungsträger auf eine deutlich größere Anzahl von energetisch verteilten Fallezuständen zugreifen können, die an der durch Fallen unterstützten Rekombination und dem Transport beteiligt sind.
Der Effekt ist auch deutlich in der in ?? gezeigten Vergleichsdarstellung der Ladungsdichte zu erkennen. Die breitere Verteilung der Ladungsträger ermöglicht eine größere Ladungsspeicherung im gesamten Bauelement, da nun viel mehr energetisch zugängliche Zustände für die Besetzung durch Ladungsträger vorhanden sind. Diese gespeicherte Ladung wirkt als Raumladung innerhalb des Bauelements und verändert daher das elektrostatische Potenzial und die Bandbiegung.
Physikalisch gesehen ist dies der entscheidende Unterschied zwischen der Modellierung eines einzelnen SRH-Rekombinationszentrums und der Modellierung einer vollständigen, verteilten Dichte von Fallezuständen. In einem ungeordneten Halbleiter sind die Fallen keine isolierten Defekte. Sie bilden eine gesamte energetische Landschaft, die gleichzeitig die Anreicherung, Freisetzung, Rekombination, Ladungsspeicherung und den Transport von Ladungsträgern steuert. Aus diesem Grund müssen Fallezustände in die Modelle für ungeordnete Halbleiterbauelemente einbezogen werden.
MATLAB-/Octave-Version
clear;
close all;
clc;
% ============================================
% Settings
% ============================================
log_jv = true;
Zeigen Sie das vollständige MATLAB-Skript an.
clear;
close all;
clc;
% ============================================
% Settings
% ============================================
log_jv = true; % true = semilogy
% false = linear plot
% ============================================
% Load data
% ============================================
jv = load('jv.csv');
jv_bak = load('jv.bak');
charge = load('charge.csv');
charge_bak = load('charge.bak');
% ============================================
% Figure 1 : JV
% ============================================
figure;
if log_jv == true
semilogy(jv(:,1), abs(jv(:,2)), ...
'LineWidth', 2);
hold on;
semilogy(jv_bak(:,1), abs(jv_bak(:,2)), '--', ...
'LineWidth', 2);
else
plot(jv(:,1), jv(:,2), ...
'LineWidth', 2);
hold on;
plot(jv_bak(:,1), jv_bak(:,2), '--', ...
'LineWidth', 2);
end
grid on;
box on;
xlabel('Voltage (V)');
ylabel('Current density (A m^{-2})');
title('JV comparison');
legend( ...
'JV', ...
'JV backup', ...
'Location', 'northwest' ...
);
% ============================================
% Figure 2 : Charge density
% ============================================
figure;
semilogy(charge(:,1), abs(charge(:,2)), ...
'LineWidth', 2);
hold on;
semilogy(charge_bak(:,1), abs(charge_bak(:,2)), '--', ...
'LineWidth', 2);
grid on;
box on;
xlabel('Voltage (V)');
ylabel('Charge density (m^{-3})');
title('Charge density comparison');
legend( ...
'Charge', ...
'Charge backup', ...
'Location', 'northwest' ...
);
Python-Version
import numpy as np
import matplotlib.pyplot as plt
# ============================================
# Settings
# ============================================
log_jv = True
Zeigen Sie das vollständige Python-Skript an.
import numpy as np
import matplotlib.pyplot as plt
# ============================================
# Settings
# ============================================
log_jv = True # True = semilogy
# False = linear plot
# ============================================
# Load data
# ============================================
jv = np.loadtxt("jv.csv")
jv_bak = np.loadtxt("jv.bak")
charge = np.loadtxt("charge.csv")
charge_bak = np.loadtxt("charge.bak")
# ============================================
# Figure 1 : JV
# ============================================
plt.figure()
if log_jv:
plt.semilogy(jv[:, 0], np.abs(jv[:, 1]), linewidth=2)
plt.semilogy(jv_bak[:, 0], np.abs(jv_bak[:, 1]), "--", linewidth=2)
else:
plt.plot(jv[:, 0], jv[:, 1], linewidth=2)
plt.plot(jv_bak[:, 0], jv_bak[:, 1], "--", linewidth=2)
plt.grid(True)
plt.xlabel("Voltage (V)")
plt.ylabel("Current density (A m$^{-2}$)")
plt.title("JV comparison")
plt.legend(["JV", "JV backup"], loc="upper left")
# ============================================
# Figure 2 : Charge density
# ============================================
plt.figure()
plt.semilogy(charge[:, 0], np.abs(charge[:, 1]), linewidth=2)
plt.semilogy(charge_bak[:, 0], np.abs(charge_bak[:, 1]), "--", linewidth=2)
plt.grid(True)
plt.xlabel("Voltage (V)")
plt.ylabel("Charge density (m$^{-3}$)")
plt.title("Charge density comparison")
plt.legend(["Charge", "Charge backup"], loc="upper left")
plt.show()
8. Einfluss der Breite des „Trap-Tail“-Bereichs bei Beleuchtung mit einem Sonnenlichtäquivalent
Im vorherigen Abschnitt wurden die flachen und breiten Verteilungen der „Trap-Tail“-Parameter in der Dunkelheit verglichen. Wir werden diesen Vergleich nun unter Verwendung einer einzigen Lichtquelle wiederholen. Gehen Sie zum optischen Band und stellen Sie die Lichtintensität wieder auf 1,0 ein. Kehren Sie dann zum komplexen DOS-Editor zurück und setzen Sie den Urbach-Parameter für sowohl die LUMO- als auch die HOMO-Verteilungen auf b = 0,025 eV. Führen Sie die Simulation aus und erstellen Sie anschließend mit dem Windows Explorer Sicherungskopien von jv.csv und charge.csv, indem Sie diese in jv.bak und charge.bak umbenennen.
Als Nächstes kehren Sie zum komplexen DOS-Editor zurück und erweitern beide „Trap Tails“, indem Sie b auf 0,100 eV einstellen. Führen Sie die Simulation erneut aus. Das Simulationsverzeichnis sollte nun die Dateien jv.csv, jv.bak, charge.csv und charge.bak enthalten. In diesem Fall enthalten die Dateien .bak die Simulation mit dem flachen „Tail“ unter Verwendung einer einzigen Lichtquelle, während die neuen Dateien .csv die Simulation mit dem breiten „Tail“ unter Verwendung einer einzigen Lichtquelle enthalten.
☑ Nachdem dieser Schritt abgeschlossen ist, sollte das Simulationsverzeichnis vier Dateien enthalten: jv.csv, jv.bak, charge.csv und charge.bak. Die Dateien .bak enthalten die Simulation mit der schwach ausgeprägten Endleuchte, während die Dateien .csv die Simulation mit der breit ausgeprägten Endleuchte enthalten.
Die oben verwendeten MATLAB- oder Python-Skripte zur Erstellung von Diagrammen können nun unverändert wiederverwendet werden. Sie erstellen ein Diagramm, in dem jv.csv gegen jv.bak und charge.csv gegen charge.bak aufgetragen werden. Das resultierende, beleuchtete Vergleichsdiagramm der Strom-Spannungs-Kennlinien ist in ?? dargestellt, und das beleuchtete Vergleichsdiagramm der Ladungsdichte ist in ?? dargestellt.
Unter Lichteinwirkung verändert sich die Verteilung der Defektstellen direkt und beeinflusst das Gleichgewicht zwischen der Erzeugung von Ladungsträgern durch Licht, deren Extraktion und Rekombination. Eine breitere Verteilung der Defektstellen führt dazu, dass sich mehr Defektzustände tiefer innerhalb der Bandlücke befinden, was die Menge der eingefangenen Ladung erhöht und das interne elektrostatische Profil des Bauelements verändert. Dies modifiziert die unter Lichteinwirkung gemessene Strom-Spannungs-Kennlinie, da der Rekombinationsstrom und die Aufspaltung des Quasi-Fermi-Niveaus durch die Konzentration der eingefangenen Ladung verändert werden.
Die Darstellung der Ladungsdichte zeigt die gleichen physikalischen Zusammenhänge, jedoch aus einer anderen Perspektive. Die Simulation mit breiter Verteilung speichert die Ladung anders, da die Ladungsträger nun über einen größeren Bereich von Fallenenergien verteilt sind. Aus diesem Grund sind die Verteilungen der Fallen in photovoltaischen Simulationen von Bedeutung: Sie bestimmen nicht nur, wie viel Ladung gespeichert wird, sondern auch, wo diese Ladung energetisch lokalisiert ist und wie stark sie den Ladungstransport, die Rekombination und die Spannungsbildung beeinflusst.
9. Visuelle Darstellung der Auslastung von Fallen in Bezug auf Energie und Position.
trap_map in den Ausgabeverzeichnis geschrieben.
Da festgestellt wurde, dass sich die Verteilung der Fallenstellen auf die Strom-Spannungs- und Ladungsdichte-Kurven auswirkt, besteht der nächste Schritt darin, die Belegung der Fallenstellen direkt zu untersuchen. Öffnen Sie das Verzeichnis mit den Simulationsergebnissen und suchen Sie nach dem Verzeichnis trap_map. Wenn dieses Verzeichnis nicht angezeigt wird, öffnen Sie die Registerkarte „Elektrisch“ und klicken Sie auf den JV-Editor. Dadurch wird das in ?? gezeigte Fenster für das JV-Experiment geöffnet.
Im Abschnitt „Ausgabe“ des JV-Editors stellen Sie die Ausführlichkeit der Ausgabe auf „Auf Festplatte schreiben“ ein, damit alles auf die Festplatte geschrieben wird. Stellen Sie dann die Option „Verteilung der Fallen anzeigen“ auf „Energieraumkarte“ ein. Führen Sie die Simulation erneut aus. In dem Ausgabeverzeichnis sollte nun ein Ordner mit dem Namen trap_map angezeigt werden. Wenn Sie die Dateien in diesem Ordner öffnen, erhalten Sie eine Energieraumkarte der belegten Fallendichte, wie in ?? dargestellt.
Diese Karte zeigt die Belegung der verteilten Fallenenergieniveaus in Abhängigkeit von der Position und der Energie. An jedem Spannungspunkt während der JV-Messung speichert OghmaNano die Belegung der Fallenenergieniveaus auf der Festplatte. Durch das Verschieben des Spannungsschiebereglers können Sie beobachten, wie sich die Belegung der Fallenenergieniveaus verändert, während das Gerät von einer niedrigen Spannung in Richtung einer Durchlassvorspannung übergeht.
10. Erhöhen Sie die Auflösung der Fallenkarte.
Die erste Trap-Karte ist nützlich für Simulationen, aber die Auflösung ist bewusst gering, da das Standardmodell nur fünf Trap-Bänder und eine begrenzte Anzahl von Netzpunkten verwendet. Für eine klarere Visualisierung kehren Sie zum Editor für elektrische Parameter zurück und erhöhen die Anzahl der Traps von 5 auf 10 oder 20. Öffnen Sie dann den Netzeditor über die Symbolleiste für elektrische Parameter und erhöhen Sie die Anzahl der Netzpunkte in der Richtung der aktiven Schicht auf etwa 100, wie in ?? dargestellt.
Führen Sie die Simulation erneut mit dem höher aufgelösten Netz und der diskretisierten Fallenstruktur durch. Die resultierenden Fallenverteilungskarten sollten ??, ?? und ?? ähneln. Diese Diagramme zeigen, wie sich die belegte Fallendichte in Abhängigkeit von der angelegten Spannung verändert.
Die Darstellung der Fallenverteilung macht die verteilte Natur des Modells deutlich. Die Ladung wird nicht auf eine einzelne Defektstufe konzentriert, sondern die Besetzungsdichte wird über einen begrenzten Energiebereich verteilt und variiert mit der Position innerhalb des Bauelements. Dies ist einer der Hauptgründe, warum verteilte Fallenmodell-Ansätze für ungeordnete Halbleiter nützlich sind: Sie ermöglichen die gemeinsame Analyse von energetischer Unordnung, Fallenbesetzung und räumlicher Elektrostatik.
11. Ausgabe der Informationen zur Belegung einer Falle an einem einzelnen Messpunkt.
Die vollständige Karte der Energie-Raum-Falle ist nützlich, um sich ein Bild vom gesamten Gerät zu machen, aber manchmal ist es einfacher, die zugrunde liegende Physik zu verstehen, indem man die Belegung der Falle an einer ausgewählten räumlichen Position betrachtet. Dazu öffnen Sie den JV-Editor erneut und ändern die Einstellung „Fallenbelegungsverteilung ausgeben“ von „Energieraumkarte“ auf „Einzelner Netzpunkt“, wie in ?? dargestellt. Stellen Sie die y-Position auf 50 ein. OghmaNano gibt dann das Belegungsspektrum der Falle am 50. Netzpunkt innerhalb des Geräts aus.
Führen Sie die Simulation erneut aus. Im Ausgabeverzeichnis trap_map wird OghmaNano nun Dateien wie energy_slice_nt.csv für Elektronenfalle und energy_slice_pt.csv für Lochfalle erstellen. Diese Dateien enthalten die Belegungsdichte der Fallen als Funktion der Energie an der ausgewählten räumlichen Position. Indem Sie den Spannungsschieberegler bewegen, können Sie beobachten, wie sich die energetische Verteilung der eingeschlossenen Ladung während des JV-Scans verändert.
Die in ??, ?? und ?? dargestellten Spektren der Elektronenfallenbesetzung zeigen, wie sich die Besetzung der Fallen verändert, wenn die angelegte Spannung erhöht wird. Bei niedriger Spannung ist nur ein relativ kleiner Teil der Fallenverteilung besetzt. Wenn die Spannung steigt, erhöht sich die Trägerdichte und es wird allmählich ein größerer energetischer Bereich der Zustandsdichte gefüllt. Das Maximum der Besetzung verschiebt sich ebenfalls energetisch, da sich das lokale Quasi-Fermi-Niveau durch die Fallenverteilung bewegt, während sich innerhalb des Bauelements Ladung ansammelt.
Die entsprechenden Loch-Fallen-Spektren, die in ??, ?? und ?? dargestellt sind, zeigen denselben physikalischen Prozess, und zwar von der HOMO-Seite der Zustandsdichte aus. Wenn das Bauelement weiter betrieben wird und die Trägerdichte zunimmt, wächst die Dichte der besetzten Fallen und verschiebt sich auf die gleiche Weise wie bei den Elektronenfällen durch die Fallenverteilung auf der HOMO-Seite.
Diese eindimensionalen Energieprofile sind besonders nützlich, da sie den energetischen Teil des Problems vom räumlichen Teil trennen. Die vollständige Karte der Ladungsträgerfallen zeigt, wo innerhalb des Bauelements Ladung gespeichert wird, während die Spektren, die auf einem einzelnen Gitterpunkt basieren, genau zeigen, wie diese Ladung energetisch verteilt ist. Zusammen ermöglichen diese Ergebnisse eine direkte Visualisierung der Füllung der Ladungsträgerfallen, der Bewegung des quasi-Fermi-Niveaus und der Ladungsspeicherung in einem ungeordneten Halbleiterbauelement.
12. Einführung einer tief liegenden, für die Gaußsche Rekombination aktiven Falle.
Der komplexe Editor für die Zustandsdichte ermöglicht es, verschiedene analytische Funktionen zu einer einzigen Verteilung von Fallen zu kombinieren. Das bedeutet, dass die Zustandsdichte nicht nur aus einem reinen exponentiellen Abfall oder einer reinen Gauß-Verteilung bestehen muss. Stattdessen können mehrere Funktionen übereinandergelegt werden, um realistischere Modelle für ungeordnete Zustandsdichten zu erstellen, die sowohl flache Randzustände als auch tiefere, lokalisierte Fallen enthalten.
Um eine weitere Komponente zur Zustandsdichte auf der LUMO-Seite hinzuzufügen, klicken Sie auf die Schaltfläche „+“ im LUMO-Bereich des Editors für komplexe Zustandsdichten. Sie können den analytischen Ausdruck direkt in das Funktionsfeld eingeben oder auf die Schaltfläche mit den drei Punkten klicken, um den in ?? gezeigten Gleichungsauswahldialog zu öffnen. Der Gleichungsauswahldialog enthält mehrere vordefinierte Zustandsdichtefunktionen, darunter Exponential-, Gauß-, Lorentz- und Potenzfunktionen.
In diesem Beispiel enthält die Zustandsdichte auf der LUMO-Seite zwei aktivierte Funktionen. Die erste ist der ursprüngliche exponentielle Abfall, während die zweite eine Gaußsche tiefe Falle ist:
\[ \rho_\mathrm{G}(E)= a\exp\left[ -\left( \frac{c+E-E_C} {\sqrt{2}\,b} \right)^2 \right]. \]
Der Parameter a steuert die Dichteskala, b steuert die energetische Breite der Gaußverteilung, und c verschiebt die Falle vom Bandrand weg. In diesem Beispiel ist c = 0,7 eV, wodurch die Gauß-Falle relativ zum LUMO-Transportniveau tief innerhalb der Bandlücke positioniert wird. Die Dichte der Zustände auf der HOMO-Seite bleibt als einfache exponentielle Abnahme erhalten.
Physisch gesehen stellt dieses Modell einen Halbleiter dar, der sowohl eine flache, energetische Störung als auch eine tiefere Defektbandstruktur aufweist. Der flache, exponentielle Abfall beeinflusst hauptsächlich den Transport und die Anregung von Ladungsträgern in der Nähe des Transportniveaus, während der tiefe, Gauß-förmige Zustand als starkes Rekombinations- und Ladungsspeicherzentrum wirkt. Da jede Funktion über einen eigenen Aktivierungsschalter verfügt, kann die Wirkung der tiefen Falle isoliert werden, ohne das restliche Gerätemodell zu verändern.
Um die Auswirkungen der tiefen Falle auf die Rekombination zu untersuchen, führen Sie eine Suns Voc Simulation. Öffnen Sie Simulationsart Band auswählen Suns Vocwie in folgendem Beispiel dargestellt ??Führen Sie dann die Simulation über das Hauptfenster aus, indem Sie auf den blauen Startknopf klicken oder die Taste drücken. F9.
Sobald die Simulation abgeschlossen ist, enthält die Datei suns_voc.csv die Leerlaufspannung in Abhängigkeit von der Intensität der Beleuchtung. Erstellen Sie mit dem Windows Explorer eine Sicherheitskopie dieser Datei und benennen Sie sie in suns_voc.bak um. Kehren Sie dann zum komplexen DOS-Editor zurück und deaktivieren Sie die Gaußsche Tiefenfalle, während Sie den exponentiellen Abfall aktiviert lassen. Führen Sie die Suns–Voc-Simulation erneut aus.
Die neue Datei suns_voc.csv entspricht nun dem Gerät ohne die tiefe Gaußsche Falle, während suns_voc.bak die Simulation mit der integrierten tiefen Falle enthält. Durch die gemeinsame Darstellung dieser beiden Dateien erhält man den in ?? gezeigten Vergleich.
Die tiefe Gaußsche Falle reduziert die Leerlaufspannung, da sie einen zusätzlichen Rekombinationsweg tief im Bandabstand erzeugt. Dadurch wird die unter Lichteinwirkung entstehende Aufspaltung des Quasi-Fermi-Niveaus verringert, was wiederum die erreichbare Leerlaufspannung (VOC) reduziert. Dieser Effekt ist besonders ausgeprägt bei geringeren Lichtintensitäten, bei denen die durch die Falle unterstützte Rekombination die Dynamik der Ladungsträger bestimmt.
Daher sind Suns-Voc-Messungen äußerst nützlich, um zwischen flachen, energetisch aktiven Defektzuständen und tiefer liegenden, rekombinationsaktiven Defektzuständen zu unterscheiden. Da die Messung des Bauelements unter Leerlaufbedingungen durchgeführt wird, isoliert das Experiment die interne Rekombinationsphysik, ohne dass zusätzliche Komplikationen durch den Ladungsträger-Extraktionsstrom entstehen.
Wenn Sie das in ?? dargestellte Diagramm zum Vergleich von Suns und Voc erstellen möchten, können Sie entweder die untenstehenden MATLAB/Octave- oder Python-Skripte verwenden. Diese Skripte vergleichen suns_voc.csv mit suns_voc.bak und stellen die Leerlaufspannung in Abhängigkeit von der Lichtintensität grafisch dar.
MATLAB-/Octave-Version
clear;
close all;
clc;
% Load data
voc = load('suns_voc.csv');
voc_bak = load('suns_voc.bak');
Zeigen Sie das vollständige MATLAB-Skript an.
clear;
close all;
clc;
% Load data
voc = load('suns_voc.csv');
voc_bak = load('suns_voc.bak');
% ============================================
% Figure : Suns-Voc
% ============================================
figure;
loglog(voc(:,1), abs(voc(:,2)), ...
'LineWidth', 2);
hold on;
loglog(voc_bak(:,1), abs(voc_bak(:,2)), '--', ...
'LineWidth', 2);
grid on;
box on;
xlabel('Light intensity (suns)');
ylabel('Open-circuit voltage (V)');
title('Suns-Voc comparison');
legend( ...
'suns\_voc.csv', ...
'suns\_voc.bak', ...
'Location', 'northwest' ...
);
Python-Version
import numpy as np
import matplotlib.pyplot as plt
# Load data
voc = np.loadtxt("suns_voc.csv")
voc_bak = np.loadtxt("suns_voc.bak")
Zeigen Sie das vollständige Python-Skript an.
import numpy as np
import matplotlib.pyplot as plt
# Load data
voc = np.loadtxt("suns_voc.csv")
voc_bak = np.loadtxt("suns_voc.bak")
# ============================================
# Figure : Suns-Voc
# ============================================
plt.figure()
plt.loglog(voc[:,0], np.abs(voc[:,1]),
linewidth=2)
plt.loglog(voc_bak[:,0], np.abs(voc_bak[:,1]),
'--',
linewidth=2)
plt.grid(True)
plt.xlabel("Light intensity (suns)")
plt.ylabel("Open-circuit voltage (V)")
plt.title("Suns-Voc comparison")
plt.legend([
"suns_voc.csv",
"suns_voc.bak"
], loc="upper left")
plt.show()
Zusammenfassung
In diesem Tutorial wurde gezeigt, wie Fallenstellen explizit in ein Modell für ungeordnete Halbleiterbauelemente integriert werden können. Anstatt die Rekombination als Folge eines einzelnen, isolierten SRH-Defektpegels zu betrachten, ermöglicht OghmaNano die Beschreibung der Fallendichte als eine energetische Verteilung. Dies ist besonders wichtig für organische Halbleiter, amorphes Silizium, Oxidhälbleiter und andere Dünnschichtmaterialien, bei denen lokalisierte Zustände sich über die Bandlücke erstrecken und die Beziehung zwischen Trägerdichte, Quasi-Fermi-Niveau, Rekombination und Mobilität stark beeinflussen. Obwohl das praktische Beispiel eine PM6:Y6-organische Solarzelle verwendet, ist das Ziel des Tutorials umfassender: Es soll gezeigt werden, wie verteilte Fallenstellen in Simulationen für ungeordnete Halbleiterbauelemente dargestellt, gelöst und analysiert werden.
Ausgehend von einer Simulation einer organischen Solarzelle vom Typ PM6:Y6 verglichen wir die Verteilung von flachen und breiten exponentiellen Fallenenergieniveaus sowohl unter Dunkel- als auch unter Beleuchtungsbedingungen. Eine Verbreiterung der Fallenverteilung veränderte die Strom-Spannungs-Kennlinie im Dunkeln, die Strom-Spannungs-Kennlinie unter Beleuchtung und die gesamte gespeicherte Ladung, da das Bauelement einen größeren Bereich lokalisierter Zustände einnehmen konnte. Die Ergebnisse der Fallenverteilungsanalyse machten dieses Verhalten dann direkt sichtbar und zeigten, wie sich die besetzte Fallenpopulation in Abhängigkeit von der Position, der Energie und der angelegten Spannung verändert.
Abschließend wurde ein tiefer Gauß-förmiger Potentialtopf auf die exponentiell abfallende Kurve aufgetragen, um zu zeigen, wie komplexe Modelle für die Zustandsdichte sowohl flache energetische Störungen als auch tiefere, für die Rekombination relevante Defekte darstellen können. Die Suns–Voc-Simulation zeigte, dass solche tiefen Zustände die Leerlaufspannung durch Erhöhung der durch Potentialtöpfe unterstützten Rekombination und Verringerung der Aufspaltung des Quasi-Fermi-Niveaus unter Beleuchtung reduzieren können. Insgesamt zeigt das Tutorial, dass Potentialtopfverteilungen keine geringfügige Korrektur in Simulationen ungeordneter Halbleiter darstellen: Sie sind oft entscheidend, um physikalisch sinnvolle Strom-Spannungs-Kurven, Ladungsdichten, Rekombinationsraten und photovoltaische Leistung zu erhalten.
Nächste Schritte: Wenn Sie das umfassendere Modellierungsframework, das diesem Tutorial zugrunde liegt, näher erkunden möchten, sind die folgenden Seiten eine gute Anlaufstelle.
- Was sind organische Halbleiter? Materialien, Bauelemente und Anwendungen – eine umfassendere Einführung in die Materialien und Bauelementklassen, bei denen Fallenstellen eine wichtige Rolle spielen.
- Modellierung organischer Halbleiterbauelemente: OPV, OLED und OFET – ein Überblick darüber, wie Drift-Diffusions-, Rekombinations- und optische Modelle für organische Bauelemente verwendet werden.
- Simulation einer organischen Solarzelle (OPV) – ein praktischer Ausgangspunkt für die Simulation organischer photovoltaischer Bauelemente in OghmaNano.
- Simulation eines organischen Feldeffekttransistors (OFET) – nützlich, wenn Sie sehen möchten, wie sich die Füllung von Ladungsträgern und der Ladungstransport in der Geometrie eines Transistors verhalten.
- Beispiel für den durch die Raumladung begrenzten Strom (SCLC) – eine nützliche Ergänzung zum Verständnis der Injektion, der Beweglichkeit und des durch Fallen begrenzten Transports.
- Simulation der Morphologie von großflächigen Heterostruktur-Verbindungen mithilfe von zweidimensionalen elektrischen Querschnitten – ein ausführlicheres Tutorial, das zeigt, wie Morphologie und Ladungstransport in organischen Solarzellen zusammenwirken.
- Warum in ungeordneten Halbleitermodellen Zustände benötigt werden, in denen sich Ladungsträger „einfangen“ lassen – die zugrunde liegende physikalische Begründung dafür, warum die Verteilung dieser Zustände erforderlich ist, um realistische Ladungsträgerdichten, Rekombinationsraten, Beweglichkeiten und J–V-Kennlinien zu erhalten.