我正在尝试为教学目的模拟基本的半导体模型-从漂移扩散模型开始。尽管我不想使用现成的半导体仿真器-我将学习其他(常见,最近或模糊的)模型,但我确实想使用现成的PDE求解器。
但是,即使对于简单的一维情况,漂移扩散模型也由许多耦合的非线性PDE组成:
电流密度方程
Ĵ p = q p (X )μ p È (X )+ q d p ∇ p
Ĵñ= qn (x )μñË(x )+ qdñ∇ ñ
Ĵp= qp (x )μpË(x )+ qdp∇ p
连续性方程
∂p
∂ñ∂Ť= 1q▿ ·&Ĵñ+ Uñ
∂p∂Ť= 1q▿ ·&Ĵp+ Up
泊松方程
▿ ·& (ε ▿ V)= − (p − n + N+d− N-一个)
和一些边界条件。
我尝试了一些python FEM求解器FEniCS / Dolfin和SfePy,但是由于无法用测试函数将它们构造为弱变分形式而没有运气。
当然,可以从头开始实施数值解决方案,但是我还没有深入研究FEM /数值,所以我希望这不是我唯一的选择,因为我不想被数值问题淹没。
那么,是否有一个软件包(首选开源)可以采用这些形式并求解这些方程式?还是工具所需的变体形式不那么难?无论如何,我有什么选择?
谢谢
编辑:尝试为FEniCS / Dolfin或SfePy制定弱变异形式
üV
∂ñ∂Ť= ▿ ·& (Ç1个ñ ∇ V+ C2∇ Ñ )+ ù
C1个,C2ü,n ,p ,V
fn
∫Ωfnn−n1ΔtdΩ−C1∫Ωfn∇⋅(n∇V)dΩ−C2∫Ωfn∇2ndΩ−∫ΩfnUdΩ
C1∫Ωfn∇⋅(n∇V)dΩ
∇VV,un,n∇⋅ϕA=A⋅∇ϕ+ϕ∇⋅A
C1∫Ωfn∇⋅(n∇V)dΩ=C1∫Ωfn(∇V⋅∇n)+C1∫Ωfnn∇⋅∇V
由于V是通过Poisson方程求解的,我们可以使用软件Dolfin / FEniCS中允许的最近计算出的值,并简化在第二个耦合方程中如何处理V的情况吗?这些技术可以在离散化时起作用(例如Gummel等),而在这些现成的求解器中我不这样做!
JnnJn,Jp,n,p,VJn