-
一维半导体泊松-漂移-扩散方程的有限差分求解模型,使用Python编写的代码实现-Matlab_Poisson_Solver
资源介绍
matlab优化泊松方程代码漂移扩散模型
这是用Python编写的一维模型,该模型使用有限差分求解半导体泊松漂移扩散方程。
该模型模拟了光照下的太阳能电池,但也可以适用于其他半导体器件。
可以对其进行修改以解决其他系统(即,通过更改边界条件,添加重组率和修改生成率)。
使用称为Gummel方法的自洽迭代方法求解方程。
为了确保连续性方程的数值稳定性,使用了Scharfetter
Gummel离散化以及新旧解决方案的线性混合。
表现
使用Numba
@jit装饰器可以加速代码。
示例CPU时间:不使用Numba:469.7秒使用Numba:73.7秒
得出的结论是,Numba的工作量很轻,而且性能显着提高。
您可以在此处阅读有关Numba的信息:
C
++和Matlab实现
您可以在这里找到相同模型的C
++和Matlab实现以及2D和3D版本:
性能比较:
对于网格尺寸为dx
=
0.25nm,系统尺寸为300nm的一维代码:
Python:69.8秒Matlab:40秒C
++:3.7秒
因此,当前的C
++版本要快得多,可能具有阅读不太优雅的缺点。