Lumerical FDTDとLumerical MODEにおけるブロッホ境界条件(Bloch boundary conditions)
目標:
Lumerical FDTDとLumerical MODEにおけるブロッホ境界条件(Bloch Boundary Conditions)がどのような時に使用されるか、また、周期境界条件との違いについて説明します。
ブロッホ境界条件は様々な状況で使用されますが、最も一般的な場合では、平面波光源が周期構造に対してある角度をもって照射するシミュレーションの場合に使用されます。
BFAST平面波が用いられる場合はブロッホ境界条件は自動的に無視され、BFASTに組み込まれた境界条件が使用されます。
平面波光源によって照射される周期構造
ブロッホ境界条件は、上のスクリーンショットに示されてるとおり、周期的な構造が平面波光源によって照らされるようなアプリケーションで、周期的境界条件と比較すると理解しやすいと思います。周期的境界条件は、シミュレーション領域の一方の端での電磁場を反対側にコピーします。ブロッホ境界条件は、周期的境界条件と非常に似ていますが、シミュレーション領域の一方の端の電磁場を、反対の端に位相を補正してコピーしています。
この位相補正の必要性は、次の動画のように斜めに伝搬する平面波を考えると理解しやすいです。角度を持って伝搬する場合、一つの周期から次の周期へとなる電磁場が完全な周期的ではなくなり、ある量だけ位相がずれてしまいます。 ブロッホ境界条件はこの位相差を補正します。
角度をもった平面波の伝搬動画
自由空間で45度の角度をもってZ軸方向に伝搬する平面波の電場Ex
こちらは正しく設定されているシミュレーションです。、45度の角度をもった均一な波面が期待通り観測されます。ブロッホ境界条件は、X方向で使用されています。
X方向に周期境界条件を使用した以外は、上と同一の設定です。これはよくある間違いです。なぜなら、平面波のkxが0ではないからです。同様の間違いは、”set based on source angle”が使用されていない場合にも発生するでしょう。この間違いはシミュレーション境界での散乱として確認できます。
他での利用(バンド構造計算)
ブロッホ境界条件は、面内での波数ベクトル設定が重要な場合にも有用です。例えば、バンド構造計算ではブロッホ境界条件が広く用いられます。
ヒントと追加情報
垂直入射した時の光の伝搬に、ブロッホ境界条件は使えますか?
ブロッホ境界条件は、周期的境界条件の一般的な形態として理解できます。周期的境界条件を使用したシミュレーションは、その境界条件をブロッホ境界条件に置き換えても正しい結果を与えます。この入れ替えを行った場合、ブロッホ境界条件は0度の位相補正を行います。これは、一方の端の電磁場を単純に反対側の端にコピーすることと等価となります。しかしながら、計算コストのセクションで述べるように、ブロッホ境界条件の使用は周期的境界条件と比較してメモリーと時間を余分に必要とします。
計算コスト
ブロッホ境界条件を使用したシミュレーションは、それを使用しなかった場合のシミュレーションと比較して、メモリーと時間が2倍必要です。この増加は、ブロッホ境界条件を使用したシミュレーションが、デフォルトの実数値ではなく複素数値の時間領域場を使用するためです。
複素数値時間領域場を使用した際の影響
- “計算コスト”のセクションで述べたように、ブロッホ境界条件を使用したシミュレーションは、複素数値時間領域場を使用しています。そのため、計算コストの増大に加え、モニタで収集されるデータの型にも影響を及ぼします。
- Index monitors: 変化なし
- Frequency domain field monitors: 変化なし
- Time domain field monitors: 記録データは実数値ではなく複素数値です。状況によっては、複素数値データは役に立ちます。虚数部分を必要としない場合、単純にモニタデータの実数部を取って下さい。
- Time domain movie monitors: ‘Intensity’オプションが選択されると、動画は多少異なって見えます。場の各々の振動を見る代わりに、エンベロープだけが確認されます。これは次の例でご理解いただけると思います。
青い線はガウス型パルスによって変調されたsin波を表しています。
緑色の線はこの信号の絶対値|E|の2乗を表しています(次のコードのEx1)。これは実数値場を使ったシミュレーションの’Intensity’動画で見られます。
赤い線はこの信号の複素数値版の|E|^2 を表しています(次のコードのEx2)。 これは複素数値場を使用したシミュレーションの’Intensity’動画で見られます。
# Code to reproduce figure
t=linspace(0,20,1000);
w=10;
Ex1=sin(wt)exp(-(t-10)^2/5);
Ex2=exp(1iwt)*exp(-(t-10)^2/5);
plot(t,real(Ex1),abs(Ex1)^2,abs(Ex2)^2);
legend(“Real Ex”,”|Ex_real_field|^2″,”|Ex_complex_field|^2″);
角度をもった広帯域光源の入射
上で説明されたように、ブロッホ境界条件は、電磁場の位相補正を行っています。これは、Plane waves – Angled injectionのページで説明されているように、広帯域シミュレーションに重要な結論を与えます。
広帯域角度付き入射では、BFAST plane waveの使用を推奨します。
平面波光源を使用した際のブロッホベクトルの自動計算
ブロッホ境界条件と角度をもった平面波を含むシミュレーションを行う場合、下の図に示されているように、“set based on source angle” オプションを使用して下さい。この設定はブロッホ境界条件を使用する場合のみ設定できます。このオプションを使用しない場合、kx, ky, kzをそれぞれ手動で設定しなければなりません。
手動でのブロッホベクトルの設定は、バンド構造シミュレーションでは重要になります。
注意:複数の平面波光源とブロッホ境界条件をシミュレーションで用いる場合、すべての光源の帯域幅と角度が同じである必要があります。そうでない場合、警告が表示されブロッホベクトルは0に設定されます。