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

大面积钙钛矿组件教程 B部分:运行仿真并检查输出

大面积组件仿真比单器件漂移–扩散运行更复杂,因此值得观察求解器在做什么。 在这个示例中,OghmaNano 分两个主要阶段运行仿真: (i) 光学求解器(3D 光学计算),然后 (ii) 电学电路求解器(电路网格上的基尔霍夫电流/电压方程)。 终端输出是你及早发现问题的最快方式(例如,断开的电路或缺失的接触)。

步骤 1:运行仿真

点击 ?? 中所示的 Run simulation 按钮(蓝色三角形)。 该仿真需要一些时间才能运行完成(它会先执行 3D 光学阶段,然后再执行大规模电路求解)。 在运行期间,请留意 Terminal 选项卡,因为它会提供关于收敛性和电流的实时信息。

OghmaNano 主窗口,显示蓝色的 Run simulation 按钮以及包含生成结果文件的 Output 选项卡。
点击 Run simulation(蓝色三角形)以启动组件仿真。
终端输出,显示光学求解器在许多波长切片上运行,随后进入电学阶段,并显示 'Finished with multidimensional autoramp' 消息。
早期阶段的终端输出:求解器首先运行光学阶段(许多波长切片), 然后进入电学阶段。
JV 扫描后期的终端输出,显示接触电流在 Voc 附近改变符号,以及收敛度量 f() 的数值。
扫描中段的终端输出:当扫描经过 VOC 时,接触电流会翻转符号。 你通常可以直接在日志中看到 JV 曲线正在形成。

步骤 2:理解终端输出在告诉你什么

对于这些复杂仿真,终端输出并不是“噪声”——它是一种诊断信息。在 ?? 中,你可以看到求解器最初运行的是光学阶段。 这可能需要一些时间,因为它是在 3D 中求解。光学产生准备完成后,求解器会开始电学阶段,并为每个偏压点打印一行信息。

一条关键输出行看起来像这样(格式会根据设置略有不同):

在扫描开始附近(特别是在接近 0 V 时),你通常会看到较大的误差,而随着求解器远离该点,误差可能会下降。 经验上,当求解器达到 10-4 或更小的误差时,我会更信任结果, 理想情况下,对于“干净”的收敛应达到 10-9。 (在这里展示的示例日志中,你可以看到随着扫描推进,误差呈下降趋势。)

?? 中,你可以看到一个非常有用的现象: 在扫描的大约中段,地接触上的电流改变了符号,而 change 接触上的电流则朝相反方向改变符号。 这种符号翻转正是当扫描经过 VOC 时所期望看到的:低于 VOC 时,受光照器件输出功率; 高于 VOC 时,它处于正向偏置状态,并像二极管一样消耗功率。 换句话说,你通常可以直接在接触电流列中“看到”JV 曲线正在形成。

💡 为什么要看终端?如果哪里出了问题(例如,电路未连接、接触掩膜未覆盖网格,或者某个区域悬空), 你通常会立刻看到:电流接近于零、电流变得不合理,或者求解器无法降低 f()。 尽早发现这些问题可以节省你长时间等待。

步骤 3:检查输出文件

当仿真完成后,Output 选项卡将包含一组类似 ?? 所示的文件。 本教程这一部分的关键结果是接触 JV 曲线: jv_contact0.csvjv_contact1.csv。 这些文件包含每个接触上的电流密度随外加电压变化的关系。

双击 jv_contact0.csvjv_contact1.csv 以绘制它们。示例图显示于 ????。 放大视图(有助于读取 VOC 以及拐点附近的曲率)显示于 ??

绘图窗口显示地接触的电压–电流密度曲线,其中电流密度随电压增加而降低。
ground 接触上的 JV(jv_contact0.csv)。
绘图窗口显示 change 接触的电压–电流密度曲线,其中电流密度在正向偏压下强烈上升。
change 接触上的 JV(jv_contact1.csv)。
放大的 JV 图,突出显示拐点区域以及开路电压附近的过渡。
JV 行为的放大视图(有助于检查拐点并更清楚地读取 VOC)。
✅ 预期结果

在受光照条件下,在 0 V 时你应当在接触处观察到非零电流幅值(该组件的 JSC)。 随着电压升高,电流会在 VOC 附近接近零,然后在正向偏置下改变符号。 如果 JV 曲线看起来是平的(几乎处处接近零),这通常表示电路断开、接触缺失,或者几何结构/接触掩膜不匹配。

步骤 4:检查求解器网格和电路表示

大面积仿真可能因为几何原因而失败(接触放置错误、区域缺失、意外间隙),因此了解应该查看哪里很有用。 特别是:

这些文件的示例视图显示于 ??????。 从概念上讲,这与求解一个标准电路是一样的:节点 + 连线 + 基尔霍夫定律——只是规模大得多。

求解器几何结构的 3D 网格视图,显示简化的三角形表示和边界形状。
device.csv:求解器使用的简化网格表示。 如果几何结构有问题,通常会在这里很明显地表现出来。
表示从 electrical-nodes.csv 提取出的电路中电学节点的表格或图。
electrical_nodes.csv:计算中使用的基尔霍夫电流节点。

步骤 5:定位光学设置(Transfer Matrix)

该组件仿真包含光学产生,你可以在 Optical 功能区中找到光学工具 (??)。 点击 Transfer Matrix 以打开 Transfer Matrix 窗口。

重要:在本教程中不要从这里运行 Transfer Matrix 工具。 Transfer Matrix 窗口本质上是穿过堆栈的一个1D视图,而该仿真是3D的。 它对于配置以及检查材料/堆栈设置是否合理很有用,但不能替代你刚刚运行的完整 3D 光学阶段。 现在,请打开它并点击 Configure——在 C部分 中,当我们开始进行受控更改时,会使用这个入口点。

OghmaNano 光学功能区工具栏,显示 Light sources、Transfer Matrix、Optical outcoupling、Ray tracing editor、Optical detectors、FDTD simulation、Mode calculator 及相关工具。
Optical 功能区。点击 Transfer Matrix,然后打开 Configure(在本 3D 教程中不要从这里运行 1D 计算)。

步骤 5:定位光学设置(Transfer Matrix)

该组件仿真包含光学产生,你可以在 Optical 功能区中找到光学工具 (??)。 点击 Transfer Matrix 以打开 Transfer Matrix 窗口。

重要:在本教程中不要从这里运行 Transfer Matrix 工具。 Transfer Matrix 窗口本质上是穿过堆栈的一个1D视图,而该仿真是3D的。 它对于配置以及检查材料/堆栈设置是否合理很有用,但不能替代你刚刚运行的完整 3D 光学阶段。

相反,请点击 Configure(齿轮)选项,以打开 ?? 所示的光学配置面板。

OghmaNano Transfer Matrix 配置面板,显示 photon efficiency 设置为 0.6 以及其他求解器设置。
Transfer Matrix 配置面板。本教程中的关键参数是 Photon efficiency(此处设为 0.6),它用于缩放有多少光学吸收转化为可用光电流。

Photon efficiency 与太阳能电池二极管方程

Photon efficiency(在这一简化语境中有时也称为内部量子效率因子)是一个标量乘子, 它告诉模型:被吸收的光子中有多少比例真正产生了可提取的载流子(电子和空穴)。 如果 photon efficiency 为 0,则没有光电流。如果它为 1,那么(在这一简化图景中) 每个被吸收的光子都对光电流有贡献。在大多数真实器件中,约 0.6 的数值是一个合理的量级。

用二极管语言来说,你可以将其看作对受光照二极管方程中光电流项的缩放:

$$ J(V) = J_0\left[\exp\!\left(\frac{qV}{nk_\mathrm{B}T}\right)-1\right] - \eta_{\mathrm{ph}}\,J_{\mathrm{ph}} $$

这里,\(J_0\) 是二极管饱和电流密度,\(n\) 是理想因子,而 \(J_{\mathrm{ph}}\) 是由光学模型预测的光电流密度 (即由吸收光子/产生计算得到)。参数 \(\eta_{\mathrm{ph}}\) 是来自 ??Photon efficiency, 它只是简单地对光电流项的贡献进行缩放。 设置 \(\eta_{\mathrm{ph}}=0.6\) 在这个有效模型中意味着“60% 的吸收光子转化为可提取载流子”。

在实际中:如果你的仿真 \(J_\mathrm{SC}\) 与实验严重不匹配,并且你确信电路模型的电学部分是合理的, 那么 \(\eta_{\mathrm{ph}}\) 是你可以用来使绝对电流水平与实验对齐的最快调节旋钮之一。它极不可能大于 1; 如果你发现需要 \(\eta_{\mathrm{ph}} > 1\),这通常说明其他地方有问题(例如,光学常数 / 吸收系数不一致)。

🧪 任务:探索 Photon efficiency

  1. 打开 Optical 功能区并进入 Transfer Matrix → Configure??)。
  2. Photon efficiency0.6 改为较低的值(例如 0.3),重新运行仿真,并观察接触 JV 曲线如何变化。
  3. 尝试较高的值(例如 0.9)并重新运行。\(J_\mathrm{SC}\) 和整体 JV 曲线形状会发生什么变化?
  4. 完成后,将 Photon efficiency 设回 0.6。

👉 下一步:继续进入 C部分 ,在那里我们将开始修改参数并解释组件尺度上的损耗(串联电阻、接触限制以及光学产生效应)。