MATLABで学ぶ長松昭男著「モード解析入門」 2.3節:減衰系の自由振動(無周期運動)

はじめに

振動工学やモード解析をご存じの方であれば、一度は読んだことがあると言われているバイブル的な書籍「モード解析入門」について再復習しております。

[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

【中古】 モード解析入門 長松昭男 【古本・古書】
価格:9400円(税込、送料別) (2021/10/13時点)

 

再復習で学んだことをMATLABコードを示しながら解説したいと思います。

今回は2.3節の減衰系の自由振動について復習します。

運動方程式

粘性減衰項を含む運動方程式は式(2.4)となります。

$$
m\ddot{x(t)} + c\dot{x(t)} +kx(t) = 0 \tag{2.4}
$$

ちなみに、粘性減衰は速度に比例する減衰で、FEM解析でよく使われる構造減衰は変位に比例する減衰です。なので、どの減衰を使うかによって運動方程式はかわります。
初歩的な機械系の書籍では「粘性減衰」を単に「減衰」と記述しているものもあります。

モード解析入門の2.3節では速度に比例する粘性減衰を用いて、「減衰系の自由振動」を説明しているということを頭の片隅にでも覚えておいてください。

式(2.4)を満たす解は式(2.42)です。

$$
x =x_0 e^{λt} \tag{2.42}
$$

式(2.42)を式(2.4)に代入すると式(2.45)が得られます。

\[
\left\{
\begin{array}{l}
x_0&=0\\
mλ^2+cλ+k&=0
\end{array}
\right.
\tag{2.45}
\]

x0=0は系が静止していることを意味するので、振動した状態であるためには式(2.45)の下式が成立している必要があります。

式(2.45)の下式をλについて解くと、中学校で習う「解の公式」から式(2.46)が得られます。

\begin{align*}
x & = {-c \pm \sqrt{c^2-4mk} \over 2m} \\
& = -{c \over 2m}\pm \sqrt{({c \over 2m})^2-{k \over m}} \\
& = \sqrt{{k \over m}}({-c \over {2 \sqrt{mk}}}) \pm \sqrt{{k \over m}} \sqrt{{c^2 \over 4mk}-1}  \\
\tag{2.46}
\end{align*}

振動工学ではおなじみですが、下記に置き換えます。Ω=√(k/m)は減衰のない角共振振動数ですよね。なので、Ωを不減衰固有角振動数と呼びます。

\[
\left\{
\begin{array}{l}
c_c=2 \sqrt{mk}=2m\sqrt{\frac{k}{m}}=2mΩ\\
ζ=c/c_c
\end{array}
\right.
\tag{2.47}
\]

すると、式(2.46)は式(2.48)で書き換えられます。

$$
λ = -Ωζ \pm Ω\sqrt{ζ^2-1} \tag{2.48}
$$

\[
\left\{
\begin{array}{l}
λ_1 = -Ωζ + Ω\sqrt{ζ^2-1} \\
λ_2 = -Ωζ – Ω\sqrt{ζ^2-1}
\end{array}
\right.
\tag{2.48}
\]

式(2.48)の一般的な解は式(2.49)となる。ここで、X1とX2は未定係数です。

$$
x = X_1 e^{λ_1 t} + X_2 e^{λ_2 t} \tag{2.49}
$$

この式(2.49)は式(2.28)の平方根の中身の正負によって、大きく現象が変化するので、場合分けして考えることになります。

無周期運動(式(2.48)の平方根が正のとき)

ζ≥1の場合

λ1とλ2は負になります。
なので、とりあえず下記がどうなるのかだけを考えてみます。
$$
X_1 e^{λ_1 t}
$$

高校生の知識でy=e^(-t)はt=0のときy=1なのは容易にわかりますね。なので、X1はt=0のときの切片に相当すると思われます。試しに、X1を1~10の間で変化させてみます。
(λはとりあえず-10とします。)

予想どおりですね。

clear all;close all;

t=0:0.001:1;
L1=-10;
X1=1:10;

X1_eL1t=zeros(length(X1),length(t));
RGB=jet(length(X1));
figure
for ii1=1:length(X1)
X1_eL1t=X1(ii1)*exp(L1*t);
plot(t,X1_eL1t,'color',RGB(ii1,:))
hold on
end
legend(split(num2str(X1)))

では、λが変化したときどうなるか、0に収束する時間が変わるだけですよね。
高校生の知識でわかりますよね。

やっぱりそうですよね。

clear all;close all;

t=0:0.01:100;
L1=[-10 -1 -0.1 -0.01];
X1=1;

X1_eL1t=zeros(length(L1),length(t));
RGB=jet(length(L1));
figure
for ii1=1:length(L1)
X1_eL1t=X1*exp(L1(ii1)*t);
plot(t,X1_eL1t,'color',RGB(ii1,:))
hold on
end
legend(split(num2str(L1)))

つまり、ζ≥1の場合は振動しません。

今日の解説はここまで。

Good luck

 

コメント