ryujimiyaの日記

C#を使って数値解析したい

周波数領域FEMのためのPeriodic Boundary Conditionsを用いたフォトニック結晶導波路の伝達問題

1, はじめに

フォトニック結晶導波路をFEMで解析するとき、時間領域FEMではPeriodic Boundary Contions(PBC)はうまくいきませんでした。

しかし、時間領域FEMのPBGでは最初はそんなに問題なさそうな時間変化をするので1周波数でないのがPBGの精度劣化につながっているのではないかと思いました。

一方、周波数領域FEMでは、1つの周波数について計算するのでPBGがうまくいくのではないかと思い試してみました、

PBCは、

u1 = u2exp(-jβd)

です。ここでβはFloquetモードの波数、dは単位周期構造の距離です。

2. 正方格子90°ベンド

f:id:ryujimiya:20200101030512j:plain

f:id:ryujimiya:20200101030526j:plain

f:id:ryujimiya:20200101030535j:plain

f:id:ryujimiya:20200101031136j:plain

f:id:ryujimiya:20200101031147j:plain

f:id:ryujimiya:20200101031158j:plain

f:id:ryujimiya:20200101031208j:plain

やや|S11|が他の方法での結果より大きいですがおよそ一致した結果が得られました。

3. 三角形格子60°ベンド

f:id:ryujimiya:20200101031222j:plain

f:id:ryujimiya:20200101031249j:plain

f:id:ryujimiya:20200101031302j:plain

f:id:ryujimiya:20200101031311j:plain

f:id:ryujimiya:20200101031320j:plain

f:id:ryujimiya:20200101031329j:plain

f:id:ryujimiya:20200101031341j:plain

f:id:ryujimiya:20200101031351j:plain

|S11|^2 + |S21|^2 = 1になっていないが傾向は他の方法で計算した結果とおよそ一致しています。

4, まとめ

周波数領域FEMにPeriodic Boundary Conditions(PBC)を適用しました。

時間領域FEMではPBCはうまくいかなかったが周波数領域FEMではPBCで良好な結果が得られました。

ソースコード

下記のIvyFEM.dllおよびサンプルアプリを参照してください。

https://github.com/ryujimiya/IvyFEM

github.com