PDE-Löser für Drift-Diffusion und verwandte Modelle

12

Ich versuche, grundlegende Halbleitermodelle für pädagogische Zwecke zu simulieren - ausgehend vom Drift-Diffusionsmodell. Obwohl ich keinen handelsüblichen Halbleitersimulator verwenden möchte - ich werde andere (gängige, aktuelle oder undurchsichtige) Modelle erlernen, möchte ich einen handelsüblichen PDE-Löser verwenden.

Aber auch für den einfachen 1D-Fall besteht das Driftdiffusionsmodell aus einer Reihe gekoppelter nichtlinearer PDEs:

Stromdichtegleichungen J p = q p ( x ) μ p E ( x ) + q D pp

Jn=qn(x)μnE(x)+qDnn
Jp=qp(x)μpE(x)+qDpp

Kontinuitätsgleichung p

nt=1qJn+Un
pt=1qJp+Up

Poissongleichung weiterempfehlen

(ϵV)=(pn+ND+NA)

und eine Reihe von Randbedingungen.

Ich habe einige Python-FEM-Löser, FEniCS / Dolfin und SfePy ausprobiert , , aber ohne , weil ich sie nicht in der schwachen Variationsform mit Testfunktionen formulieren konnte.

Es gibt natürlich die Möglichkeit, die numerische Lösung von Grund auf neu zu implementieren, aber ich habe mich noch nicht eingehend mit FEM / Numerical befasst. Ich hoffe, dass dies nicht meine einzige Option ist, da ich nicht mit numerischen Problemen überfordert sein möchte.

Gibt es also ein Paket (vorzugsweise Open Source), das diese Gleichungen in dieser Form aufnimmt und löst? Oder ist die von den Werkzeugen geforderte Variationsform vielleicht nicht so schwer? Welche Möglichkeiten habe ich auf jeden Fall?

Vielen Dank


Edit: Versuch, die schwache Variationsform für FEniCS / Dolfin oder SfePy zu formulieren

Unter Verwendung von drei PDEs (Poisson + zwei Kontinuitätsgleichungen mit J substituiert) suchen wir nach V, n und p. Die Poisson-Gleichung (unter Verwendung einer Testfunktion ) ist einfach. Ich habe jedoch Schwierigkeiten mit den Kontinuitätsgleichungen.uV

Die zweite PDE (starke Form)

nt=(C1nV+C2n)+U
C1,C2U,n,p,V

fn

Ωfnnn1ΔtdΩC1Ωfn(nV)dΩC2Ωfn2ndΩΩfnUdΩ

C1Ωfn(nV)dΩ

VV,un,nϕA=Aϕ+ϕA

C1Ωfn(nV)dΩ=C1Ωfn(Vn)+C1ΩfnnV

Da V durch die Poisson-Gleichung gelöst wird, können wir den kürzlich berechneten Wert verwenden, der in der Software Dolfin / FEniCS zulässig ist, und vereinfachen, wie wir V in dieser zweiten gekoppelten Gleichung behandeln? Diese Art von Techniken funktioniert beim Diskretisieren (z. B. Gummel, ...), was ich mit diesen fertigen Lösungsmitteln nicht mache!

JnnJn,Jp,n,p,VJn

Weaam
quelle
1
Warum kannst du ihre schwachen Formen nicht aufschreiben?
Bill Barth
@ BillBarth Ich habe meine Frage bearbeitet, bitte schauen Sie. Vielen Dank.
Weaam
2
Ihre Teilintegration ist falsch. Überprüfen Sie die Formel, es fehlen Zeichen, Sie haben rechts mehr Ableitungen als links und Sie haben das Randintegral vergessen.
Wolfgang Bangerth
un
Ja, ich hätte vorsichtiger sein sollen. Bitte überprüfe meine Bearbeitung, insbesondere meine Frage, wie wir V behandeln, da dies bereits durch die vorherige PDE hätte gelöst werden sollen. Hat dies Auswirkungen auf die Variationsform? Vielen Dank.
Weaam

Antworten:

5

Die Scharfetter-Gummel (SG) -Formulierung wird üblicherweise zur Lösung der Stromdichtegleichungen verwendet. Dies ist eine spezielle Formulierung, die Schwierigkeiten beim Lösen der nichtlinearen Abhängigkeit zwischen Potential und Stromdichte überwindet.

Ein Standardtext, der beschreibt, wie diese Gleichungen unter Verwendung von Box-Integrationsmethoden angewendet werden, ist in diesem Buch zu finden: Selberherr, S., Analyse und Simulation von Halbleiterbauelementen. Springer-Verlag 1984

Diese Art der Simulation wird als Technology Computer Aided Design (TCAD) bezeichnet. Im Gegensatz zur Finite-Elemente-Methode (FEM) wird zur Berechnung der Ströme die Finite-Volumen-Methode (FVM) verwendet. Dies liegt daran, dass es in die SG-Formulierung passt, von der gezeigt wurde, dass sie (von Praktikern dieser Methode) funktioniert, wenn die Stromdichtegleichungen gelöst werden.

Wenn Sie dies mit generalisierten PDEs lösen möchten, verfügt COMSOL über ein Halbleitermodul, das dieses Problem mit einer hybriden FEM / FVM-Methode löst.

Außerdem sind hier kommerzielle und Open Source-TCAD-Simulatoren aufgeführt: http://www.tcadcentral.com

Meines Wissens nach sind generalisierte PDE-TCAD-Löser DEVSIM, FLOOPS, PROPHET. Bei den kommerziellen Tools sind die meisten physikalischen Gleichungen in einer kompilierten Sprache wie C ++ hartcodiert.

Juan
quelle
Ich entschuldige mich für die extrem späte Antwort. Ich erkannte, dass eine solche direkte Anwendung von DD (auch mit SG) ziemlich instabil war (zumindest meine Implementierung in Fenics), und gab sie daher auf. In einem späteren VLSI-Kurs habe ich tatsächlich Comsol- und TCAD-Tools verwendet. Vielen Dank für Ihre umfassende Antwort.
Weaam,