大面積ペロブスカイトモジュールチュートリアル パートB:シミュレーションの実行と出力の確認
大面積モジュールのシミュレーションは単一デバイスの drift–diffusion 計算よりも複雑であるため、ソルバーが何をしているかを観察する価値があります。 この例では、OghmaNano はシミュレーションを2つの主要段階で実行します: (i) 光学ソルバー(3D光学計算)、続いて (ii) 電気回路ソルバー(回路メッシュ上のキルヒホッフ電流/電圧方程式)。 ターミナル出力は問題を早期に発見する最も迅速な方法です(例:回路の切断や接点の欠落)。
ステップ1:シミュレーションを実行する
?? に示されている Run simulation ボタン(青い三角形)をクリックします。 このシミュレーションは実行に少し時間がかかります(3D光学ステージの後に大規模な回路計算を行うため)。 実行中は Terminal タブを確認してください。ここでは収束や電流に関するリアルタイム情報が表示されます。
ステップ2:ターミナル出力の意味を理解する
これらの複雑なシミュレーションでは、ターミナル出力は「ノイズ」ではなく診断情報です。 ?? に示すように、ソルバーは最初に光学ステージを実行します。 これは3Dで計算されるため時間がかかる場合があります。光生成が準備されると、ソルバーは電気ステージを開始し、各バイアスポイントの行を出力します。
重要な行は次のようになります(設定により形式は多少異なります):
- 接点電圧: 例:
ground = 0.00 Vは接地接点が 0 V に固定されていることを意味し、change = 0.10 Vはもう一方の接点が 0.10 V にあることを意味します。 - 接点電流: 例:一方の接点で
1.58e+03 A/m^2、もう一方で-1.19e+03 A/m^2は、電流が一方の接点に流入し、もう一方から流出していることを意味します。 0 V では、これは実質的にモジュールの 短絡電流密度(JSC)です。デバイスが照射され、印加電圧がゼロでも電流を供給しているためです。 - 収束指標: 表示される
f()値は電気計算(回路メッシュ全体のキルヒホッフ方程式)のソルバー誤差/残差です。 これは「回路方程式がネットワーク全体でどれだけ満たされているか」を示す指標と考えることができます。 - 各ステップの時間: 行の最後の数値(ミリ秒)は、そのバイアスポイントを解くのにかかった時間です。
スイープの開始付近(特に 0 V 付近)では誤差が高くなることが多く、ソルバーがその点から離れるにつれて誤差が低下する場合があります。 経験則として、ソルバー誤差が 10-4 程度以下に達すると結果の信頼性が高まり、 理想的には 10-9 程度まで下がると「きれいな」収束と見なされます。 (ここに示したログ例では、スイープが進むにつれて誤差が減少していることが確認できます。)
?? では非常に有用な現象を見ることができます:
スイープの途中で接地接点の電流符号が変わり、change 接点の電流符号は逆方向に変化します。
この符号反転は、スイープが VOC を通過するときに期待される挙動です:
VOC 以下では照射されたデバイスは電力を供給し、
VOC 以上では順方向バイアスとなりダイオードのように電力を消費します。
言い換えると、接点電流の列を見れば JV 曲線が形成される様子を直接確認できることが多いのです。
💡 なぜターミナルを見るのか?
何か問題がある場合(例:回路が接続されていない、接点マスクがメッシュを外している、領域が浮いているなど)、
通常はすぐに気づきます。電流がゼロに近づいたり、意味不明な値になったり、ソルバーが f() を減少させられなくなります。
早期に発見すれば長時間待つ必要がありません。
ステップ3:出力ファイルを確認する
シミュレーションが終了すると、Output タブには
??
に示されているようなファイルが表示されます。
このチュートリアルで重要な結果は接点 JV 曲線です:
jv_contact0.csv および jv_contact1.csv。
これらには印加電圧の関数として各接点の電流密度が含まれています。
jv_contact0.csv と jv_contact1.csv をダブルクリックしてプロットします。
例は
??
と
??
に示されています。
拡大表示(VOC やニー付近の曲率を読み取るのに有用)は
??
に示されています。
jv_contact0.csv)。
jv_contact1.csv)。
✅ 期待される結果
照射条件では、0 V で接点に非ゼロの電流(モジュールの JSC)が観測されるはずです。 電圧が増加すると電流は VOC 付近でゼロに近づき、その後順方向バイアスで符号が変わります。 JV 曲線が平坦(ほぼゼロ)に見える場合、通常は回路の切断、接点の欠落、またはジオメトリ/接点マスクの不一致を示しています。
ステップ4:ソルバーメッシュと回路表現を確認する
大面積シミュレーションは幾何学的な理由(接点の位置ずれ、領域の欠落、意図しないギャップなど)で失敗する場合があるため、 確認場所を知っておくことが重要です。 特に以下のファイルを確認します:
device.csv— これはソルバーが実際に使用するメッシュのビューです。 GUI の美しくレンダリングされた 3D 表示はソルバー内部の表現とは異なります。 ソルバーはより単純な三角形表現で計算を行い、幾何学的問題がある場合はここで確認できることが多いです。electrical_links.csv— 回路リンク(ノードを接続する要素:抵抗経路 / ダイオード接続など)を一覧表示します。electrical_nodes.csv— 計算で使用されるキルヒホッフノード(電流がゼロに合計される点)を一覧表示します。
これらのファイルの例は ??、 ??、 ?? に示されています。 概念的には、これは標準的な回路解析(ノード + リンク + キルヒホッフの法則)と同じですが、より大規模なスケールで行われています。
device.csv:ソルバーが使用する簡略化されたメッシュ表現。
幾何学的問題がある場合、ここで明確に確認できることが多いです。
electrical_links.csv:キルヒホッフ計算で使用される回路リンク。
electrical_nodes.csv:計算に使用されるキルヒホッフ電流ノード。
ステップ5:光学設定(Transfer Matrix)を見つける
このモジュールシミュレーションには光生成が含まれており、光学ツールは Optical リボンにあります (??)。 Transfer Matrix をクリックして Transfer Matrix ウィンドウを開きます。
重要: このチュートリアルではここから Transfer Matrix ツールを実行しないでください。 Transfer Matrix ウィンドウは基本的にスタックの 1D 表示であり、このシミュレーションは 3D です。 材料やスタック設定の確認や構成には有用ですが、先ほど実行した完全な 3D 光学計算の代わりにはなりません。 ここでは開いて Configure をクリックしてください。パートCで制御された変更を行う際にこの入口を使用します。
ステップ5:光学設定(Transfer Matrix)を見つける
このモジュールシミュレーションには光生成が含まれており、光学ツールは Optical リボンにあります (??)。 Transfer Matrix をクリックして Transfer Matrix ウィンドウを開きます。
重要: このチュートリアルではここから Transfer Matrix ツールを実行しないでください。 Transfer Matrix ウィンドウは基本的にスタックの 1D 表示であり、このシミュレーションは 3D です。 材料やスタック設定の確認や構成には有用ですが、先ほど実行した完全な 3D 光学計算の代わりにはなりません。
代わりに、Configure(歯車)オプションをクリックして、 ?? に示されている光学設定パネルを開きます。
フォトン効率と太陽電池ダイオード方程式
Photon efficiency(この簡略化された文脈では 内部量子効率係数 と呼ばれることもあります)は、 吸収された光子のうち実際に抽出可能な電荷キャリア(電子と正孔)を生成する割合をモデルに示すスカラー乗数です。 Photon efficiency が 0 の場合、光電流は発生しません。 1 の場合、この単純化されたモデルではすべての吸収光子が光電流に寄与します。 多くの実デバイスでは 0.6 程度の値が妥当なオーダーです。
ダイオードの観点では、これは照射ダイオード方程式の光電流項をスケーリングするものと考えることができます:
ここで \(J_0\) はダイオード飽和電流密度、\(n\) は理想係数、\(J_{\mathrm{ph}}\) は光学モデルから予測される光電流密度 (すなわち吸収光子/生成計算から得られる値)です。 パラメータ \(\eta_{\mathrm{ph}}\) は ?? の Photon efficiency を表し、光電流項の寄与を単純にスケーリングします。 \(\eta_{\mathrm{ph}}=0.6\) は「吸収光子の 60% が抽出可能キャリアになる」ことを意味します。
実際には、シミュレーションされた \(J_\mathrm{SC}\) が実験と大きく一致しない場合で、 回路モデルの電気部分が妥当であると確信しているなら、 \(\eta_{\mathrm{ph}}\) は電流レベルを調整する最も迅速なパラメータの一つです。 通常は 1 を超えることはありません。 \(\eta_{\mathrm{ph}} > 1\) が必要な場合は、他に問題がある可能性が高いです (例えば光学定数や吸収係数が不一致など)。
🧪 タスク:Photon efficiency を調べる
- Optical リボンを開き Transfer Matrix → Configure を選択します (??)。
- Photon efficiency を 0.6 から低い値(例:0.3)に変更し、シミュレーションを再実行して接点 JV 曲線の変化を確認します。
- より高い値(例:0.9)も試して再実行します。\(J_\mathrm{SC}\) と JV 曲線の形状はどう変わりますか?
- 終了後、Photon efficiency を 0.6 に戻してください。
👉 次のステップ: パートC に進み、パラメータを変更しながらモジュールスケールの損失(直列抵抗、接点制限、光生成効果)を解釈します。