声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2827|回复: 6

[稳定性与分岔] 请问有做Jeffcott转子振动仿真的吗?

[复制链接]
发表于 2010-9-26 14:44 | 显示全部楼层 |阅读模式

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

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

x
大家好 请问有做Jeffcott转子振动仿真的吗?我编程用的是闻邦椿、武新华等著的《故障旋转机械非线性动力学的理论与实验》一书中的运动微分方程,程序编出来没有提示错误,可是输出图形跟书上的不一样啊,轴心轨迹不封闭,有没有高手帮忙指点一下啊,谢谢大家了!
回复
分享到:

使用道具 举报

 楼主| 发表于 2010-9-27 08:17 | 显示全部楼层
为什么没人回复我呢?是我的提问有问题吗?还是我应该去别的版块提问啊?
发表于 2010-9-27 16:36 | 显示全部楼层
将程序帖上来,大家一起分析一下
 楼主| 发表于 2010-9-27 19:40 | 显示全部楼层
回复 jgwang 的帖子

function out=liewenfun(t,z,flag)
omega=1000;                % 轴的转速
a=0.0135;                      % 裂纹深度
r=0.015;L1=0.57;          % r转轴半径/,L1转轴长度/
R=0.025;L=0.012;         % R轴承半径/,L轴承长度/
b=0.05*10^(-3);            % b圆盘偏心率/
m1=4.0;m2=32.1;         % m1轴承处的等效集中质量/,m2转轴中央圆盘质量/
c=0.11*10^(-3);            % c轴承间隙/
beta=pi;mu=0.018;        % beta裂纹方向与偏心之间的夹角,mu润滑油粘度/
c1=1050.0;c2=2100.0;         % c1转子在轴承处的结构阻尼/,c2转子在圆盘处的结构阻尼/
k=2.5*10^7;g=9.8;              % k转轴刚度/
epsilon=3.3064e-007;delta=3.0244e+006;      % epsilon与delta为仅与裂纹深度a有关的相关刚度参数
P=0.5*m2;                             % P转子圆盘重量的一半
theta=omega*t+beta;            % theta裂纹截面转角
F=(1+cos(theta))/2;               % F裂纹开闭规律,描述的是裂纹转角对实际裂纹轴刚度的影响规律(裂纹开闭规律模型有好几种,我用的是比较简单的余弦波模型)
s=(mu*omega*R*L*((R/c)^2)*(L/(2*R))^2)/P;       % s为Sommerfeld修正系数,c平均油膜厚度
xi1=c1/(m1*omega);eta1=k/(m1*omega^2);          % 方程无量纲化后的系数
xi2=c2/(m2*omega);eta2=2*k/(m2*omega^2);      % 方程无量纲化后的系数
G=g/(c*omega^2);M1=(c*m1*omega^2)/(s*P);     % 方程无量纲化后的系数
b1=b/c;tau=omega*t;
w=1-epsilon*delta*0.5*F;u=epsilon*0.5*F.*cos(2*tau);l=epsilon*0.5*F.*sin(2*tau);
out=[z(5);...
    z(6);...
    z(7);...
    z(8);...
    -(eta1*w+eta1*u)*z(1)-eta1*l*z(2)+(eta1*w+eta1*u)*z(3)+eta1*l*z(4)-xi1*z(5)+fx(z(1),z(2),z(5),z(6))/M1;...
    -eta1*l*z(1)-(eta1*w-eta1*u)*z(2)+eta1*l*z(3)+(eta1*w-eta1*u)*z(4)-xi1*z(6)+fy(z(1),z(2),z(5),z(6))/M1-G;...
    (eta2*w+eta2*u)*z(1)+eta2*l*z(2)-(eta2*w+eta2*u)*z(3)-eta2*l*z(4)-xi2*z(7)+b1*cos(tau);...
    eta2*l*z(1)+(eta2*w-eta2*u)*z(2)-eta2*l*z(3)-(eta2*w-eta2*u)*z(4)-xi2*z(8)+b1*sin(tau)-G];

其中fx、fy为无量纲非线性油膜力
function fxout=fx(x,y,Dx,Dy)
if x-2*Dy~=0
    alpha=atan((y+2*Dx)./(x-2*Dy))-0.5*pi*sign((y+2*Dx)./(x-2*Dy))-0.5*pi*sign(y+2*Dx);
else
    alpha=atan2((y+2*Dx),(x-2*Dy))-0.5*pi*sign(y+2*Dx)-0.5*pi*sign(y+2*Dx);
end
G=(2/sqrt(1-x.^2-y.^2)).*(pi/2+atan((y.*cos(alpha)-x.*sin(alpha))./sqrt(1-x.^2-y.^2)));
V=(2+(y.*cos(alpha)-x.*sin(alpha)).*G)./(1-x.^2-y.^2);
S=(x.*cos(alpha)+y.*sin(alpha))./(1-(x.*cos(alpha)+y.*sin(alpha)).^2);
fxout=(sqrt((x-2*Dy).^2+(y+2*Dx).^2)./(1-x.^2-y.^2)).*(3.*x.*V-sin(alpha).*G-2.*cos(alpha).*S);

function fyout=fy(x,y,Dx,Dy)
if x-2*Dy~=0
    alpha=atan((y+2*Dx)./(x-2*Dy))-0.5*pi*sign((y+2*Dx)./(x-2*Dy))-0.5*pi*sign(y+2*Dx);
else
    alpha=atan2((y+2*Dx),(x-2*Dy))-0.5*pi*sign(y+2*Dx)-0.5*pi*sign(y+2*Dx);
end
G=(2/sqrt(1-x.^2-y.^2)).*(pi/2+atan((y.*cos(alpha)-x.*sin(alpha))./sqrt(1-x.^2-y.^2)));
V=(2+(y.*cos(alpha)-x.*sin(alpha)).*G)./(1-x.^2-y.^2);
S=(x.*cos(alpha)+y.*sin(alpha))./(1-(x.*cos(alpha)+y.*sin(alpha)).^2);
fyout=(sqrt((x-2*Dy).^2+(y+2*Dx).^2)./(1-x.^2-y.^2)).*(3.*y.*V+cos(alpha).*G-2.*sin(alpha).*S);


z0=[0 0 0 0 0 0 0 0]';    % 初始值(我自己随便给的)
[t,z]=ode45('liewenfun',[0:0.00025:0.2557],z0,[])
subplot(2,2,1)
plot(t*1000,z(:,3))        % 裂纹转子响应的时序波形
xlabel('t(milliseconds)');
ylabel('x2');
subplot(2,2,2)
plot(z(:,3),z(:,7))           % 裂纹转子响应的相轨迹
xlabel('x2');
ylabel('Dx2');
subplot(2,2,3)
plot(z(:,3),z(:,4))           % 裂纹转子响应的轴心轨迹
xlabel('x2');
ylabel('y2');
fs=4000;N=1024;        % 采样频率和采样点数(我自己随便给的)
n=0:1023;
o=fft(z(:,3));                 % 对信号进行快速傅里叶变换
mag=abs(o);                % 求得fourier变换后的振幅
fre=n*fs/N;                   % 频率序列
subplot(2,2,4)
plot(fre(1:N/2,mag(1:N/2))   % 绘出Nyquist频率之前随频率变化的振幅
xlabel('频率Hz');
ylabel('振幅');

写的比较乱,麻烦大家帮忙看看啦
发表于 2010-9-27 22:07 | 显示全部楼层
简单看了一下应该是结果提取的问题
稳态问题的数值仿真结果要截取后半段收敛后的数值结果
前半段的数值结果是为收敛了,并不是你要的稳态结果

评分

1

查看全部评分

发表于 2013-3-18 16:47 | 显示全部楼层
发表于 2013-3-26 09:58 | 显示全部楼层
本帖最后由 豆浆 于 2013-3-26 10:00 编辑

我运行的这里
回复 jgwang 的帖子


out=[z(5);...
    z(6);...
    z(7);...
    z(8);...
    -(eta1*w+eta1*u)*z(1)-eta1*l*z(2)+(eta1*w+eta1*u)*z(3)+eta1*l*z(4)-xi1*z(5)+fx(z(1),z(2),z(5),z(6))/M1;...
    -eta1*l*z(1)-(eta1*w-eta1*u)*z(2)+eta1*l*z(3)+(eta1*w-eta1*u)*z(4)-xi1*z(6)+fy(z(1),z(2),z(5),z(6))/M1-G;...
    (eta2*w+eta2*u)*z(1)+eta2*l*z(2)-(eta2*w+eta2*u)*z(3)-eta2*l*z(4)-xi2*z(7)+b1*cos(tau);...
    eta2*l*z(1)+(eta2*w-eta2*u)*z(2)-eta2*l*z(3)-(eta2*w-eta2*u)*z(4)-xi2*z(8)+b1*sin(tau)-G];
怎么提示??? Index exceeds matrix dimensions. 请各位前辈多指点!
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-17 13:16 , Processed in 0.095224 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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