ryujimiyaの日記

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

周波数領域FEMによる高次ABCを用いた2D導波路のSパラメータの計算

1. はじめに

時間領域のFEMにおいて高次を含むABC(吸収境界条件)を用いた計算をすでに試しました。 今回は周波数領域FEM向けにABCを定式化し、導波路のSパラメータの周波数特性を計算しています。

2. 周波数領域FEMのための高次ABC(吸収境界条件)

境界の減衰定数 a _ {j1}、伝搬定数(位相定数) b _ {j2}とすると、

\displaystyle{
\prod _ {j1=1} ^ {J1} \left(
\frac{\partial}{\partial x} + a _ {j1}
\right)
\prod _ {j2=1} ^ {J2} \left(
\frac{\partial}{\partial x} + j b _ {j2}
\right) u = 0
}

が成り立ちます。これを次のように分解することで高次の微分を取り除くことができ、FEMによる定式化が可能となります。

 \left(
\frac{\partial}{\partial x} + a _ {1}
\right) \phi ^{\(1\)} _ {0} = \phi ^{\(1\)} _ {1}
 \left(
\frac{\partial}{\partial x} + a _ {2}
\right) \phi ^{\(1\)} _ {1} = \phi ^{\(1\)} _ {2}
 \vdots
 \left(
\frac{\partial}{\partial x} + a _ {J1}
\right) \phi ^{\(1\)} _ {J1-1} = \phi ^{\(1\)} _ {J1}
 \left(
\frac{\partial}{\partial x} + j b _ {1}
\right) \phi ^{\(2\)} _ {0} = \phi ^{\(2\)} _ {1}
 \left(
\frac{\partial}{\partial x} + j b _ {2}
\right) \phi ^{\(2\)} _ {1} = \phi ^{\(2\)} _ {2}
 \vdots
 \left(
\frac{\partial}{\partial x} + j b _ {J2}
\right) \phi ^{\(2\)} _ {J2-1} = \phi ^{\(2\)} _ {J2}

 J _ 1 > 0のとき、

 \phi ^{\(1\)} _ {0} = u

   J _ {2} > 0ならば、

 \phi ^{\(2\)} _ {0} = \phi ^{\(1\)} _ {J1}
 \phi ^{\(2\)} _ {J2} = 0

   J _ {2} = 0ならば、

 \phi ^{\(1\)} _ {J1} = 0

 J _ {1} = 0のとき、 J _ {2} > 0ならば、

 \phi ^{\(2\)} _ {0} = u
 \phi ^{\(2\)} _ {J2} = 0

3. 計算結果

H面導波路直角コーナーベンド
5次ABC
f:id:ryujimiya:20191020133915j:plain

遮蔽形誘電体導波路の終端
コアの屈折率n1 = 3.6、クラッドの屈折率n2 = 3.24、空気の屈折率n0 = 1.00
誘電体導波路側は1次ABC、中空導波路側は5次ABC
f:id:ryujimiya:20191020133930j:plain

開放形誘電体導波路の終端
コアの屈折率n1 = 3.6、クラッドの屈折率n2 = 3.24、空気の屈折率n0 = 1.00
周囲の境界はすべて1次ABC
ただし、誘電体導波路の上下境界はエバネセント波に対応するため、減衰定数も用いています。
f:id:ryujimiya:20191020134009j:plain

4. ソースコード

IvyFEM.dll
github.com 今回の計算はサンプルアプリケーションにあります。