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

自动化与脚本

为什么要对仿真进行自动化?

一旦建立了器件结构,下一步通常会提出诸如: “如果我改变有源层的迁移率,太阳能电池效率会发生什么变化?”“如果我改变量子阱的厚度,激光器的发射波长会如何漂移?” 之类的问题。 回答这些问题需要在一定范围内系统性地改变一个或多个材料参数, 并分析由此产生的数据。手动完成这些工作既缓慢又容易出错,也无法扩展。 自动化提供了一种更快速、更可靠的方法,用于探索设计空间并深入理解器件物理。

自动化的优势

自动化的方法

OghmaNano 提供了多种实现仿真自动化的方法,具体取决于你的编程经验水平以及任务的复杂程度:

  1. 参数扫描窗口: 参数扫描窗口 允许你通过图形用户界面以步进方式改变一个或多个参数。 无需任何编程知识,非常适合快速的探索性研究。 这种方法覆盖了大多数日常使用场景,即你只需了解某个参数如何影响结果。

  2. Python 脚本: 对于需要更精细控制的情况,OghmaNano 支持 Python 脚本。 Python 是开源的,在科学计算中被广泛使用,能够提供最大的灵活性来调整仿真参数、 自动化大规模批量运行,或与外部分析和可视化库集成。 这种方法在科研工作流中特别强大。

  3. MATLAB 脚本: 另一种选择是 MATLAB 脚本。 MATLAB 为许多科学家和工程师所熟悉,因此提供了一种易于上手的自动化方式。 其缺点在于 MATLAB 是商业软件,并非所有人都可以使用。 GNU Octave 是一个免费的替代方案,但在撰写本文时,它尚不包含 JSON 读写器,从而限制了兼容性。

自动化在底层是如何工作的

所有这些方法都依赖于相同的基本原理:系统性地编辑 OghmaNano 仿真文件(sim.oghma), 并执行核心引擎(oghma_core.exe)以生成新的结果。 需要理解的一个关键点是,sim.oghma 实际上只是一个包含 JSON 文件(sim.json)的 ZIP 压缩包。 这种文件格式在 此处 有更详细的说明。 如果你能够编辑这个 JSON 文件——无论是使用 Python、MATLAB,还是 任何编程语言(C、C++、Java、Perl、PHP、Ruby 等)——你就可以实现 OghmaNano 的自动化。

👉 下一步: 继续阅读 了解 Oghma 文件格式, 包括其结构以及仿真参数的存储方式。