100% found this document useful (1 vote)
20 views

I Have A Program of Rotor Shaft Analysis in Matlab

The document discusses a rotor shaft analysis program in MATLAB. It provides code to define a rotor model, calculate natural frequencies and mode shapes, and plot results. However, it is returning an error in the function chr_root, so the author is asking for help resolving the error and obtaining mode shape displacement values.

Uploaded by

عزالدين
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
20 views

I Have A Program of Rotor Shaft Analysis in Matlab

The document discusses a rotor shaft analysis program in MATLAB. It provides code to define a rotor model, calculate natural frequencies and mode shapes, and plot results. However, it is returning an error in the function chr_root, so the author is asking for help resolving the error and obtaining mode shape displacement values.

Uploaded by

عزالدين
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 2

i have a program of rotor shaft analysis in

matlab.i am able to plot mode shapes but i need


the values for displacements.can any one help
me

clear format short e close all

set(0,'defaultaxesfontsize',12) set(0,'defaultaxesfontname','Times New


Roman') set(0,'defaulttextfontsize',12) set(0,'defaulttextfontname','Times New
Roman')

% set the material parameters E = 211e9; G = 81.2e9; rho = 7810;


damping_factor = 0; % no damping in shaft

% Consider the model with 6 equal length elements % Shaft is 1.5m long
model.node = [1 0.0; 2 0.25; 3 0.5; 4 0.75; 5 1.0; 6 1.25; 7 1.50;];

% Assume shaft type 2 - Timoshenko with gyroscopic effects included % Solid


shaft with 50mm outside diameter shaft_od = 0.05; shaft_id = 0.0; model.shaft
= [2 1 2 shaft_od shaft_id rho E G damping_factor; ... 2 2 3 shaft_od shaft_id
rho E G damping_factor; ... 2 3 4 shaft_od shaft_id rho E G damping_factor; ... 2
4 5 shaft_od shaft_id rho E G damping_factor; ... 2 5 6 shaft_od shaft_id rho E G
damping_factor; ... 2 6 7 shaft_od shaft_id rho E G damping_factor];

% Disk 1 at node 3 has diameter of 280mm and thickness of 70mm % Note


inside diameter of disk is assumed to be the outside diameter of the % shaft
disk_od = 0.28;

disk_thick = 0.07; model.disc = [1 4 rho disk_thick disk_od shaft_od];

% constant stiffness short isotropic bearing (1NM/m) with no damping %


bearings at the ends - nodes 1 and 7 bear_stiff = 1e6; model.bearing = [3 1
bear_stiff bear_stiff 0 0; ... 3 7 bear_stiff bear_stiff 0 0];

% draw the rotor figure(1), clf picrotor(model)

% plot the Campbell diagram and root locus

Rotor_Spd_rpm = 0:100:4500.0; Rotor_Spd = 2*pi*Rotor_Spd_rpm/60; % convert


to rad/s

[eigenvalues,eigenvectors,kappa] = chr_root(model,Rotor_Spd);

figure(2) NX = 2; damped_NF = 1; % plot damped natural frequencies


plotcamp(Rotor_Spd,eigenvalues,NX,damped_NF,kappa)

figure(3) plotloci(Rotor_Spd,eigenvalues,NX)

% plot the modes at a given speed

Rotor_Spd_rpm = 4000; Rotor_Spd = 2*pi*Rotor_Spd_rpm/60; % convert to rad/s


[eigenvalues,eigenvectors,kappa] = chr_root(model,Rotor_Spd);
figure(4) subplot(221) plotmode(model,eigenvectors(:,1),eigenvalues(1))
subplot(222) plotmode(model,eigenvectors(:,3),eigenvalues(3)) subplot(223)
plotmode(model,eigenvectors(:,5),eigenvalues(5)) subplot(224)
plotmode(model,eigenvectors(:,7),eigenvalues(7))

% plot orbits

figure(5) outputnode = [3 5]; axes('position',[0.2 0.53 0.2 0.2 ])


plotorbit(eigenvectors(:,1),outputnode,'Mode 1',eigenvalues(1))
axes('position',[0.39 0.53 0.2 0.2 ])
plotorbit(eigenvectors(:,3),outputnode,'Mode 2',eigenvalues(3))
axes('position',[0.58 0.53 0.2 0.2 ])
plotorbit(eigenvectors(:,5),outputnode,'Mode 3',eigenvalues(5))
axes('position',[0.2 0.25 0.2 0.2 ]) plotorbit(eigenvectors(:,7),outputnode,'Mode
4',eigenvalues(7)) axes('position',[0.39 0.25 0.2 0.2 ])
plotorbit(eigenvectors(:,9),outputnode,'Mode 5',eigenvalues(9))
axes('position',[0.58 0.25 0.2 0.2 ])
plotorbit(eigenvectors(:,11),outputnode,'Mode 6',eigenvalues(11))

eigval = chr_root(model,Rotor_Spd); nat_freq_Hz = abs(eigval(1:2:16)/(2*pi));

format short disp(' Model') disp(' ') disp([nat_freq_Hz])

i need the values used to draw mode shapes the below programs should be
pasted in the directory to get the result

Error in chr_root (line 108)


kk = whirl(evector(1:2:ndof),evector(2:2:ndof));
Error in (line 70)
[eigenvalues,eigenvectors,kappa] = chr_root(model,Rotor_Spd);
can anyone help with this?

You might also like