首页 示例 截图 用户手册 Bluesky logo YouTube
OghmaNano 模拟有机/钙钛矿太阳能电池、OFET 和 OLED 下载

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 编辑器并确保 xy 已启用, 同时z被禁用。 这样可以保持较短的运行时间,同时仍然暴露我们想要研究的数值行为。

运行仿真并打开 jv_contact0.csv(顶部接触)。 所得曲线应类似于一个物理上合理的受光照 JV 特性, 但如果你放大低电流区域,通常会注意到一些小的不规则性或 “块状起伏” (??)。

在这一阶段,有两个效应叠加在一起,并且彼此强化。 首先,当真实物理电流接近零时,前面讨论过的数值敏感性 会在提取出来的 JV 曲线中变得可见。 其次,绝对光电流相对较小,因为该结构仍然被配置为一个 二极管,而不是一个优化后的太阳能电池。 这种较低的光电流会将工作点进一步推入接近零电流的区域, 从而加剧数值伪影的可见性。

Optical 功能区显示 Light intensity (Suns) 设置为 1.0。
Optical 功能区。将 Light intensity (Suns) 设置为 1.0 以启用照明。
器件视图显示器件上方的绿色箭头,表明照明已启用。
已启用照明。绿色箭头表示光子进入器件堆叠。
光照 JV 曲线显示较低光电流以及低电流区域中轻微的数值块状起伏。
光照 JV 曲线(jv_contact0.csv)。低电流区域中的块状起伏反映了当真实电流接近零时的数值敏感性。

4. 使用空间电流密度快照诊断数值噪声

为了理解在光照 JV 曲线中观察到的小不规则性的来源,查看 求解器内部在做什么是很有帮助的。 这可以通过 snapshots/ 输出完成,该输出存储了随仿真步进 (通常是外加偏压)变化的空间分辨量。 在本节中,我们重点关注 Jn.csv,即垂直电子电流密度

打开 snapshots/ 目录并绘制 Jn.csv。 你应当得到与 ???? 类似的图像,分别对应于低偏压和较高偏压。

在低偏压下(滑块左侧),电流的绝对值极其小。 在这一范围内,电流密度图可能在空间上显得不规则: 你实际上看到的是,去计算一个 物理上接近于零的量在数值上有多困难。 随着偏压增大、电流变得明显非零,Jn.csv 的空间分布 会变得更平滑,也更符合物理直觉。 在极低电流下这些微小的空间不规则性会直接传递到提取出的 JV 曲线中, 这就是为什么 JV 的低电流区域会显得有些“块状”。

减少这些伪影可见性的一个实用方法是改变 电流的计算位置。 在靠近接触的位置计算的电流往往比在器件内部计算的电流 对数值噪声更敏感。 在本教程中,电流已经在器件的中点处计算, 这一设置可在 Electrical 功能区中的 Drift diffusionSolver configuration 菜单下找到。 在中点处计算电流可减少对边界效应的敏感性,并且通常会 在低电流区域中产生更干净的 JV 曲线。

低电压下 Jn.csv 的 2D 快照图,在极低电流区域显示轻微不规则性。
2D 中低偏压下的 Jn.csv。真实电流非常小,因此数值敏感性变得可见。
较高电压下 Jn.csv 的 2D 快照图,显示更平滑的电流分布。
较高偏压下的 Jn.csv。一旦电流明显非零,空间分布就会变得更平滑,也更符合物理。
求解器配置窗口显示 'Calculate current at' 设置为 Mid point。
求解器配置。将 Calculate current at 设为 Mid point 可降低对接触局部数值噪声的敏感性。

5. 修复低光电流:不要穿过厚金属照射

你可能已经注意到,到目前为止得到的光电流比人们通常对 GaAs 器件的预期要低。 在这个示例中,这种行为在很大程度上是有意设计的。 该结构最初被设计为一个二极管,而不是一个优化后的光电二极管或太阳能电池: 顶部铝接触足够厚,会强烈反射并吸收入射光。 换句话说,这个仿真实际上是在尝试“穿过金属照射”。

为了纠正这一点,打开Layer editor??) 并将顶部铝(Al)接触的厚度从 100 nm 减小到 10 nm。 重新运行仿真并重新打开光照 JV 曲线。

你现在应当观察到明显更大的光电流,以及平滑得多的低电流区域。 这种改善并不是来自于改变数值方法,而是来自于增强了 真实的物理信号。 通过将器件从接近零电流的区域移开,数值底噪实际上 被推到了视野之外,先前可见的伪影也就消失了。

Layer editor 显示 GaAs 层以及一个厚度设为 100 nm 的顶部铝接触。
Layer editor。顶部 Al 接触最初厚度为 100 nm,会强烈阻挡入射光。
具有厚顶部金属的光照 JV 曲线,显示低光电流和可见的低电流噪声。
厚顶部 Al 接触下的光照 JV 曲线。 光电流较小,使仿真接近数值噪声底。
将顶部铝厚度减小到 10 nm 后的光照 JV 曲线,显示更高的光电流且无可见噪声。
将顶部 Al 厚度减小到 10 nm 后的光照 JV 曲线。 增大的光电流使器件远离数值底噪,因而可见噪声消失。

6. 总结与关键要点

在这个三部分教程中,你已经探索了维度性、数值稳定性 与物理配置如何在 drift–diffusion 仿真中相互作用:

核心见解:真实物理电流接近零时,数值伪影最容易被看到。 低电流区域——无论是由偏压条件、复合还是光学遮挡引起的—— 天然就是任何 drift–diffusion 求解器最难处理的情况。 一旦电流明显非零,相同的数值方法通常就会显得平滑得多。

接下来可以做什么: 探索随着动态范围增加,数值稳定性如何演化。 有用的方向包括扫描 SRH 或 Auger 复合参数、 改变掺杂或迁移率对比、提高照明强度, 或引入更真实的接触选择性。 这些都会以不同方式推动求解器,并帮助建立直觉, 理解何时高维建模既是必要的,也是数值上稳健的。