MATLABで学ぶ振動工学 動吸振器をたくさん付けるとメタマテリアル?

はじめに

振動の知識がある程度持ち合わせている人は、動吸振器を付けたものがメタマテリアルになると勘違いしています。

ただ、動吸振器を一定間隔で並べたものはメタマテリアルになる可能性があります。
ややこしいですが、ここで主張したいことは「動吸振器をいっぱい付けてもメタマテリアルにはなりません」ってことです。

ちなみに、動吸振器をたくさん付けたモデルは「多重動吸振器の力学モデル」と呼ばれ、下記文献で紹介されています。本記事では下記文献を参考にしています。(P.45~48)

上記参考文献の内容は下記の論文を引用しているようなので、無料で読みたい方は下記を参照ください。

https://www.jstage.jst.go.jp/article/kikaic1979/62/601/62_601_3400/_pdf

 

更に余談ですが、「動吸振器」というと兵庫県立大の浅見先生が有名で、ひたすらに理論解を導出している研究者の鏡(良い意味で変態?)みたいな方がいます。興味のある方は論文を読んでみてください。

Object not found!

多重動吸振器

多重動吸振器モデルを下図に示します。

図 多重動吸振器モデル

上記の運動方程式は下記のようになります。

$$
M\ddot{x} =-K x +  \displaystyle \sum_{i=1}^{n}f_i  +f_o
$$
$$
m_i \ddot{x_i} =-k_i (x_i – x) – c_i (\dot{x_i}-x)
$$

i番目の制御力(反力)は下記です。
$$
f_i  =-k_i (x_i – x) + c_i (\dot{x_i}-x)
$$

ここで、定常振動と仮定すると下記が成立します。
$$
x = \bar{X} e^{jωt}, x_i = \bar{X_i} e^{jωt}, f_o = F_o e^{jωt},
$$

上式を展開して、主系の複素振幅は下式で表されます。

$$
\bar{X}  = \frac{1}{(-Mω^2+K)-\displaystyle \sum_{i=1}^{n}\frac{m_iω^2(jωc_i+k_i)}{-m_iω^2 + jωc_i +k_i} }F_o
$$

てな感じで理論展開されていき、最終的に最適調整された四重動吸振器、六重動吸振器の最大振幅倍率|X/Xst|は下記になります。

図 四重動吸振器、六重動吸振器の結果

 

結果をみると、四重動吸振器と六重動吸振器の結果では、主系の共振周波数(31.6Hz)のピーク値が低減していることがわかります。しかし、参考文献から動吸振器の数を増やしても、低減量は大きく変化しないことがわかります。(付加質量が一定で数だけ増やした場合)

もともと動吸振器というのは、主系の共振周波数の応答値を低減することが目的です。
なので、この結果からもわかるように下記のようになります。

× 動吸振器をたくさんつけるとバンドギャップが生成される
○ 動吸振器をたくさんつけると主系の共振周波数の応答値が低減するが、動吸振器の数が一定以上になると低減量がサチる

 

MATLABプログラム

 実行コード

clear all;clc;close all;

% % % % % % 

M=1;
K=10^3;

% % % % % % 

freq=1:0.1:50;
abs_X_Xst_4=zeros(1,length(freq));
abs_X_Xst_6=zeros(1,length(freq));

% % % % % % 

u=0.1;
u4=u/4;
u6=u/6;

% % % % % % 

inv_r1_4=0.2193 * ( u4  + 0.0699  )^(-0.5487);
inv_r2_4=0.2721 * ( u4  + 0.1301  )^(-0.6289);
inv_r3_4=0.7697 * ( u4  + 0.8667  )^(-1.9992);
inv_r4_4=1.1327*exp(-0.9314*u4) - 0.0953*exp(-72.417*u4);

inv_r_4=[inv_r1_4;inv_r2_4;inv_r3_4;inv_r4_4];

z1_4=(1.3066*10^-4*u4)^(0.0772) - 0.3040;
z2_4=(1.9270*10^-3*u4)^(0.1355) - 0.1786;
z3_4=(2.9512*10^-2*u4)^(0.2405) - 0.0883;
z4_4=(0.2877*u4)^(0.4319) - 0.0248;

z_4=[z1_4;z2_4;z3_4;z4_4];

% % % % % % 

inv_r1_6=0.1867 * ( u6  + 0.0328  )^(-0.4735);
inv_r2_6=0.2127 * ( u6  + 0.0486  )^(-0.5001);
inv_r3_6=0.2307 * ( u6  + 0.0897  )^(-0.6031);
inv_r4_6=0.9683 * ( u6  + 0.9871  )^(-3.5739);
inv_r5_6=1.0837*exp(-2.2288*u6) - 0.0556*exp(-99.420*u6);
inv_r6_6=1.1895*exp(-0.8450*u6) - 0.1389*exp(-73.535*u6);

inv_r_6=[inv_r1_6;inv_r2_6;inv_r3_6;inv_r4_6;inv_r5_6;inv_r6_6];

z1_6=(5.7835*10^-4*u6)^(0.1957) - 0.0518;
z2_6=(1.3074*10^-3*u6)^(0.2098) - 0.0485;
z3_6=(1.1732*10^-2*u6)^(0.2884) - 0.0262;
z4_6=(2.8652*10^-2*u6)^(0.3182) - 0.0256;
z5_6=(1.9782*10^-1*u6)^(0.4719) - 0.0018;
z6_6=(5.1454*10^-1*u6)^(0.5677) - 0.0038;

z_6=[z1_6;z2_6;z3_6;z4_6;z5_6;z6_6];

% % % % % % 


for ii1=1:length(freq)
    w=2*pi*freq(ii1);
    l=w/sqrt(K/M);
    
    [A4,B4]=make_A_B(inv_r_4,z_4,l,u4);    
    abs_X_Xst_4(ii1)=1/sqrt(A4^2+B4^2);
    [A6,B6]=make_A_B(inv_r_6,z_6,l,u6);    
    abs_X_Xst_6(ii1)=1/sqrt(A6^2+B6^2);
    
end

figure
semilogx(freq,abs_X_Xst_4,'linewidth',3)
hold on
semilogx(freq,abs_X_Xst_6,'r','linewidth',3)
grid on
xlabel('Freq. [Hz]')
ylabel('|X/Xst|')
legend('4重動吸振器','6重動吸振器')

functionファイル

function [A,B]=make_A_B(inv_r,z,l,u)

    A=0;
    B=0;
    for ii2=1:length(inv_r)
        A=u*l^2*( (1-(1/inv_r(ii2))^2*l^2) + (2*z(ii2)*(1/inv_r(ii2))*l)^2  )/.......
            ( (1-(1/inv_r(ii2))^2*l^2)^2 + (2*z(ii2)*(1/inv_r(ii2))*l)^2  ) + A;
        B=u*l^2*(2*z(ii2)*(1/inv_r(ii2))*l)/.......
            ( (1-(1/inv_r(ii2))^2*l^2)^2 + (2*z(ii2)*(1/inv_r(ii2))*l)^2  ) + B;
    end
    A=(1-l^2)-A;
        
end

コメント