Home Examples Screenshots User manual Bluesky logo YouTube 中文
OghmaNano Simulate organic/Perovskite Solar Cells, OFETs, and OLEDs DOWNLOAD

拟合实验数据

1. 概述

正如你可以将二极管方程拟合到暗态 JV 曲线以提取理想因子一样,OghmaNano 允许你将完整器件模型直接拟合到实验数据。通过将仿真校准到你的测量结果,你可以在自洽框架内恢复具有物理意义的参数——迁移率、陷阱态密度、接触电阻、复合系数。与简单的解析公式相比,基于物理的拟合能够保留光学–电学耦合,并对控制性能的机制提供更丰富、更可靠的洞察。本教程介绍 OghmaNano 中的拟合工作流,并展示如何选择变量、选择最小化器,以及运行高效、可复现的拟合。

2. 你的第一次拟合

OghmaNano 包含若干演示仿真,用于说明如何将模型拟合到实验数据。其中一个以简单的漂移–扩散模型为例。要访问它,请点击文件功能区中的 新建仿真 图标以打开 新建仿真 窗口(图 ??)。 在此处,双击 脚本与拟合 类别以打开图 ?? 所示的文件夹。 选择 拟合与参数提取 示例以加载演示项目。 打开后,它会启动一个简单的太阳能电池仿真(图 ??)。 尽管该演示聚焦于太阳能电池,但拟合引擎可以应用于任何仿真与实验数据集。

OghmaNano 中的“新建仿真”窗口,显示不同器件类别。“脚本与拟合”类别已高亮显示。
新建仿真 窗口。选择 脚本与拟合 类别以访问拟合示例。
已打开“脚本与拟合”文件夹,并高亮显示“拟合与参数提取示例”。
脚本与拟合 文件夹中。双击 拟合与参数提取示例 以加载演示项目。

保存新仿真后,将出现主仿真窗口(??)。 在此处,导航到 自动化 功能区(红色高亮)并选择 拟合到实验 图标,以进入拟合窗口 ??

OghmaNano 自动化功能区中高亮显示“拟合到实验”图标,主窗口中显示一个 3D 太阳能电池器件结构。
OghmaNano 的 自动化 功能区,显示 拟合到实验 图标。 选择该选项将打开主拟合窗口。
OghmaNano 拟合窗口,工作区中已加载一条实验 JV 曲线。
拟合窗口首次打开时的界面,显示已导入的光照 JV 实验数据集,已准备好进行拟合。

拟合窗口控制优化的执行方式:它指定使用哪些实验数据集,以及调整哪些仿真变量。 你可以拟合单个数据集(如这里所示),也可以同时拟合多个数据集,以获得更受约束的参数提取。 在图 ?? 中, 蓝线表示将用于拟合的实验 JV 曲线。

💡 实践练习:使用拟合窗口

  1. 任务 1 – 一次迭代: 点击 一次迭代 按钮以更新拟合视图 (??a)。 在 差值 = 实验 − 仿真 选项卡中,你将看到仿真 JV(蓝色)与 实验 JV(红色)叠加显示,以及绿色的 差值 曲线,其逐点定义为 \( \Delta(V) = J_{\mathrm{exp}}(V) - J_{\mathrm{sim}}(V) \)。 一个良好的起点是绿色曲线在整个电压范围内接近零。
  2. 任务 2 – 运行拟合: 按下 运行拟合 以启动自动最小化器(再次按下将停止运行)。 在最初的几步中误差可能会短暂上升,但随后应下降,因为仿真曲线与 实验曲线逐渐收敛。切换到 拟合进度 选项卡以绘制误差随迭代变化的曲线 (??b);该图也会 保存到仿真目录中的 fitlog.csv 以便外部绘图。 在典型配置下该阶段耗时约 ~30 s。
OghmaNano 拟合窗口,在运行一次拟合迭代后显示仿真(蓝色)、实验(红色)以及差值(绿色)JV 曲线。
a) 一次拟合迭代后:仿真(蓝色)、实验(红色)与差值(绿色)JV 曲线。
OghmaNano 拟合进度窗口,显示误差函数随迭代次数下降,表明收敛。
b) 拟合进度:误差函数随迭代次数降低,显示收敛。

3. 添加与删除数据

主拟合窗口提供了一组工具栏命令,用于控制实验数据的添加、管理与拟合方式。 这些按钮允许你导入或移除数据集、配置哪些参数将被变化,以及启动或停止 拟合过程。最重要的选项包括:

4. 最小化器功能区

最小化器 功能区用于控制拟合过程中所使用的优化算法。 在该选项卡中,你可以选择要应用的最小化器(例如默认的 Nelder–Mead 下坡单纯形) 并配置其设置。该功能区还包含用于管理拟合变量、复制参数以及 应用数学规则以约束拟合的工具。通过调整这些选项,你可以控制算法如何探索参数空间, 在速度与精度之间取得平衡,并确保在拟合过程中施加具有物理意义的约束。

OghmaNano 拟合窗口,显示最小化器选项卡,其中包含拟合变量、重复变量、拟合规则以及最小化器选择(Nelder–Mead 已高亮)。
拟合窗口的 最小化器 选项卡,你可以在此选择优化算法 (例如 Nelder–Mead)并配置规则、变量复制以及最小化器设置。

5. 设置拟合变量

OghmaNano 拟合变量窗口,显示已启用与已禁用参数列表,如电荷密度、迁移率、陷阱密度与电阻,并带有最小值、最大值、误差函数与对数尺度控制项。
拟合变量 窗口。该界面允许你选择拟合时变化哪些参数, 并指定其允许范围、误差惩罚与缩放。在此启用或禁用变量将直接 控制最小化器如何探索参数空间。

要打开 拟合变量 窗口,请在拟合窗口中进入 最小化器 功能区 (图 ??)并点击 拟合变量。该面板(图 ??) 允许你选择拟合过程中哪些参数会被变化并设置其边界。为获得速度与鲁棒性, 先从一小组对称参数开始;只有在获得合理的初始拟合后,才添加更多变量(或引入不对称性)。

拟合变量 表包含七列:启用变量最小值最大值误差函数对数尺度变量(JSON)

6. 复制变量

OghmaNano 复制变量窗口,显示一个表格,将源变量(例如电子迁移率或陷阱密度)映射到目标变量,以在拟合过程中强制对称性。
复制变量 窗口。该工具在每次迭代时将 变量的值复制到 目标 变量,确保参数在拟合过程中保持对称 (例如,使电子与空穴迁移率匹配)。

最小化器 功能区打开 复制变量 窗口 (??)。 该工具会在每次迭代中将一个 参数镜像到一个 目标 参数。 在对称器件示例中,我们只拟合电子侧参数,并使用 复制变量 将其值复制到 相应的空穴参数,使它们在整个拟合过程中保持相等 (见 ??)。

函数 y = f(x) 定义了源值 x 在写入目标值 y 之前 如何进行变换。默认的 x 表示直接复制;也可以使用例如 2*x(将数值加倍)或 x + 0.05(施加偏移)等形式。

7. 拟合规则

拟合规则 窗口(??),可从 最小化器 功能区进入,允许你对拟合过程施加数学 约束。只要某个条件被违反,规则就会向误差函数添加惩罚项。 例如,你可以强制一个参数必须始终大于另一个参数,或者当某个 变量漂移到可接受范围之外时施加惩罚。这有助于使拟合保持物理意义,并防止 最小化器探索不现实的参数组合。


OghmaNano 拟合规则窗口,显示一个表格,可在变量之间定义诸如 x > y 的约束,并可启用或禁用每条规则。
拟合规则 窗口。在这里,用户可以定义诸如 x > y 的约束,以强制 参数之间的关系。如果某条规则被破坏,将向拟合中添加额外误差,引导 最小化器回到参数空间的有效区域。

💡 拟合的关键提示与技巧:

  1. 一般而言,拟合是一个棘手的过程,需要大量耐心和手动微调。不要指望 点击一个按钮就能直接工作 —— 你需要仔细操作才能得到良好的拟合。
  2. 如果拟合无法工作,可能是你对器件所做的物理假设存在问题。 该模型只能拟合物理上合理的数据,因此如果有某些量相差一个数量级, 请重新考虑你让模型完成的任务。例如,如果你始终无法让太阳能电池中的 \(J_{sc}\) 匹配,会不会是你的材料吸收的光子数量不足, 从而无法达到你期望的 \(J_{sc}\) 值?
  3. 不同的数据集提供不同类型的信息。例如,太阳能电池的暗态 JV 曲线提供 有关并联电阻、串联电阻以及一些迁移率/复合细节的洞察。而光照 JV 曲线 几乎不提供关于并联电阻的信息,因此不要指望它能给出对 \(R_{shunt}\) 的准确估计。在解释拟合参数之前, 始终要思考你的数据包含哪些信息。
  4. 拟合过程的工作方式是:1)运行一次仿真;2)计算数值结果与 实验结果之间的差异;3)调整参数;4)重新运行仿真并检查误差是否减少;5)如果 误差减少,则接受参数变化并重复该过程。这可能需要数百或数千次迭代。 因此,单次仿真必须运行得很快。例如,如果你的网格有 1000 个点,拟合时可尝试 将其减少到 10;如果你有 1000 个时间步,将其减少到 100。任何对基础仿真的加速 都会加速拟合过程。
  5. 将文件写入磁盘是任何计算过程的 最慢部分。即使是现代 SSD 的速度也大约比 主存慢 30×(例如 456 MB/s vs 12,800 MB/s,对应 PC3-12800)。使用 USB 盘、 网络存储或 OneDrive/Dropbox 等云服务会使情况更糟。为提高速度,请始终将仿真保存到本地 SSD(而不是 网络盘或机械硬盘)。
  6. 尽量减少仿真生成的文件数量。关闭不必要的输出,如快照、光学 输出或动态文件夹。配置良好的仿真通常只会生成大约 50 个文件。如果你看到上百个, 请调查原因。
  7. 虽然可以在 GUI 中进行拟合,但通常较慢。一个良好的做法是:在 GUI 中设置拟合,但从命令行运行 它们(下文给出了说明)。
  8. 由于拟合会向磁盘写入大量文件,杀毒软件可能会通过扫描每个文件来拖慢速度。如果这成为问题, 可以考虑将你的仿真文件夹从实时扫描中排除。

👉 下一步: 现在继续到 第 B 部分,了解更高级的拟合方法。