3D 漂移–扩散:掺杂 GaAs 电阻
本教程演示如何从快速的 2D 漂移–扩散搭建过渡到完整的 3D 电学仿真,器件选择一个简单但很有启发性的例子:掺杂砷化镓(GaAs)电阻。 它非常适合教学与示例作业:物理过程清晰,JV 近似线性,并且输出能够很好地展示电势与电流在空间中的分布。
1. 创建 2D GaAs 电阻
- 新建仿真 → GaAs 演示 → 掺杂导线 / 电阻。
- 几何:先从 2D 开始,只在 X 与 Y 上设置网格点。 (暂时禁用 Z;稍后再启用。)
- 掺杂:定义一个从左→右逐渐增大的受主分布(p 型梯度)。 “导线”就是一个施加该梯度的矩形 GaAs 块体。
- 接触:相对的表面作为电极(上/下或左/右取决于你的坐标轴约定)。 其中一个将进行电压扫描,另一个保持在 0 V。
- 复合:启用简单 SRH(解析形式)。本演示不需要动态陷阱。
2. 运行与合理性检查(2D)
点击 运行。在日志中:
- 每一步的耗时应为几毫秒(在一般笔记本上,约 6–8 ms 的量级)。
- 接触电流相匹配(稳态时,上端 = 下端)。如果不匹配,你很可能处于时域模式或尚未收敛。
- 残差(总误差)应很小:≲10−9 非常理想。若为 10−6…10−3,建议重新检查设置/网格。
打开 输出:
- JV 曲线:如电阻所预期的近线性行为。由于空间电荷与掺杂,可能出现轻微波动。
- 快照:绘制 EC(导带;在通用 UI 中有时标为 “LUMO”)、 ϕ(静电势)以及载流子密度(n、p)随偏置增大的变化。
3. 扩展到 3D:网格与接触
在网格编辑器中启用 Z 维度。先选择较小的规模:
Nx × Ny × Nz = 5 × 5 × 5。运行时间/内存大致按
\( \mathcal{O}(N_x N_y N_z) \approx \mathcal{O}(N^3) \) 增长,因此
10×10×10 在笔记本上通常没问题,但 20×20×20 或更大很快会变得吃力。
在 3D 中,接触是有限面积对象(不像 2D 那样默认覆盖整个表面)。 打开 尺寸/接触编辑器 并:
- 将每个接触的 宽度/深度 设为与器件一致(全表面电极)或选择 局部尺寸(例如表面 0.5×0.5)以研究电流扩展。
- 调整 偏移 将焊盘放到你希望的位置(用于演示非对称注入/抽取)。
4. 运行与分析(3D)
运行 3D 仿真(保持网格适中)。检查:
- JV 曲线:应保持近线性(电阻性)。与 2D 结果对比。
- 3D 电势 ϕ:逐步改变偏置并观察 3D 电势分布的演化。 使用切片/截面工具对器件进行“切割”,以便更清晰地解读。
- 电流:绘制六个分量:
- Jn,x、Jn,y、Jn,z
- Jp,x、Jp,y、Jp,z
- 载流子:n(x,y,z,V)、p
5. 实用提示与常见陷阱
- 先在 1D/2D 中原型验证。先验证物理与数值设置,只有在确有必要时再启用 Z。
- 网格经济性胜过蛮力。更多网格点并不必然带来更高精度;若 PDE 在节点间以很小残差求解,盲目加密网格未必有益。只有在需要捕捉真实梯度时再增加网格。
- 收敛性检查:确保残差很小(≲10−8)、接触电流匹配、并且步进时间稳定。若残差停在 10−5…10−3,请重新审视缩放、偏置或网格。
- SRH 选择:本电阻演示使用简单解析 SRH 即可。只有在需要陷阱动力学时才启用动态陷阱。
- 内存缩放:每个轴网格数翻倍会使未知量约增加 8 倍;
20×20×20及以上要关注 RAM。