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

The parameter scan window

OghmaNano parameter scan アイコン
OghmaNano の parameter scan ツールアイコン。

シミュレーションパラメータを系統的に変化させる最も簡単な方法は、scan window を使用することです。この 例では、PM6:Y6 太陽電池の活性層の移動度を系統的に変化させます。この例は サンプルシミュレーションの Scripting and fitting/Scan demo (PM6:Y6 OPV) にあります。この シミュレーションを見つけて開いたら、parameter scan window を表示する必要があります。これは Automation リボンの Parameter scan アイコンをクリックすることで実行できます(?? を参照)。 次に、new scan ボタン (1) をクリックして新しい scan を作成します(サンプルシミュレーションでは、これはすでに 実行されています)。scan を表すアイコン (2) をダブルクリックして新しい scan を開いてください。?? を参照してください。これにより scan window が表示されます。?? を参照してください。

1. 変化させるパラメータの選択

scan window が開いたら、figure 17.1 のプラスアイコン (1) をクリックして新しい scan line を作成し、その後この line を選択してハイライトし (2)、続いて三点アイコン (3) をクリックして scan したいパラメータを選択します。 ここでも、サンプルシミュレーションを使用している場合、これはすでに実行されています。

OghmaNano の新しい parameter scan ウィンドウ
OghmaNano の新しい parameter scan ウィンドウ。
OghmaNano の scan line 追加ウィンドウ
Step 3: scan に scan line を追加します。
OghmaNano の parameter scan selection ウィンドウ
OghmaNano の parameter scan selection ウィンドウ。

この例では、PM6:Y6 太陽電池の電子移動度が scan 対象として選択されます。 これは epitaxy\(\rightarrow\) PM6:Y6\(\rightarrow\) Drift diffusion\(\rightarrow\) Electron mobility y に移動することで行います。 パラメータをハイライトして OK をクリックしてください。選択されたパラメータが scan リストに表示されます。 このパラメータパスの各階層の意味は以下で説明します:

このワークフローは最初は比較的複雑に見えるかもしれませんが、本質的には 基礎となる .oghma JSON ファイル内の値とパスを構造化して編集する方法です。 parameter selection window は、この ファイルを安全かつ一貫してナビゲートおよび変更するためのグラフィカルインターフェースを提供しているだけです。 ファイル構造の詳細な説明は、次のドキュメントにあります: OghmaNano ファイル形式 .

2. 値の設定

次に、scan したい移動度の値を入力します。この場合は 1e-5 1-6 1e-7 1e-8 1e-9 を入力し、その後 run scan をクリックします(figure 17.2 2 を参照)。OghmaNano は、すべての シミュレーションが完了するまで、コンピュータの各コアで 1 つずつシミュレーションを実行します。

OghmaNano parameter scan の入力値ウィンドウ
Step 6: scan したい移動度(または他のパラメータ)の入力値を入力し、その後シミュレーションを実行します。

3. シミュレーション結果の表示

シミュレーション結果を表示するには、output タブをクリックします。これにより シミュレーション出力が表示されます。figure 17.3 を参照してください。ここでは、 scan した各変数、すなわち 1e-5, 1e-6, 1e-7, 1e-8 and 1e-9 ごとにディレクトリが作成されていることが分かります。各ディレクトリの中を見ると、それはベースシミュレーションディレクトリの完全なコピーです。もし マルチカラーの JV 曲線を持つファイルをダブルクリックすると、figure 17.3 の赤い枠を参照してください。OghmaNano は自動的に 各シミュレーションのすべての曲線を 1 つのグラフにプロットします。figure 17.4 を参照してください。

OghmaNano parameter scan の output タブ
Step 7: 5 つのシミュレーションディレクトリとマルチカラーのプロットファイルを表示している Output タブ。
OghmaNano の移動度 scan による JV 曲線
Step 8: 移動度 scan の結果。

4. パラメータの複製 – 活性層厚さの変更

多くの場合、あるパラメータを変化させ、その後別のパラメータを変更した値と等しく設定したいことがあります。 簡単な例としては、対称輸送特性を持つデバイスをシミュレーションするときに電子移動度と正孔移動度を同時に scan する場合です。これは、 ?? に示すように、scan window の Duplicate 機能を使用して実現できます。この例では、もう少し微妙な問題を扱います。移動度を複製するのではなく、 活性層の物理的厚さを変更し、同時にそれに一致するよう電気メッシュも調整します。 meshing section で説明したように、 活性層の幅は電気メッシュの幅と一致している必要があります。 数値的および幾何学的なシミュレーションの不整合を避けるため、これらは一貫している方がよいです。

層幅を layer editor で手動変更すると、OghmaNano は自動的に電気 メッシュを更新します。しかし、モデルがスクリプトや parameter scans によって変更される場合、この更新は 自動的には実行されないことがあります。そのため、以下の例では、関連するパラメータを明示的に複製します。

最初に、以下を scan します:

epitaxy\(\rightarrow\)PM6:Y6\(\rightarrow\)dy of the object

次に、別の scan line を追加し、Parameter to scan で以下を選択します:

mesh\(\rightarrow\)mesh_y\(\rightarrow\)segment0\(\rightarrow\)len

このパラメータは次の値に設定されます:

epitaxy\(\rightarrow\)PM6:Y6\(\rightarrow\)dy of the object

これは Operation ドロップダウンメニューを使用して行います。選択されると、Values 列の下に duplicate という語が表示されます。

シミュレーション実行時には、 “epitaxy\(\rightarrow\)PM6:Y6\(\rightarrow\)dy of the object” が scan され、 “mesh\(\rightarrow\)mesh_y\(\rightarrow\)segment0\(\rightarrow\)len” が自動的にそれに追従するため、メッシュ厚さが物理層厚さと一貫して保たれます。

OghmaNano の材料パラメータ複製
材料パラメータの複製。

5. 定数値の設定

定数パラメータと scan パラメータを示す OghmaNano parameter scan editor
scan パラメータと定数パラメータの混在を示す parameter scan editor。

パラメータを scan することに加えて、parameter scan editor は constant 操作を使用してパラメータを明示的に固定値へ設定することにも使えます。 これは、あるパラメータを変化させる間に複数のパラメータを 変更しないままにしておく必要がある場合に有用です。

この例では、活性層の厚さはデバイス層の dy パラメータを scan することで変化させます。同時に、対応する 垂直メッシュセグメント長は複製され、電気メッシュが 変化する層厚さと一貫するようにします。これらの scan パラメータに加えて、 電子移動度と正孔移動度の両方が、 Operation 列の constant オプションを使用して固定値に設定されます。

constant を使用すると、他のパラメータがどう変化しても、 scan 内のすべてのシミュレーションにおいてこれらのパラメータが指定値を取ることが保証されます。 これにより、幾何形状変化 (層厚さなど)の効果を輸送パラメータから明確に分離でき、 scan 対象量同士の意図しない 結合を避けることができます。

6. ループに相当する機能

パラメータ範囲を scan する際には、多数のシミュレーションを実行したいことがよくあります。 そのような場合、すべての値を手動入力するのは非現実的です。これに対処するため、OghmaNano は scan window 内でループに相当する機能を提供しています。

たとえば、パラメータを 100 から 400 まで 1 刻みで変化させるには、 次のように入力できます:


[100 400 1]

7. scan window の限界

scan window は、材料またはデバイスパラメータを変化させ、 結果を素早く可視化するための実用的で簡単な方法を提供します。単純な検討では—目的が、ある量が どのように変化するかを理解し、数秒以内に結果を得ることである場合—しばしばこれが最も効果的な手法です。

しかし、シミュレーション数が大きくなったり、より複雑なパラメータ相互作用が 必要になったりすると、scan window は制約となることがあります。そのような場合には、 たとえば PythonMATLAB を介してスクリプトインターフェースから OghmaNano をプログラム的に操作する方が適切です。 これにより、パラメータ生成、実行ロジック、およびデータ収集を完全に制御できます。

同様に、目的が単に曲線がパラメータに応じてどう変わるかを見ることではなく、 デバイススタックを最適化することであるなら、通常は内蔵の最適化ツールを使用する方が適切です。これらは マニュアルの multiparameter device optimizer セクションで説明されています。

👉 次のステップ: 次は Multiparameter Optimization に進んでください。 ここでは、複数のデバイスパラメータを同時に最適化する方法を学ぶことができます。