固有値解析シミュレーターとは
🙋
「固有値解析」って何ですか? 教科書で \((K - \omega^2 M)\phi = 0\) って式を見たけど、これで何がわかるんですか?
🎓
大まかに言うと、構造物が「勝手に揺れるときの、揺れ方のセット」を見つける解析だよ。例えば、机の角をトントン叩くと、机全体が「ブーン」と決まった音で揺れるよね? あの「決まった揺れ方」が固有振動モードで、その時の速さ(周波数)が固有振動数なんだ。このシミュレーターでは、左のスライダーで質量やバネを変えて、その「揺れ方のセット」がどう変わるか、アニメーションで直感的に確かめられるよ。
🙋
え、そうなんですか! 2つの質点がくっついてるこのモデルで、どうやって「揺れ方のセット」が決まるんですか?
🎓
実務では、まず質量\(m_1, m_2\)とバネ\(k_1, k_2, k_3\)の値を決めると、運動方程式が立つ。そこから「自由振動」、つまり外から力を加えずに揺らしたらどうなるか、を考えると、あの数式が出てくるんだ。試しに、上のパラメータで\(m_1\)を大きくして確認してみて。 1次モード(ゆっくり揺れる方)のアニメーションが、重い方の質点がほとんど動かなくなるのがわかるよ。これが「モード形」の変化だ。
🙋
なるほど! 下のグラフ「周波数応答関数(FRF)」には尖った山が2つありますね。これとアニメーションの関係は?
🎓
良いところに気づいたね! あの山の頂点が、それぞれのモードの固有振動数だ。例えば、\(k_2\)のバネを非常に弱く(0に近く)してみて。2つの山がすごく近づくでしょ? これは2つの質点がほとんど独立に動くようになって、振動数が近くなるから。アニメーションでも、2つのモードの動きの違いがわかりにくくなるはずだよ。現場の実験モード解析では、このFRFの山を計測してモードを同定するんだ。
物理モデルと主要な数式
2自由度バネ質量系の運動方程式は、次の行列形式で書けます。
$$ M \ddot{\boldsymbol{x}}+ K \boldsymbol{x}= \boldsymbol{0}$$
ここで、\(M=\begin{bmatrix}m_1 & 0 \\ 0 & m_2 \end{bmatrix}\)は質量行列、\(K=\begin{bmatrix}k_1+k_2 & -k_2 \\ -k_2 & k_2+k_3 \end{bmatrix}\)は剛性行列、\(\boldsymbol{x}= [x_1, x_2]^T\)は変位ベクトルです。この系が角振動数\(\omega\)で振動する(\(\boldsymbol{x}= \boldsymbol{\phi}e^{i\omega t}\))と仮定して運動方程式に代入すると、次の固有値問題が得られます。
これが固有値解析の核心となる方程式です。
$$ (K - \omega^2 M) \boldsymbol{\phi}= \boldsymbol{0}$$
この式が成り立つ(自明でない解\(\boldsymbol{\phi}\)が存在する)ためには、係数行列の行列式が0である必要があります。これが特性方程式(永年方程式)です。\(\lambda = \omega^2\)と置くと、
$$ \det(K - \lambda M) = 0 $$
これは\(\lambda\)に関する2次方程式となり、2つの正の解\(\lambda_1, \lambda_2\)(固有値)が求まります。それぞれの平方根\(\omega_1 = \sqrt{\lambda_1}, \omega_2 = \sqrt{\lambda_2}\)が角振動数、対応する\(\boldsymbol{\phi}_1, \boldsymbol{\phi}_2\)が振動モード形(固有ベクトル)です。モード形は振幅の相対比を示すため、通常は規格化(例えば最大成分を1とする)して表示されます。
よくある質問
質量を大きくすると固有振動数は低下し、バネ定数を大きくすると上昇します。特に1次モードは全体の剛性と質量、2次モードは質量比やバネの配置に敏感です。スライダーを動かしながらモードアニメーションで確認すると直感的に理解できます。
横軸は加振周波数、縦軸は応答の大きさ(振幅)です。ピークが立つ周波数が固有振動数に対応します。2自由度系では2つのピークが現れ、減衰がない場合は無限大に発散します。質量比やバネ比を変えるとピーク位置と高さが変化します。
同じ方向に動くのが1次モード(同位相)、逆方向に動くのが2次モード(逆位相)です。1次モードは全体が一体となって振動し、2次モードは質量間の相対変位が大きくなります。節(動かない点)の有無もアニメーションで確認できます。
2自由度系は多くの実現象の基本モデルとして使えます。例えば、2つの質量を持つ防振装置や、建物の2層モデルなどです。ただし、実際の構造は連続体や非線形要素を含むため、定性的な理解や傾向把握に活用することをおすすめします。
実世界での応用
自動車のNVH設計:車体のシャシーやドアパネルの振動・騒音(Noise, Vibration, Harshness)を低減するために固有値解析が必須です。エンジンや路面からの振動が車体のどの周波数で共鳴(大きく揺れる)するかを事前にシミュレーションし、設計段階で剛性を追加したり質量配置を変えたりします。
建築物の耐震設計:高層ビルや橋梁は、地震動の周期と建物自体の固有周期が一致すると共振し、大きな損傷を受ける可能性があります。固有値解析で建物の主要な振動モードと周期を把握し、制振装置(ダンパー)を設置する最適な位置や設計を行う基礎データとします。
航空機・宇宙構造物の設計:ジェットエンジンのブレードやロケットの本体構造は、運転中に発生する振動による疲労破壊を防ぐことが極めて重要です。固有値解析により危険な共振周波数を特定し、運転回転域からそれを回避するように設計します(回転機械の危険速度の予測)。
実験モード解析(EMA):実際の構造物にハンマーで衝撃(加振)を与え、加速度センサーで応答を計測します。得られた周波数応答関数(FRF)から、シミュレーションで求めたものと同様の固有振動数と振動モード形を「実験的に」同定し、CAEモデルの精度検証や故障診断に用います。
よくある誤解と注意点
このシミュレーターを使い始めるとき、いくつかつまずきやすいポイントがあるよ。まず「質量をゼロにすると計算が破綻する」ということ。例えばm2を0にして確認してみて。固有振動数が無限大に発散するか、計算エラーになるはず。現実には質量ゼロはあり得ないし、数値計算でも質量行列の逆行列を取る必要があるから、ゼロや極端に小さい値は禁物だ。次に「バネ定数が全て同じならモード形も対称」と思いがちだけど、それは質量も同じ場合だけ。m1=1, m2=3でk1=k2=k3=1とすると、1次モードでは重いm2の振幅が小さくなる。モード形は質量と剛性の「比」で決まることを体感してほしい。最後に、FRFグラフの山の高さ(ピーク値)を過信しないこと。このシミュレーターには減衰(ダンピング)が入ってないから、理論上は山の頂点は無限大に尖る。実際の構造物には必ず減衰があるので、山は有限の高さで幅を持つ。ツールで「共振の危険性」を議論するときは、この点を頭に入れておこう。