GaAs 教程(Part C):数值稳定性与将二极管转换为光探测器
1. 引言
在本节中,你将了解为什么数值稳定性会成为 2D 和 3D drift–diffusion 仿真的核心问题,以及为什么伪影往往恰恰出现在 低电流区域。 这并不是软件中的错误,而是在极大动态范围内求解 强耦合半导体输运方程的根本后果。 在解释 JV 曲线、电流密度图 以及真实多维器件模型的快照时,理解这种行为至关重要。
2. 为什么数值稳定性在 2D 和 3D 中更重要
半导体 drift–diffusion 仿真通常跨越极大的动态范围。 载流子浓度在多数载流子区域和少数载流子区域之间可能相差 10–20+ 个数量级(例如重掺杂 n 型材料与少数空穴)。 当这些尺度进入一个耦合的非线性系统 (Poisson 方程加电子和空穴连续性方程)时, 所得到的 Jacobian 可能会变得病态。 在实际中,这意味着微小的数值舍入误差可能被放大为可见的 伪影,特别是在真实物理电流接近零时。
大多数 drift–diffusion 求解器使用双精度浮点运算。 双精度大约具有53 位尾数,对应约 15–16 位十进制有效数字。 对于绝大多数问题,这已经足够,但它并不是无限精度。 当方程中包含跨越许多数量级的量时, 抵消误差、缩放以及矩阵条件数——而不是原始 CPU 速度—— 会成为主要的数值限制。 在 1D 中,这些问题通常较不严重,因为自由度较少, 耦合路径也较少。 在 2D 和 3D 中,额外的空间方向会引入更大的矩阵和更强的耦合, 因而数值敏感性往往会更早显现,特别是在低电流区域。在本节其余部分中,你将了解这些数值效应在实践中如何产生,它们如何在多维仿真中表现出来,以及在分析 2D 和 3D 结果时应如何正确解释它们。
3. 启用照明:将二极管变为光电二极管
到目前为止,这个 GaAs 器件一直被作为暗态二极管来仿真。 在本节中,我们启用照明,并观察当器件中发生光学生成时 器件如何响应。 这使我们能够将上一节关于数值稳定性的讨论 与一个具有物理意义的光照 JV 曲线联系起来,并观察在实际中 低电流伪影通常会出现在什么位置。
要启用照明,请转到Optical功能区 (??) 并将Light intensity (Suns)设置为1.0。 启用后,主器件视图将在器件堆叠上方显示绿色箭头, 表示入射光子 (??)。
🧭 在本节中我们有意使用 2D 仿真: 打开 Electrical mesh 编辑器并确保 x 和 y 已启用, 同时z被禁用。 这样可以保持较短的运行时间,同时仍然暴露我们想要研究的数值行为。
运行仿真并打开 jv_contact0.csv(顶部接触)。
所得曲线应类似于一个物理上合理的受光照 JV 特性,
但如果你放大低电流区域,通常会注意到一些小的不规则性或
“块状起伏”
(??)。
在这一阶段,有两个效应叠加在一起,并且彼此强化。 首先,当真实物理电流接近零时,前面讨论过的数值敏感性 会在提取出来的 JV 曲线中变得可见。 其次,绝对光电流相对较小,因为该结构仍然被配置为一个 二极管,而不是一个优化后的太阳能电池。 这种较低的光电流会将工作点进一步推入接近零电流的区域, 从而加剧数值伪影的可见性。
jv_contact0.csv)。低电流区域中的块状起伏反映了当真实电流接近零时的数值敏感性。
4. 使用空间电流密度快照诊断数值噪声
为了理解在光照 JV 曲线中观察到的小不规则性的来源,查看
求解器内部在做什么是很有帮助的。
这可以通过 snapshots/ 输出完成,该输出存储了随仿真步进
(通常是外加偏压)变化的空间分辨量。
在本节中,我们重点关注 Jn.csv,即垂直电子电流密度。
打开 snapshots/ 目录并绘制 Jn.csv。
你应当得到与
?? 和
??
类似的图像,分别对应于低偏压和较高偏压。
在低偏压下(滑块左侧),电流的绝对值极其小。
在这一范围内,电流密度图可能在空间上显得不规则:
你实际上看到的是,去计算一个
物理上接近于零的量在数值上有多困难。
随着偏压增大、电流变得明显非零,Jn.csv 的空间分布
会变得更平滑,也更符合物理直觉。
在极低电流下这些微小的空间不规则性会直接传递到提取出的 JV 曲线中,
这就是为什么 JV 的低电流区域会显得有些“块状”。
减少这些伪影可见性的一个实用方法是改变 电流的计算位置。 在靠近接触的位置计算的电流往往比在器件内部计算的电流 对数值噪声更敏感。 在本教程中,电流已经在器件的中点处计算, 这一设置可在 Electrical 功能区中的 Drift diffusion → Solver configuration 菜单下找到。 在中点处计算电流可减少对边界效应的敏感性,并且通常会 在低电流区域中产生更干净的 JV 曲线。
Jn.csv。真实电流非常小,因此数值敏感性变得可见。
Jn.csv。一旦电流明显非零,空间分布就会变得更平滑,也更符合物理。
5. 修复低光电流:不要穿过厚金属照射
你可能已经注意到,到目前为止得到的光电流比人们通常对 GaAs 器件的预期要低。 在这个示例中,这种行为在很大程度上是有意设计的。 该结构最初被设计为一个二极管,而不是一个优化后的光电二极管或太阳能电池: 顶部铝接触足够厚,会强烈反射并吸收入射光。 换句话说,这个仿真实际上是在尝试“穿过金属照射”。
为了纠正这一点,打开Layer editor (??) 并将顶部铝(Al)接触的厚度从 100 nm 减小到 10 nm。 重新运行仿真并重新打开光照 JV 曲线。
你现在应当观察到明显更大的光电流,以及平滑得多的低电流区域。 这种改善并不是来自于改变数值方法,而是来自于增强了 真实的物理信号。 通过将器件从接近零电流的区域移开,数值底噪实际上 被推到了视野之外,先前可见的伪影也就消失了。
6. 总结与关键要点
在这个三部分教程中,你已经探索了维度性、数值稳定性 与物理配置如何在 drift–diffusion 仿真中相互作用:
-
在Part A中,你运行了一个包含有意设置的垂直缺陷的完全3D GaAs 二极管,
可视化了电流拥挤现象,并使用
snapshots/检查了内部变量。 - 在Part B中,你移除了缺陷,并证明了一旦结构在横向上变得均匀, 3D、2D 和 1D 仿真会给出相同的电学结果——而运行时间则相差几个数量级。
- 在Part C中,你启用了照明以创建一个光电器件,使用空间电流密度图 来诊断数值敏感性,并展示了低光电流如何放大可见伪影。
核心见解: 当真实物理电流接近零时,数值伪影最容易被看到。 低电流区域——无论是由偏压条件、复合还是光学遮挡引起的—— 天然就是任何 drift–diffusion 求解器最难处理的情况。 一旦电流明显非零,相同的数值方法通常就会显得平滑得多。
接下来可以做什么: 探索随着动态范围增加,数值稳定性如何演化。 有用的方向包括扫描 SRH 或 Auger 复合参数、 改变掺杂或迁移率对比、提高照明强度, 或引入更真实的接触选择性。 这些都会以不同方式推动求解器,并帮助建立直觉, 理解何时高维建模既是必要的,也是数值上稳健的。