メニュー

技術情報 Techinicalinfo

  1. ホーム
  2. 技術情報
  3. 【技術情報】有限要素法入門
  4. 5.3 固有値解析

【技術情報】有限要素法入門

5.3 固有値解析


高周波電磁場に関する有限要素法の方程式(5.2-5)式は右辺の電流による駆動源がない場合もゼロでない解をもつことがあります。
それはこの方程式の右辺をゼロにして少しかきなおした方程式、
\begin{equation}
KA=\omega^2CA \tag*{$(5.3-1)$}
\end{equation}
が一般固有値方程式の形をしているからです。ここで、
\begin{equation}
\lambda\equiv\omega^2 \tag*{$(5.3-2)$}
\end{equation}
とすればこの $\lambda$ が固有値となります。この方程式の行列 $K$ および $C$ はどちらも実対称行列です。
この方程式にはすでに境界条件が適用されているとします。
例えば金属に囲まれた空洞の場合、境界はすべて金属なので電場はこの面に垂直であるという境界条件を付けることが出来ます。
もちろんこれは完全導体としての近似ですが表皮層が非常に薄い場合は良い近似になります。
このような場合電磁波は電磁場の駆動源である電流などがなくても共振周波数で振動する電磁場が存在できます。
(5.3-1)式を変形すると、
\begin{equation}
(K-\lambda C)A=0 \notag
\end{equation}
となりますが、この方程式がゼロ以外の解をもつためにはこの行列の行列式がゼロとなる必要があります。
\begin{equation}
|K-\lambda C|=0 \tag*{$(5.3-3)$}
\end{equation}
この方程式はこの方程式の次数を $n$ とすれば $\lambda$ の $n$ 次方程式となるので $n$ 個の解を持ちます。この解は実数であることが次のようにしてわかります。
ここで $M$ を行列としたとき転置した行列を $M^T$、転置して複素共役をとった行列を $M^\dagger$ とかけば、(5.3-1)式の両辺に左から $A^\dagger$ をかけて、
\begin{equation}
A^\dagger KA=\lambda A^\dagger CA \tag*{$(5.3-4)$}
\end{equation}
ですが、この両辺の複素共役をとれば左辺は次のようになります。
\begin{equation}
(A^\dagger KA)^\dagger=A^\dagger K^\dagger A=A^\dagger KA \notag
\end{equation}
ここで $()^*$ は複素共役の記号です。また行列 $K$、$C$ が実対称行列なので、、
\begin{equation}
K^\dagger=K \hspace{10mm} C^\dagger=C \notag
\end{equation}
となります。右辺も同様に、
\begin{equation}
(\lambda A^\dagger CA)^*=\lambda^*A^\dagger C^\dagger A=\lambda^*A^\dagger CA \notag
\end{equation}
となり、次の式が得られます。
\begin{equation}
A^\dagger KA=\lambda^*A^\dagger CA \tag*{$(5.3-5)$}
\end{equation}
(5.3-4)式から(5.3-5)式を引くと次のようになります。
\begin{equation}
(\lambda-\lambda^*)A^\dagger CA=0 \notag
\end{equation}
ここで、行列 $C$ が正定値行列であれば、
\begin{equation}
A^\dagger CA\neq 0 \notag
\end{equation}
なので、
\begin{equation}
\lambda^*=\lambda \notag
\end{equation}
となり固有値 $\lambda$ は実数となります。したがって、(5.3-1)式は重根を含めて $n$ 個の実数の固有値を持つことになります。

今、$i$ 番目の固有値を $\lambda_i$ としこれに対応する固有ベクトルを $A_i$ とかけば、
\begin{equation}
KA_i=\lambda_iCA_i \tag*{$(5.3-6)$}
\end{equation}
とかけます。また $i$ とは異なった番号の $j$ 番目の固有値 $\lambda_j$ に対しては次の式が成立します。
\begin{equation}
KA_j=\lambda_jCA_j \notag
\end{equation}
この式の両辺に左から $A_i^\dagger$ をかけると、
\begin{equation}
A_i^\dagger KA_j=\lambda_jA_i^\dagger CA_j \tag*{$(5.3-7)$}
\end{equation}
となります。次に(5.3-6)式の両辺に左から $A_j^\dagger$ をかけると次のようになります。
\begin{equation}
A_j^\dagger KA_i=\lambda_iA_j^\dagger CA_i \notag
\end{equation}
両辺の複素共役をとると、行列 $K$ と $C$ が実対称行列であるのと固有値が実数であることから次の式となります。
\begin{equation}
A_i^\dagger KA_j=\lambda_iA_i^\dagger CA_j \tag*{$(5.3-8)$}
\end{equation}
(5.3-7)式からこの式を引けば次式となります。
\begin{equation}(\lambda_j-\lambda_i)A_i^\dagger CA_j=0 \tag*{$(5.3-9)$}
\end{equation}
ここで $i$ と $j$ は固有値の異なる番号なのでこの番号に対する固有値が異なっている場合、すなわち縮退していない場合、
\begin{equation}
A_i^\dagger CA_j=0 \tag*{$(5.3-10)$}
\end{equation}
となり、異なった固有値を持つ固有ベクトルどうし行列 $C$ に対して直交することが分かります。
これは二つのベクトル $U$、$V$ の直交、
\begin{equation}
U^\dagger V=0 \notag
\end{equation}
という概念の拡張です。また縮退とは異なった固有値番号の固有値が複数同じ値となることで、これに対応する固有ベクトルはこの数だけの次元の空間を張っています。したがってこの空間でこれらの固有ベクトルをグラムシュミットの直交化などで直交にすることが出来ます。
このようにすると、固有ベクトルは固有値方程式の次数だけの行列 $C$ に関する直交したベクトルとなります。
したがって、固有ベクトルはこの $n$ 次元空間の基底ベクトルとして使うことが出来るようになります。

固有ベクトルを規格化し基底ベクトルとして $e$ で表すと次のようにかけます。
\begin{equation}
e_i^\dagger Ce_j=\delta_{ij} \tag*{$(5.3-11)$}
\end{equation}
ここに $\delta_{ij}$ はクロネッカのデルタです。
このように基底ベクトルを定めると任意のベクトルは次のようにかけます。
\begin{equation}
v=\sum_{i=1}^na_ie_i \tag*{$(5.3-12)$}
\end{equation}
ここに $a$ は係数で(5.3-11)式を使うと次のように求めることが出来ます。
\begin{equation}
e_i^\dagger v=e_i^\dagger\sum_ja_je_j=\sum_ja_je_i^\dagger e_j=\sum_ja_j\delta_{ij}=a_i \notag
\end{equation}
すなわち任意のベクトルを固有ベクトルを規格化した基底ベクトルで表した場合その係数は、
\begin{equation}
a_i=e_iv \tag*{$(5.3-13)$}
\end{equation}
として求めることが出来ます。

基底ベクトルは固有ベクトルなので当然次の式をみたします。
\begin{equation}
Ke_j=\lambda_jCe_j \tag*{$(5.3-14)$}
\end{equation}
この式の両辺に $e_i^\dagger$ をかけると次のようになります。
\begin{equation}
e_i^\dagger Ke_j=\lambda_je_i^\dagger Ce_j=\lambda_j\delta_{ij} \tag*{$(5.3-15)$}
\end{equation}
これよりこの基底ベクトルは行列 $K$ に関しても直交していることが分かります。

ここでは高周波電磁場について周波数応答解析の基礎方程式として(5.2-5)式を扱ってきました。
\begin{equation}
(-\omega^2C+K)A=F \notag
\end{equation}
この式は、元の時間に依存する方程式、
\begin{equation}
C\frac{\partial^2}{\partial t^2}A(t)+KA(t)=F(t)  \tag*{$(5.3-16)$}
\end{equation}
を周波数応答としてフェザー表示で表したものでした。ここからはこの方程式に戻り、過渡応答解析について述べます。

この方程式の解であるベクトルポテンシャルを表すベクトル $A(t)$ を固有値方程式、
\begin{equation}
KA=\lambda CA \tag*{$(5.3-17)$}
\end{equation}
の固有ベクトルから構成された基底ベクトルで展開すると次のように表せます。
\begin{equation}
A(t)=\sum_ja(t)e_j \tag*{$(5.3-18)$}
\end{equation}
これを(5.3-16)式に代入すると次のようになります。
\begin{equation}
\sum_j\frac{d^2a_j(t)}{dt^2}Ce_j+\sum_ja_j(t)Ke_j=F(t) \notag
\end{equation}
この式の左から $e_i^\dagger$ をかけて(5.3-11)式と(5.3-15)式を使うと次式が得られます。
\begin{equation}
\frac{d^2a_i(t)}{dt^2}+\lambda_ia_i(t)=e_i^\dagger F(t) \tag*{$(5.3-19)$}
\end{equation}
この方程式は固有値ごとの独立した方程式なので比較的簡単に解くことが出来ます。また通常の高周波電磁場では比較的低い固有値のベクトルの占める割合が多いので全ての固有値と固有ベクトルを求める必要はなく小さな固有値から順番に必要な数だけ求めても良い近似となることが多くあります。ただしどの程度とればよいかは問題にもよりますので一概に言えません。

ここで使った基底ベクトルのことを電磁波のモードとよび、ここで行ったような計算を行うことをモーダル解析とよんでいます。
この計算では固有値方程式(5.3-17)式を解く必要があります。このような固有値を解く方法としては行列の次数が少ない場合はヤコビ法などが使えますが、次数が大きくなるとサブスペース法やランチョス法などを使う必要があります。ここではこれら解法を具体的には述べませんが高周波電磁場を扱うさい注意しておかないといけないことがあります。

それはこの固有値方程式にはゼロ固有値が存在するからです。ここでの行列 $K$ は要素行列(5.2-3)式から構成されてますので回転演算子を作用させてゼロとなるようなスカラー場の勾配で表されるベクトルに作用させるとゼロとなってしまいます。このようなベクトルは(5.3-17)式のゼロ固有値を持つベクトルとなります。固有値方程式を解くさいこのようなゼロ固有値があると解くのが難しくなるので取り除く必要があります。

行列 $K$ の次数は拘束条件によって拘束された辺を除いた辺の数でこれを $n$ とすれば $n$ 行 $n$ 列の行列です。一方節点にスカラー場がある場合拘束のない節点の数だけの自由度を持っておりこの数を $m$ とします。
この節点のスカラー場をこの自由度の次数を持つベクトル $\phi$ で表します。これに作用して辺における勾配ベクトルを求める行列を $G$ とします。
これは、$n$ 行 $m$ 列の行列でスカラー場の勾配ベクトル、
\begin{equation}
V_0=G\phi \tag*{$(5.3-20)$}
\end{equation}
をスカラー場 $\phi$ から作ります。
このベクトルに $K$ を作用させるとゼロになります。
\begin{equation}
KV_0=KG\phi=0 \tag*{$(5.3-21)$}
\end{equation}
$\phi$ は $m$ 個の成分を持ったベクトルなので $m$ 個の独立なベクトルが存在し、そのすべてのベクトルに対してこの式が成立します。
ここで $KG$ は $n$ 行 $m$ 列の行列なので、これが成り立つためには、
\begin{equation}
KG=0  \tag*{$(5.3-22)$}
\end{equation}
である必要があります。この独立なスカラー場のベクトルの一つを $\phi^\alpha$ とかけば、
\begin{equation}
V_0^\alpha=G\phi^\alpha \tag*{$(5.3-23)$}
\end{equation}
も(5.3-21)式をみたします。

固有値方程式(5.3-17)式にこれを代入すると次のようになります。
\begin{equation}
0=\lambda CV_0^\alpha \notag
\end{equation}
全ての $\alpha$ に対して、
\begin{equation}
CV_0^\alpha=0 \notag
\end{equation}
となれば行列 $C$ がゼロ行列になるので、
\begin{equation}
CV_0^\alpha\ne 0 \notag
\end{equation}
です。これより、この場合固有値 $\lambda$ がゼロとなり、ベクトル $V_0^\alpha$ は固有値ゼロを持つベクトルとなります。

ここでベクトル $V$ からこれらゼロ固有値を持つベクトルの成分を取り去り全てのゼロ固有値を持つベクトルと直交するようにすることを考えます。
そのために、
\begin{equation}
V_n=V-\sum_\alpha a_\alpha V_0^\alpha \tag*{$(5.3-24)$}
\end{equation}
とおき、全ての $\alpha$ に対して、
\begin{equation}
(V_0^\alpha)^TCV_n=0 \tag*{$(5.3-25)$}
\end{equation}
を要請します。ここで左辺をかきなおすと次のようになります。
\begin{equation}
(V_0^\alpha)^TC(V-\sum_\beta a_\beta G\phi^\beta)=(V_0^\alpha)^TC(V-G\phi) \notag
\end{equation}
ここに、
\begin{equation}
\phi=\sum_\beta a_\beta\phi^\beta \notag
\end{equation}
としました。これより(5.3-23)式を使うと次のようになります。
\begin{equation}
(G\phi^\alpha)^TC(V-G\phi)=(\phi^\alpha)^TG^TC(V-G\phi)=0 \notag
\end{equation}
これが全ての $\alpha$ について成り立つためには次式が成立する必要があります。
\begin{equation}
G^TC(V-G\phi)=0 \notag
\end{equation}
これより、
\begin{equation}
G^TCG\phi=G^TCV \tag*{$(5.3-26)$}
\end{equation}
を解き $\phi$ を求めることによって、全てのゼロ固有値を持つベクトル空間と直交するベクトルが求まります。
\begin{equation}
V_n=V-G\phi \tag*{$(5.3-27)$}
\end{equation}