ryujimiyaの日記

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

1次吸収境界条件(first-order ABC)と周波数領域FEMによるH面導波管誘電体共振器の散乱パラメータの計算

時間領域FEMで完全整合層(PML)を用いる方法は計算精度が良いのですが、畳み込み積分を評価する関係で時間ステップ毎にFEM行列の組み立てを行う必要があり時間がかなりかかりました。

それに比べると、吸収境界条件(ABC)を用いる方法はFEM行列の組み立てはあらかじめ1度だけ行えばよく、計算時間は短くて済みます。しかしながら、1次吸収境界条件では精度が悪かったです。

そこで、今回は、周波数領域で1次ABCを適用するとどうなるかチェックしてみました。

 

1次吸収境界条件:(前進波)

 d Ez / dx + (jω / vpx) Ez = 0

  vpx:波の伝搬速度

 ω:角周波数

 

H面導波管誘電体共振器

比誘電率分布

f:id:ryujimiya:20130605004203p:plain

 

散乱係数の計算結果(1次ABC)

 vpxとして、TE10モードの位相速度を採用したときの結果です。

 vpx(ω) = ω / βx(ω) 

  βx(ω) = √ { ω^2 / c0^2 - (π / W )^2 }

f:id:ryujimiya:20130605004311p:plain

上パネルは観測点での複素電界Ezの比から計算した結果、下パネルは観測点を含む境界面でTE10モードを取り出して電力を求めてから計算した結果です。

あれ?精度良く計算できているようです。

 

時間領域FEMで1次ABCを用いる場合、1点の周波数における波の速度を使用して計算しますが、これが精度劣化の要因となっているようです。

周波数領域FEMでもvpxを一定値にすると計算精度の劣化が確認できました。

 

vpxを規格化周波数2W/Λ = 1.5のTE10モード位相速度としたとき:

f:id:ryujimiya:20130605011257p:plain

 

vpx = c0 (真空の光速)としたとき:

f:id:ryujimiya:20130605011339p:plain