泊松求解器发散

计算科学 模拟 软件
2021-12-17 08:35:11

我的 2D-Poisson 求解器是为模拟半导体而构建的。

该算法是Gauss-Seidel迭代法。

如果我使用简单的 PN 结进行模拟测试,当我在电极上施加高压时,它会发散。

但是在电极上没有施加电压或施加非常低的电压时也可以。

以下是一维离散方程的示例。

一维离散泊松

右手边有线性和指数部分。

电位的微小变化会导致电荷密度的较大差异,电荷密度的较大差异会导致下一次迭代时电位的较大变化。

这是导致泊松求解器发散的可能原因吗?如何避免?

(如果描述仍然不清楚,我可以上传我的部分代码。)

以下是我学习的 DD 模型教程,由 Dragica Vasileska 编写。 https://nanohub.org/resources/1545/download/ddmodel_introductory_part_word.pdf

1个回答

我刚刚发现我对自己面临的问题有很大的误解。

Gauss-Seidel 和 Jaccobi 方法适用于线性系统。由于 RHS 的指数部分,我刚刚在泊松求解器中使用的泊松方程称为“非线性泊松”。

因此,由于我用来求解非线性泊松的错误方法,数值不稳定性确实是由指数部分引起的。

现在我在我的泊松求解器中使用牛顿法,效果很好,谢谢大家:)