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 p ≤ p
Kontinuitätsgleichung ∂p
Poissongleichung weiterempfehlen
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.
Die zweite PDE (starke Form)
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!