Math {
Derivatives
RelErrControl
Digits=5
RHSmin=1e-10
Notdamped=50
Iteration=20
method=ILS
Number_of_Threads=8
Number_of_Solver_Threads=8
##BreakCriteria{ Current(Contact="drain" AbsVal=1e-3)}
#Transient=BE
DirectCurrent
ExitOnFailure
}
Math命令段用来设置数值的求解算法,其中
半导体器件仿真中需要进行迭代计算的方程主要包含
泊松方程:
▽ \bigtriangledown ▽ ε \varepsilon ε ▽ \bigtriangledown ▽ ψ \psi ψ=-q(p-n+ND-NA)- ρ \rho ρtrap
式中, ε \varepsilon ε为介电参数,q为电子电荷质量,n和p是电子和空穴浓度,ND为电离施主杂质浓度,NA为电离受主杂质浓度, ρ \rho ρtrap为陷阱电荷浓度。
连续性方程:
▽ \bigtriangledown ▽JN=qRnet + q ∂ n ∂ t \frac{\partial n}{\partial t} ∂t∂n
- ▽ \bigtriangledown ▽JP=qRnet + q ∂ p ∂ t \frac{\partial p}{\partial t} ∂t∂p
Rnet为净电子空穴复合率,JN为电子电流密度,JP为空穴电流密度。
输运方程
JN=-qn μ \mu μN ▽ \bigtriangledown ▽ ϕ \phi ϕN
JP=-qn μ \mu μP ▽ \bigtriangledown ▽ ϕ \phi ϕP
μ \mu μN和 μ \mu μP分别为电子和空穴的迁移率; ▽ \bigtriangledown ▽ ϕ \phi ϕN和 ▽ \bigtriangledown ▽ ϕ \phi ϕP分别为电子和空穴的准费米势(Quasi Fermi Potential).
为了通过迭代算法求解半导体器件方程,必须将整个器件划分成一定的网格,然后在这些网格基础上对上述方程进行离散化,即用网格点上一系列的函数值来替代偏微分方程的连续函数解,用恰当的差分算子来替代微分算子并进行仿真运算。
在对器件仿真求解过程中,最重要的方程是泊松方程,由于泊松方程是非线性的,求解过程与牛顿不断迭代的方式相同。
仿真中,牛顿迭代法因其求解稳定和准确的特点,从而得到广泛应用。牛顿迭代法采用雅可比高斯消去的计算方法和非线性二次收敛的方式,相较于采用线性收敛的摩根尔法更为精确,且收敛性更好,收敛速度更快。在采用牛顿迭代法的时候,所有变量值都是变化的,且变量间的耦合也被考虑在其中,所以求解出的结果更为准确。基于精度和稳定性等方面的考虑,牛顿迭代法往往作为求解的首选方式。