1. 为什么要进行参数优化?
在优化器件时,工程师或科学家通常关心的是确定最优 结构,而不仅仅是探索单个参数如何变化。举一个简单的例子, 钙钛矿太阳能电池由多层组成,每一层都有一个会影响 器件性能的厚度。那么问题就变成了:每一层的最佳厚度是多少?
如果钙钛矿层做得很厚,大部分入射光将被吸收。 然而缺点是电荷载流子必须传播更远才能离开器件,这会增加 它们的驻留时间,并因此提高复合的概率。相反,如果该层 做得很薄,载流子可以更高效地被提取,但首先被吸收的光子数量会减少。
情况还会因光学干涉效应而进一步复杂化。光会在器件内部界面上发生多次反射, 从而建立起强烈依赖于所有层厚度的驻波模式。因此,单独优化某一层通常是不够的; 相反,必须同时优化多个层厚度。
为了解决这种多参数优化问题,OghmaNano 在扫描窗口中提供了一个 Fast optimizer,它可以高效搜索参数空间并 识别有利的器件配置。
2. 打开示例
在 New simulation 窗口中,在 Scripting and fitting 子主题下,有几个示例 演示了多参数优化工作流程:
- Electrical layer optimizer: 改变有机太阳能电池中两个有源层的厚度,并绘制 PCE、FF 和 VOC 随层厚度的变化。
- Optical layer optimizer (Perovskite PV): 改变钙钛矿太阳能电池中两层的厚度,并绘制每层中产生的 电流。
- Optical layer optimizer (OPV): 改变 OPV 器件中两层的厚度,并绘制每层中产生的 电流。
本页讨论的示例可通过主 窗口中的 New simulation 按钮访问。这会打开如 ?? 所示的 New simulation 浏览器。 然后,双击 Scripting and fitting 以显示自动化示例列表 (??), 接着双击 Optical layer optimizer (Perovskite PV) 以打开此处引用的示例。
3. 使用多参数优化器
打开仿真后,导航到扫描工具,它位于 Automation 功能区中。单击 Parameter scan 图标会显示一个已配置好的扫描, 其标签为 optimizer。打开此扫描会弹出 图 ?? 所示的窗口。乍一看,这个扫描窗口与上一节中描述的扫描窗口完全相同。关键区别在于 Fast optimizer 按钮已启用。当该模式 激活时,单个扫描结果不会写入磁盘。相反,相关仿真 指标会在内部收集,并在优化运行结束时统一写入一个表中。
在此示例中,钙钛矿层的厚度(dy)在 300 nm 到 500 nm 之间以 10 nm 为步长变化,而 TiO2 层的厚度(dy)则 在 100 nm 到 300 nm 之间变化,步长同样为 10 nm。尝试运行该仿真。运行完成后,使用文件管理器导航到 仿真目录并打开名为 optimize 的文件夹。在该文件夹中,您会找到一个 名为 optimizer_output.csv 的 CSV 文件。在 Excel 或 LibreOffice 中打开此文件,会得到一个 与图 ?? 所示类似的表格。
如果您仔细查看图 17.8,可以看到前两列标记为 epitaxy.layer2.dy 和 epitaxy.layer1.dy。这些就是我们在扫描窗口中决定改变的层厚度。对于器件中的每个后续层,有两列,标记为 layerX/light_frac_photon_generation 和 layerX/J。它们分别指的是该层中吸收的光的比例,以及如果该层内吸收的所有光都转化为电流时,该层所能产生的最大 电流。显然,如果光被吸收在有源层中,它很有可能被转化为电流;然而,如果光被吸收在背面金属接触层中,那么这些光被转化为电流的可能性就很小。如果您使用 Excel/LibreOffice 中包含的 排序工具,就可以找出哪些器件结构产生的电流最多。
optimizer_output.csv 文件,显示了层厚度参数以及每层的电流密度和光子产生等计算输出。