技術コラム:OPTISHAPE-TSの理論

第28話 MACについて

以前、振動特性のモデルコリレーションを行う形状最適化を弊社Webページでご紹介しました。
記事の中でMACマック (Modal Assurance Criterion)と呼ばれるものに触れていましたが、今回の記事ではそれについて解説します。

*****

そもそも固有振動解析とは、モデルの剛性行列 \(\require{physics} \vb*{K}\) と質量行列 \(\vb*{M}\) が与えられたときに、固有方程式 $$ \vb*{K} \vb*{u} = \omega^2 \vb*{M}\vb*{u} $$ を満たすような固有対 \(\qty(\omega, \vb*{u})\) を求めることを表すのでした。 この固有対は自由度の数だけ \(\qty(\omega_1, \vb*{u}_1), \qty(\omega_2, \vb*{u}_2)、\dots\) のように存在するもので、固有振動解析の場合であれば一般にこのうち低次(固有振動数が小さいもの)から順に必要な数だけ求めることになります。

さて、ここで固有対 \(\qty(\omega_1, \vb*{u}_1)\) が満たす固有方程式 $$ \vb*{K} \vb*{u}_1 = \omega_1^2 \vb*{M}\vb*{u}_1 $$ の両辺に、\(\omega_1\) とは異なる固有振動数 \(\omega_2\) に対応する固有振動モード \(\vb*{u}_2\) を内積の意味でかけると、 $$ \vb*{u}_2 \cdot \qty(\vb*{K} \vb*{u}_1) = \omega_1^2 \vb*{u}_2 \cdot \qty(\vb*{M}\vb*{u}_1) $$ となります。 このうち左辺は剛性行列の対称性(\(\vb*{K} = \vb*{K}^\mathsf{T}\), \(\mathsf{T}\) は転置を表します)を利用すると $$ \vb*{u}_2 \cdot \qty(\vb*{K} \vb*{u}_1) = \vb*{u}_1 \cdot \qty(\vb*{K}^\mathsf{T} \vb*{u}_2) = \vb*{u}_1 \cdot \qty(\vb*{K} \vb*{u}_2) $$ のように変形することができます。 最後の式に対して固有対 \(\qty(\omega_2, \vb*{u}_2)\) が満たす固有方程式 $$ \vb*{K} \vb*{u}_2 = \omega_2^2 \vb*{M}\vb*{u}_2 $$ を代入すると、 $$ \vb*{u}_1 \cdot \qty(\vb*{K} \vb*{u}_2) = \vb*{u}_1 \cdot \qty(\omega_2^2\vb*{M} \vb*{u}_2) = \omega_2^2 \vb*{u}_1 \cdot \qty(\vb*{M} \vb*{u}_2) $$ のようになります。 質量行列にも対称性(\(\vb*{M} = \vb*{M}^\mathsf{T}\))があるので、この最後の式は $$ \omega_2^2 \vb*{u}_1 \cdot \qty(\vb*{M} \vb*{u}_2) = \omega_2^2 \vb*{u}_2 \cdot \qty(\vb*{M}^\mathsf{T} \vb*{u}_1) = \omega_2^2 \vb*{u}_2 \cdot \qty(\vb*{M} \vb*{u}_1) $$ のように変形できます。

式変形が少々長くなりましたが、頭から繋げていくと $$ \begin{align} \omega_1^2 \vb*{u}_2 \cdot \qty(\vb*{M}\vb*{u}_1) & = \vb*{u}_2 \cdot \qty(\vb*{K} \vb*{u}_1) \\ & = \vb*{u}_1 \cdot \qty(\vb*{K}^\mathsf{T} \vb*{u}_2) \\ & = \vb*{u}_1 \cdot \qty(\vb*{K} \vb*{u}_2) \\ & = \vb*{u}_1 \cdot \qty(\omega_2^2 \vb*{M} \vb*{u}_2) \\ & = \omega_2^2 \vb*{u}_1 \cdot \qty(\vb*{M} \vb*{u}_2) \\ & = \omega_2^2 \vb*{u}_2 \cdot \qty(\vb*{M}^\mathsf{T} \vb*{u}_1) \\ & = \omega_2^2 \vb*{u}_2 \cdot \qty(\vb*{M} \vb*{u}_1) \end{align} $$ となり、最初と最後だけを見ると $$ \omega_1^2 \vb*{u}_2 \cdot \qty(\vb*{M} \vb*{u}_1) = \omega_2^2 \vb*{u}_2 \cdot \qty(\vb*{M} \vb*{u}_1), $$ すなわち $$ \qty(\omega_1^2 - \omega_2^2) \vb*{u}_2 \cdot \qty(\vb*{M} \vb*{u}_1) = 0 $$ が成り立つことになります。 \(\omega_1\) と \(\omega_2\) は異なる固有振動数としていたので、結果として $$ \vb*{u}_2 \cdot \qty(\vb*{M} \vb*{u}_1) = 0 $$ が成り立ちます。 この式が意味するところをまとめると、異なる固有振動数に対応する固有振動モードは、質量行列を介して互いに直交するということになります。 質量行列を挟んだ積を計算したときに、0に近い値であれば異なる振動モード、なんらかの大きい値であれば同じ振動モードであると判断することができるわけです。

*****

この性質を利用して、似たような2つの構造物に対してそれぞれの固有対が得られたときに、どれがどれに対応するのかを判断しようというのがMACの利用目的となります。 ただし、質量行列の計算には手間がかかりますし、比較する2つの構造物が異なる場合はどちらの質量行列を使えばいいのかという問題も生じることなどから、質量行列は単位行列に置き換えられて単に \(\vb*{u}_1 \cdot \vb*{u}_2\) の値で判断されることが多いです。

一方で、固有振動モードの大きさには任意性があります。 ある固有振動モード \(\vb*{u}_1\) が固有方程式 $$ \vb*{K}\vb*{u}_1 = \omega_1^2\vb*{M} \vb*{u}_1 $$ の解であれば、それをどのように定数倍してもこの方程式が成り立つため、固有振動モードの大きさに関しては制約がないことになるのです。 そのため、固有振動モードの正規化といって $$ \vb*{u}_1 \cdot \qty(\vb*{M} \vb*{u}_1) = 1 $$ あるいは $$ \vb*{u}_1 \cdot \vb*{u}_1 = 1 $$ のような条件を付加的に取り入れることによって、その大きさを定める場合があります。

MACを評価する際も、その値が問題に依存しないようにするためには正規化された定義、すなわち同じ振動モードを表すときには値が1となるような定義が好まれます。 そのために、上述した \(\vb*{u}_1 \cdot \vb*{u}_2\) に含まれる固有振動モードのそれぞれを、各々の大きさ \(\sqrt{\vb*{u}_1 \cdot \vb*{u}_1}\)、\(\sqrt{\vb*{u}_2 \cdot \vb*{u}_2}\) で割ることで、 $$ \dfrac{\vb*{u}_1 \cdot \vb*{u}_2}{\sqrt{\vb*{u}_1 \cdot \vb*{u}_1}\sqrt{\vb*{u}_2 \cdot \vb*{u}_2}} $$ のように修正します。 このような定義であれば、\(\vb*{u}_1 = \vb*{u}_2\) のときに $$ \dfrac{\vb*{u}_1 \cdot \vb*{u}_1}{\sqrt{\vb*{u}_1 \cdot \vb*{u}_1}\sqrt{\vb*{u}_1 \cdot \vb*{u}_1}} = \dfrac{\vb*{u}_1 \cdot \vb*{u}_1}{\vb*{u}_1 \cdot \vb*{u}_1} = 1 $$ となり、問題に依存せず同じ振動モードであれば1、そうでなければ0を表すことになります。 モデルコリレーションの事例ページでご紹介した式 $$ \dfrac{\qty(\vb*{u}_1 \cdot \vb*{u}_2)^2}{\qty(\vb*{u}_1 \cdot \vb*{u}_1)\qty(\vb*{u}_2 \cdot \vb*{u}_2)} $$ はこの値を2乗したものとなりますが、意味するところはまったく同じです。

*****

余談になりますが(本コラムの目的としてはこちらが本題になりますが)、MACはOPTISHAPE-TSにおける固有振動数の評価でも用いられています。 OPTISHAPE-TSで採用している最適化アルゴリズムでは、形状を更新するたびに固有振動解析を行うのですが、形が変わることで固有振動モードの順番が変わってしまう場合があります。 たとえば「初期形状における3次の固有振動数を最大化したい」という設定を入力したのであれば、最適化の途中で対応する固有振動数が異なる次数になってしまったときも、それをきちんと追跡しながら最後まで最適化してほしいわけです。

そこで、形状更新の前後においてどの振動モードがどの振動モードに対応するかを判断するためにMACが使われているのです。 先ほど「似たような2つの構造物に対してそれぞれの固有対が得られたときに、どれがどれに対応するのかを判断しようというのがMACの利用目的となります」とご説明しましたが、この場合は更新前の形状と更新後の形状が「似たような2つの構造物」に対応するわけですね。 このようにして最適化の過程で振動モードを追跡することはモードトラッキングと呼ばれます。


★ご意見・ご感想はこちらへ★
https://www.quint.co.jp/cgi-bin/qrepo-impr.cgi


第27話第29話

OPTISHAPE-TSの理論 TOP



技術コラム
『OPTISHAPE-TSの理論』

  • ご意見・ご感想フォーム