ホーム スクリーンショット ユーザーマニュアル Blueskyロゴ YouTube
OghmaNano 有機/ペロブスカイト太陽電池、OFET、OLEDをシミュレーション ダウンロード

自動化とスクリプト

1. なぜシミュレーションを自動化するのか?

デバイス構造を設定した後、次の自然なステップはしばしば次のような問いを立てることです: 「活性層の移動度を変更すると太陽電池効率はどう変化するか?」 または 「量子井戸の厚さを変化させるとレーザーの発光波長はどのようにシフトするか?」 これらの問いに答えるには、1 つ以上の材料またはデバイスパラメータを ある値の範囲にわたって系統的に変更し、その結果のデータを解析する必要があります。自動化は フィッティングおよびパラメータ抽出 においても同様に重要です。 多くの場合、モデルは実験測定値—例えば測定された J–V 曲線—にフィットさせることで、物理的に意味のあるパラメータ (例えば移動度、再結合速度、またはコンタクト特性)を抽出します。 このようなフィットを手作業で行うことは遅く、エラーが発生しやすく、再現が困難です。

個々のフィットを超えて、自動化されたシミュレーションは、 パラメータやデバイス構造を制御された方法で掃引することにより、 大規模で一貫したデータセットを生成することを実用的にします。 これらのデータセットは統計解析や 機械学習モデルのトレーニングにおいてますます重要になっています。 そこでは数千または数百万のシミュレーションが必要になる場合があります。 これらすべての場合において、自動化は設計空間を探索し、 パラメータを抽出し、デバイス物理を理解するための スケーラブルで信頼性の高い方法を提供します。

2. 自動化の例

OghmaNano は、コーディング経験のレベルやタスクの複雑さに応じて、シミュレーションを自動化するための複数の方法を提供します:

  1. パラメータスキャンウィンドウ: パラメータスキャンウィンドウ を使用すると、グラフィカルユーザーインターフェースを用いて 1 つ以上のパラメータをステップごとに変化させることができます。 コーディングの知識は不要であり、迅速な探索的研究に最適です。 この方法は、単にあるパラメータが結果にどのような影響を与えるかを確認したい場合など、 日常的な大半のユースケースをカバーします。

  2. Python スクリプト: より詳細な制御のために、OghmaNano は Python スクリプト をサポートしています。 Python はオープンソースであり、科学計算で広く使用されており、 大規模なバッチ実行を自動化したり外部解析ツールと統合したりするための 最大限の柔軟性を提供します。

  3. MATLAB スクリプト: もう 1 つの方法は MATLAB スクリプト です。 MATLAB は多くの科学者やエンジニアにとって馴染みがありますが、 商用ソフトウェアです。 GNU Octave は無料の代替ですが、現在のところ完全な JSON サポートがありません。

  4. 機械学習データ生成: 自動化されたワークフローは、デバイス構造、 材料パラメータ、または動作条件を系統的に変化させることにより、 機械学習モデルで使用するための大規模で一貫したデータセットを生成できます。

  5. 自動フィッティングおよびパラメータ抽出: 自動化は、モデルを繰り返し実行することで 実験データのフィットにも使用できます。 例えば、測定された J–V 曲線や光学スペクトルから パラメータを抽出する場合です。

3. 内部で自動化はどのように動作するか

これらすべての方法は同じ基本原理に依存しています: OghmaNano のシミュレーションファイル (sim.oghma) が体系的に編集され、 コアエンジン (oghma_core.exe) が実行されて新しい結果が生成されます。 理解しておくべき重要な点は、sim.oghma が単に JSON ファイル (sim.json) を含む ZIP アーカイブであるということです。 このファイル形式については、より詳細に こちら で説明されています。 Python、MATLAB、あるいは 任意のプログラミング言語(C、C++、Java、Perl、PHP、Ruby など)を使用して この JSON ファイルを編集できれば、OghmaNano を自動化することができます。

👉 次のステップ: 次に Oghma ファイル形式を理解する に進み、構造およびシミュレーションパラメータの保存方法について学びます。