|
Superfish
|
電磁場解析SUPERFISH二次元軸対称TMモード二次元軸対称電磁場TMモード解析プログラム SUPERFISHの使い方について説明します. 目次インストール方法Los Alamos National LaboratoryのDownload Area for Poisson Superfishのページの左の方にある Download をクリックすれば,インストーラーのダウンロードエリアに行ける.いろいろ聞かれるが,適当に答えるとダウンロードができる.ダウンロードしたファイル—PoissonSuperfish_7.18.exe—をダブルクリックすればインストーラーが起動する.途中,いろいろ聞かれるが,適当に答えればよい. 計算方法解いている偏微分方程式本プログラムは二次元軸対称(r,z)座標系での時間調和電磁場($ e^{-i\omega t}$)のTMモードを扱う.円筒座標系において,軸方向成分$E_z(r,z)$を主変数として扱うと,真空中(比例定数$\mu,\epsilon$)での支配方程式はスカラーのHelmholtz方程式に帰着する: $$ \frac{1}{r}\frac{\partial}{\partial r}\left(r\frac{\partial E_z}{\partial r}\right)+\frac{\partial^2 E_z}{\partial z^2}+k^2 E_z=0,\qquad k^2=\omega^2\mu\epsilon. $$この方程式は導出上,Maxwell方程式(無電荷・無電流)から始まり,$\partial/\partial\phi=0$(軸対称)かつTMモード(磁場が周方向成分を持ち,電場の主要成分は$E_z$)を仮定して得られる.導出の概略は次の通りである:
境界条件:導体表面では伸長電場が消えるため $$ E_z=0\quad\text{(導体表面)} $$開放境界や対称軸($r=0$)では適切な対称条件や吸収境界条件(PML 等)を用いる. 有限要素法による式Helmholtz方程式を有限要素法で近似するため,まず重み付き残差法(変分法)により弱形式を導く.試験関数を$v(r,z)$とすると,円筒座標の体積要素は$r\,dr\,dz$であるため,弱形式は次の形になる: $$ \int_\Omega \left[\left(\frac{1}{r}\frac{\partial}{\partial r}\left(r\frac{\partial E_z}{\partial r}\right)+\frac{\partial^2 E_z}{\partial z^2}\right)v + k^2 E_z v\right] r\,dr\,dz =0. $$部分積分を行い,境界での自然境界項を取り除くと(Dirichlet境界で$E_z=0$として),弱形式はより標準的な形になる: $$ \int_\Omega \left(\frac{\partial v}{\partial r}\frac{\partial E_z}{\partial r}+\frac{\partial v}{\partial z}\frac{\partial E_z}{\partial z}\right) r\,dr\,dz -\int_{\partial\Omega}\! v\,\frac{\partial E_z}{\partial n} r\,ds + k^2\int_\Omega v E_z r\,dr\,dz =0. $$Dirichlet 境界(導体)では第2項は消える.これを有限要素分解で近似する:局所基底関数$N_i$の線形結合で$E_z\approx\sum_j N_j c_j$,試験関数にそれらを取ると離散化により一般化固有値問題が得られる: $$ K\mathbf{c}=\omega^2 M\mathbf{c}, $$ここで剛性行列$K$と質量行列$M$は要素毎の積分で組み立てられる: $$ K_e=\int_{\Omega_e} (B^T B)\, r\,dA,\qquad M_e=\int_{\Omega_e} (N^T N)\, r\,dA, $$ただし,$B$は基底関数の勾配($\partial/\partial r,\partial/\partial z$を並べた行列),$N$は基底関数ベクトルである.数値積分(ガウス積分)を用いて各要素で評価し,グローバル行列へ組み立てる. 要点:
固有値探索と固有ベクトルの計算有限要素法の離散化により得られる一般化固有値問題は $$ K\mathbf{c}=\lambda M\mathbf{c},\qquad \lambda=\omega^2 $$である.固有周波数は$\omega=\sqrt{\lambda}$,周波数$f=\omega/(2\pi)$で与えられる.数値的には以下の方法が用いられる:
反復法で得られた固有ベクトル$\mathbf{c}$(離散化された$E_z$の係数)は正規化して物理量に結び付ける.例えば電場エネルギーで正規化する場合: $$ W=\frac{1}{4}\int_\Omega \epsilon |\mathbf{E}|^2\,dV = \frac{1}{4}\mathbf{c}^T M_\epsilon \mathbf{c}, $$ここで$M_\epsilon$は誘電率を重みとする質量行列であり,必要に応じて$\mathbf{c}$を$W=1$にスケーリングする.またモードの直交性は質量行列に関して成り立つ: $$ \mathbf{c}_i^T M \mathbf{c}_j =0\quad (i\neq j). $$数値実装上の注意:
参考:Superfish の入門・物理解説は[references/Docs/SFINTRO.DOC](references/Docs/SFINTRO.DOC#L1)および[references/Docs/SFPHYS1.DOC](references/Docs/SFPHYS1.DOC#L1)等に詳しい。 入力データ
図の調整Poissonも同様であるが,Superfish の計算結果の図で余白が大きすぎ見苦しいことがある.この場合,以下のようにして調整できる.もっと,良い方法があるかもしれませんが,私の方法です.
ページ作成情報参考資料更新履歴
|