Solveurs PDE pour Drift-diffusion et modèles connexes

12

J'essaie de simuler des modèles de semi-conducteurs de base à des fins pédagogiques - à partir du modèle de diffusion en dérive. Bien que je ne veuille pas utiliser un simulateur de semi-conducteur standard - j'apprendrai d'autres modèles (courants, récents ou obscurs), je veux utiliser un solveur PDE standard.

Mais même pour le cas 1D simple, le modèle de dérive-diffusion se compose d'un certain nombre de PDE non linéaires couplés:

Équations de densité de courant J p = q p ( x ) μ p E ( x ) + q D pp

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

Équation de continuité p

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

Équation de Poisson

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

et un certain nombre de conditions aux limites.

J'ai essayé des solveurs FEM python, FEniCS / Dolfin et SfePy , mais sans succès , car je n'ai pas pu les formuler sous la forme variationnelle faible avec des fonctions de test.

Il y a bien sûr la possibilité d'implémenter la solution numérique à partir de zéro, mais je n'ai pas encore étudié FEM / Numérique en profondeur, donc j'espère que ce n'est pas ma seule option car je ne veux pas être submergé par des problèmes numériques.

Existe-t-il un package (pref. Open source) qui prendrait ces équations, sous cette forme, et les résoudrait? Ou peut-être que la forme variationnelle requise par les outils n'est pas aussi difficile? Dans tous les cas, quelles sont mes options?

Merci


Edit: tentative de formulation de la forme variationnelle faible pour FEniCS / Dolfin ou SfePy

En utilisant trois PDE (Poisson + deux équations de continuité avec J substitué), nous recherchons V, n et p. L'équation de Poisson (en utilisant une fonction de test ) est simple. J'ai cependant du mal avec les équations de continuité.uV

Le deuxième PDE (forme forte) où sont des constantes, sont des fonctions scalaires

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

Soit une fonction de test pour le second PDE. alorsfn

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

L'intégrale est particulièrement inquiétante:

C1Ωfn(nV)dΩ

Mais est un vecteur et sont des scalaires. Ensuite, en utilisant l'identité VV,un,nϕA=Aϕ+ϕA

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

Puisque V est résolu par l'équation de Poisson, pouvons-nous utiliser la valeur récemment calculée telle qu'elle est autorisée dans le logiciel Dolfin / FEniCS et simplifier la façon dont nous traitons V dans cette deuxième équation couplée? Ce genre de techniques fonctionne tout en discrétisant (par exemple Gummel, ...), ce que je ne fais pas dans ces solveurs prêts!

Les conditions aux limites sont également données en termes de non , comment implémentez-vous cela? Dois-je résoudre les cinq variables , même si est déterminé par V et n?JnnJn,Jp,n,p,VJn

Weaam
la source
1
Pourquoi ne pouvez-vous pas écrire leurs formes faibles?
Bill Barth
@BillBarth J'ai édité ma question, veuillez jeter un œil. Merci.
Weaam
2
Votre intégration par parties est incorrecte. Vérifiez la formule, il manque des signes, vous avez plus de dérivées à droite qu'à gauche, et vous avez oublié l'intégrale de frontière.
Wolfgang Bangerth
De plus, y a-t-il une raison pour laquelle vous utilisez un produit scalaire pour représenter la multiplication par ? C'est un scalaire, non? un
Bill Barth
Oui, j'aurais dû être plus prudent. Veuillez vérifier mon montage, en particulier ma question concernant la façon dont nous traitons V car il aurait déjà dû être résolu par le PDE précédent. Cela a-t-il un effet sur la forme variationnelle? Je vous remercie.
Weaam

Réponses:

5

La formulation de Scharfetter-Gummel (SG) est couramment utilisée pour résoudre les équations de densité actuelles. Il s'agit d'une formulation spéciale qui surmonte les difficultés de résolution de la dépendance non linéaire entre la densité de potentiel et de courant.

Un texte standard expliquant comment ces équations utilisant des méthodes d'intégration de boîtes sont dans ce livre: Selberherr, S., Analysis and simulation of semiconductor devices. Springer-Verlag 1984

Ce type de simulation est appelé Technology Computer Aided Design (TCAD). Contrairement à la méthode des éléments finis (FEM), la méthode des volumes finis (FVM) est utilisée pour calculer les courants. En effet, il s'inscrit dans la formulation SG qui a été montrée (par les praticiens de cette méthode) pour travailler lors de la résolution des équations de densité actuelles.

Si vous souhaitez résoudre ce problème en utilisant des PDE généralisés, COMSOL dispose d'un module semi-conducteur qui résout ce problème en utilisant une méthode hybride FEM / FVM.

De plus, les simulateurs TCAD commerciaux et open source sont répertoriés ici: http://www.tcadcentral.com

À ma connaissance, les solveurs TCAD PDE généralisés sont DEVSIM, FLOOPS, PROPHET. Les outils commerciaux ont tendance à avoir la plupart des équations physiques codées en dur dans un langage compilé tel que C ++.

Juan
la source
Je m'excuse pour la réponse extrêmement tardive. J'ai réalisé qu'une telle application directe de DD (même avec SG) était assez instable (mon implémentation dans Fenics au moins), donc je l'ai abandonnée. Dans un cours VLSI ultérieur, j'ai en effet utilisé les outils Comsol et TCAD. Merci pour votre réponse complète.
Weaam