Solucionadores de PDE para difusão de deriva e modelos relacionados

12

Estou tentando simular modelos básicos de semicondutores para fins pedagógicos - a partir do modelo de difusão à deriva. Embora eu não queira usar um simulador de semicondutores pronto para uso - aprenderei outros modelos (comuns, recentes ou obscuros), quero usar um solucionador de PDE pronto para uso.

Mas mesmo para o caso 1D simples, o modelo de difusão à deriva consiste em um número de PDEs não lineares acoplados:

Equações de densidade atual

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

Equação de continuidade

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

Equação de Poisson

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

e várias condições de contorno.

Eu tentei alguns solucionadores python FEM, FEniCS / Dolfin e SfePy , mas sem sorte, devido à incapacidade de formulá-los na forma variacional fraca com funções de teste.

É claro que existe a opção de implementar a solução numérica do zero, mas ainda não estudei o FEM / Numérico, por isso espero que não seja a minha única opção, pois não quero ficar sobrecarregado com problemas numéricos.

Então, existe um pacote (pref. Código aberto) que pegaria essas equações dessa forma e as resolveria? Ou talvez a forma variacional exigida pelas ferramentas não seja tão difícil? De qualquer forma, quais são minhas opções?

obrigado


Edit: Tentativa de formular a forma variacional fraca para FEniCS / Dolfin ou SfePy

Usando três PDEs (Poisson + duas equações de continuidade com J substituído), procuramos V, ne p. A equação de Poisson (usando a função de teste ) é simples. Estou tendo dificuldades, no entanto, com as equações de continuidade.uV

O segundo PDE (formato forte) onde são constantes, são funções escalares

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

Deixe denotar uma função de teste para o segundo PDE. Entãofn

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

Especialmente preocupante é a integral:

C1Ωfn(nV)dΩ

Mas é um vetor e são escalares. Em seguida, usando a identidade VV,un,nϕA=Aϕ+ϕA

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

Como V é resolvido pela equação de Poisson, podemos usar o valor recentemente calculado como permitido no software Dolfin / FEniCS e simplificar como tratamos V nesta segunda equação acoplada? Esse tipo de técnica funciona enquanto discretiza (por exemplo, Gummel, ...), o que não faço nesses solucionadores prontos!

Além disso, as condições de contorno são fornecidas em termos de não , como você implementa isso? Devo resolver as cinco variáveis , mesmo que seja determinado por V e n?JnnJn,Jp,n,p,VJn

Weaam
fonte
1
Por que você não pode escrever suas formas fracas?
Bill Barth
@ BillBarth Eu editei minha pergunta, por favor, dê uma olhada. Obrigado.
Weaam
2
Sua integração por partes está errada. Verifique a fórmula, faltam sinais, você tem mais derivadas à direita do que à esquerda e esqueceu a integral do limite.
Wolfgang Bangerth
Além disso, existe um motivo para você estar usando um produto escalar para representar a multiplicação por ? É um escalar, certo? un
Bill Barth
Sim, eu deveria ter sido mais cuidadoso. Por favor, verifique minha edição, especialmente minha pergunta sobre como tratamos o V, pois ele já deveria ter sido resolvido pelo PDE anterior. Isso tem algum efeito na forma variacional? Obrigado.
Weaam

Respostas:

5

A formulação Scharfetter-Gummel (SG) é comumente usada para resolver as equações de densidade de corrente. Esta é uma formulação especial que supera dificuldades na resolução da dependência não linear entre a densidade potencial e a corrente.

Um texto padrão discutindo como essas equações usando métodos de integração de caixas estão neste livro: Selberherr, S., Análise e simulação de dispositivos semicondutores. Springer-Verlag 1984

Esse tipo de simulação chamado TCAD (Technology Computer Aided Design). Ao contrário do Método dos Elementos Finitos (FEM), o Método do Volume Finito (FVM) é usado para calcular as correntes. Isso ocorre porque ele se encaixa na formulação de SG que foi demonstrada (pelos profissionais deste método) para funcionar ao resolver as equações de densidade de corrente.

Se você deseja resolver isso usando PDE generalizados, o COMSOL possui um Módulo Semicondutor que resolve esse problema usando um método híbrido FEM / FVM.

Além disso, simuladores de TCAD comerciais e de código aberto estão listados aqui: http://www.tcadcentral.com

Que eu saiba, os solucionadores de PDAD-TCE generalizados são DEVSIM, FLOOPS, PROPHET. As ferramentas comerciais tendem a ter a maioria das equações físicas codificadas em uma linguagem compilada como C ++.

Juan
fonte
Peço desculpas pela resposta extremamente tardia. Percebi que uma aplicação tão direta de DD (mesmo com SG) era bastante instável (minha implementação no Fenics pelo menos), então a abandonei. Em um curso posterior do VLSI, eu realmente usei as ferramentas Comsol e TCAD. Obrigado pela sua resposta abrangente.
Weaam