声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 3547|回复: 9

[转子动力学] matlab用振型叠加法求不平衡响应

[复制链接]
发表于 2013-7-12 16:07 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
无阻尼系统对不平衡质量的响应,大家帮我看看对不对?f1=m*e我是根据杨橚的机床动力学的公式,质量矩阵已经归一化了,是不是无阻尼的就是这样的啊?

%  (3) 正则化特征向量和计算参数
%--------------------------------------------------------------------------
Factor=diag(V1'*M*V1);                             %模态质量
Vnorm=V1*inv(sqrt(diag(Factor)));                  %  正则化振型向量(公式5.36即2.2-39)
VnormK=diag(Vnorm'*K*Vnorm);                       %模态刚度
omega2=diag(sqrt(Vnorm'*K*Vnorm)) ;                % 截断固有频率w5.38即2.2-42
% VnormM=diag(Vnorm'*M*Vnorm);                       %正则模态质量     
Fnorm=Vnorm'*ff ;                                     % 模态力矢量

%--------------------------------------------------------------------------
%  %  (4) 模态坐标的不平衡响应
%--------------------------------------------------------------------------
%eta0=Vnorm'*M*q0; deta0=Vnorm'*M*dq0;            %2.2-53% 初始条件模态坐标的位移和速度               
%eta=zeros(nstep,sdof);                            %  %初始化位移2.2-52

phase0=omega0*tt;                                 %w*t omega0为激振力频率

for i=1:sdof                                  % t(i)时刻的响应
  gama=omega0/omega(i) ;                         %omega0为激振力的圆频率,omega(i)=w,系统的无阻尼固有频率
  X0=1/(1-gama^2);
eta(:,i)=Fnorm(i)*gama^2*X0*(cos(omega0*tt));
end
%--------------------------------------------------------------------------
%   (6) 将模态坐标转化到物理坐标系
%--------------------------------------------------------------------------
eta=eta';            %模态坐标
y=Vnorm*eta;           %物理坐标


  1. %  (3) 正则化特征向量和计算参数
  2. %--------------------------------------------------------------------------
  3. Factor=diag(V1'*M*V1);                             %正则化振型
  4. Vnorm=V1*inv(sqrt(diag(Factor)));                  %  正则化振型向量(公式5.36即2.2-39)正则化因子alpha=sqrt(diag(Factor)
  5. omega2=diag(sqrt(Vnorm'*K*Vnorm)) ;                % 正则化模态刚度矩阵diag(Vnorm'*K*Vnorm)=w^2 即固有圆频率
  6. VnormM=diag(Vnorm'*M*Vnorm);                             %正则化模态质量矩阵diag(Vnorm'*M*Vnorm)=1
  7. Fnorm=Vnorm'*ff ;                                     % 正则化模态力矢量

  8. %--------------------------------------------------------------------------
  9. %  %  (4) 模态坐标的脉冲响应
  10. %--------------------------------------------------------------------------
  11. eta0=Vnorm'*M*q0; deta0=Vnorm'*M*dq0;     %2.2-53% 初始条件模态坐标的位移和速度               
  12. eta=zeros(nstep,sdof);                %  %初始化位移2.2-52
  13. phase0=omega0*tt;          %w*t omega0为激振力频率

  14. for i=1:sdof                                  % t(i)时刻的响应
  15.   gama=omega0/omega(i) ;                         %omega0为激振力的圆频率,omega(i)=w,系统的无阻尼固有频率        
  16.   X0=1/(1-gama^2);
  17. eta(:,i)=f1*gama^2*X0*(sin(omega0*tt));
  18. end
  19. %--------------------------------------------------------------------------
  20. %   (6) 将模态坐标转化到物理坐标系
  21. %--------------------------------------------------------------------------
  22. eta=eta';            %模态坐标
  23. y=Vnorm*eta;           %物理坐标
复制代码
untitled.bmp
这是y.z方向坐标画的轴心轨迹
untitled3.bmp untitled2.bmp


回复
分享到:

使用道具 举报

发表于 2013-7-15 20:02 | 显示全部楼层
虽然我也在做   但现在还看不懂   纠结   谢谢 啦
发表于 2013-7-16 11:40 | 显示全部楼层
振型叠加求模态刚度,模态质量是最关键的,你直接省略了。。。
还有你只有一节模态在叠加什么?
 楼主| 发表于 2013-7-16 16:39 | 显示全部楼层
本帖最后由 ME! 于 2013-7-16 16:58 编辑

我的模态质量都归一化为1了,那只是某一个自由度方向上的响应模态刚度和模态质量,我求了啊
Factor=diag(V1'*M*V1);                             %模态质量
Vnorm=V1*inv(sqrt(diag(Factor)));                  % 正则化振型向量
VnormK=diag(Vnorm'*K*Vnorm);                       %模态刚度
omega2=diag(sqrt(Vnorm'*K*Vnorm)) ;                % 正则化模态刚度
VnormM=diag(Vnorm'*M*Vnorm);                       %正则化模态质量

下面是叠加之后的程序


请问叠加之后的动态响应图有什么意义,如果要画轴心轨迹不应该是某一自由度的x,y坐标吗?


 楼主| 发表于 2013-7-16 16:40 | 显示全部楼层
本帖最后由 ME! 于 2013-7-16 17:12 编辑
  1. [V1,D]=eig(K,M);                                % 计算特征值和特征向量

  2. Factor=diag(V1'*M*V1);                           %正则化质量矩阵
  3. Vnorm=V1*inv(sqrt(diag(Factor)));                %  正则化振型向量(公式5.36即2.2-39)
  4. omega=diag(sqrt(Vnorm'*K*Vnorm)) ;              % 固有频率w^2
  5. VnormM=diag(Vnorm'*M*Vnorm);                      %正则化模态质量

  6. Fnorm=Vnorm'*ff;                                       % 模态力矢量
  7. tt=tt';
  8. [sdof,n1]=size(K);
  9. [nstep,n2]=size(tt);
  10. Modamp=Vnorm'*(ac*M+bc*K)*Vnorm;               % 比例阻尼,正则坐标中的阻尼一般是对角阵
  11. zeta=diag((1/2)*Modamp*inv(diag(omega)));                    %   阻尼比 结构的动力特性和响应分析p39(公式2.2-61)
  12. %--------------------------------------------------------------------------
  13. %  %  (5) 模态坐标的脉冲响应
  14. %--------------------------------------------------------------------------
  15. eta0=Vnorm'*M*q0;
  16. deta0=Vnorm'*M*dq0;                    %2.2-53% 初始条件模态坐标的位移和速度
  17. eta=zeros(nstep,sdof);                %  %初始化位移2.2-52
  18. phase0=omega0*tt;                      %w*t omega0为激振力频率
  19. gama=omega0/omega(1);                          %omega0为激振力的圆频率,omega(i)=w,系统的无阻尼固有频率
  20. omegad=omega(1)*sqrt(1-zeta(1)^2);
  21. phase=omegad*tt;                            %wd*t其中(omegad为有阻尼固有频率)
  22. Exx=exp(-zeta(1)*omega(1)*tt);                %中间变量
  23. C1=eta0(1);                                        %初始位移
  24. C2=(deta0(1)+eta0(1)*zeta(1)*omega(1))/omegad;          %中间变量  

  25. X0=sqrt((1-gama^2)^2+(2*zeta(1)*gama)^2);
  26. XX=Fnorm(1)/(omega(1)^2*X0);
  27. XP=atan((2*zeta(1)*gama)/(1-gama^2));

  28. D1=(zeta(1)*omega(1)*cos(XP)+omega0*sin(XP))/omegad;
  29. D2=cos(XP);

  30.   eta(:,1)=C1*Exx.*cos(phase)+C2*Exx.*sin(phase)...
  31.            -XX*Exx.*(D1*sin(phase)+D2*cos(phase))...
  32.            +XX*cos(phase0-XP);
  33. for i=2:sdof                                  % t(i)时刻的响应
  34.   gama=omega0/omega(i);                          %omega0为激振力的圆频率,omega(i)=w,系统的无阻尼固有频率
  35.   omegad=omega(i)*sqrt(1-zeta(i)^2);
  36.   phase=omegad*tt;                            %wd*t其中(omegad为有阻尼固有频率)
  37.   Exx=exp(-zeta(i)*omega(i)*tt);                %中间变量

  38.   C1=eta0(i);                                        %初始位移
  39.   C2=(deta0(i)+eta0(i)*zeta(i)*omega(i))/omegad;          %中间变量  

  40.   X0=sqrt((1-gama^2)^2+(2*zeta(i)*gama)^2);
  41.   XX=Fnorm(i)/(omega(i)^2*X0);
  42.   XP=atan((2*zeta(i)*gama)/(1-gama^2));

  43.   D1=(zeta(i)*omega(i)*cos(XP)+omega0*sin(XP))/omegad;
  44.   D2=cos(XP);

  45.   eta(:,i)= eta(:,i-1)+C1*Exx.*cos(phase)+C2*Exx.*sin(phase)...
  46.            -XX*Exx.*(D1*sin(phase)+D2*cos(phase))...
  47.            +XX*cos(phase0-XP);
  48.                      
  49. end
  50.   

  51. % 动态响应图
  52. %--------------------------------------------------------------------------
  53. eta=eta';            %模态坐标
  54. y=Vnorm*eta;           %物理坐标

  55. figure(1)
  56. plot(tt,y(jth,:))         %某一自由度的响应
  57. xlabel('时间  (seconds)'), ylabel('位移  (m)')
  58. title('时间历程响应')  

复制代码
先叠加再返回物理坐标

补充内容 (2013-7-17 16:16):
我觉得这样叠加时错误的
 楼主| 发表于 2013-7-17 15:45 | 显示全部楼层
本帖最后由 ME! 于 2013-7-17 16:15 编辑

QQ截图20130717161348.png y=Vnorm*eta;  已经考虑叠加了
QQ截图20130717154319.png
 楼主| 发表于 2013-7-30 19:46 | 显示全部楼层
dw04116 发表于 2013-7-16 11:40
振型叠加求模态刚度,模态质量是最关键的,你直接省略了。。。
还有你只有一节模态在叠加什么?

能帮我仔细看看吗?真的很需要请教一下!
 楼主| 发表于 2013-7-30 20:43 | 显示全部楼层
我是按照杨橚的《机床动力学》147面的方程画图的,只是变为多自由度
5.png
发表于 2013-8-1 15:43 | 显示全部楼层
过一阵子也要做这个,到时候有问题可以请教你们~~~
发表于 2015-12-8 09:00 | 显示全部楼层
茹果刘儿 发表于 2013-8-1 15:43
过一阵子也要做这个,到时候有问题可以请教你们~~~

有点看不懂 程序好像不通用吧
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-14 13:22 , Processed in 0.076816 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表