You are on page 1of 8

Propulsion Plant of a water vehicle(ship) is shown in Figures.

The propeller of ship


is driven by a Six -cylinder 4-stroke diesel engine running at 470 rpm through a
reduction gear drive. The propeller is required to be driven at 105 rpm. Each crank
2
throw can be modelled as an individual rotor of equivalent inertia of 450 kg-m .
2
Engine is coupled to the pinion having mass moment of inertia of 62 kg-m . And
2
the gear having mass moment of inertia of 268 kg-m is coupled to the propeller
through a stepped shaft as shown in the Fig. 2. It is required to investigate and
analyze the torsional vibrations.
The system is reduced to 3-Degree-freedom torsional vibrating system by taking
320 ɸ as diameter of equivalent shaft and by replacing all the 6 crank throws by
one inertia,gear drives by one inertia and including the effects of the gears.The
Fig.1,Fig.2 and Fig.3 represent Physical schematic system,Torsional vibration model
respectively.
Develop a generic MATLAB program to determine all the natural frequencies
[Eigen values] and the corresponding node point locations and anti-nodes for all
the modes of vibrations. Interpret the results and suggest suitable
recommendations for design modifications.
9 2
G = 84 X 10 N/ m

62

Fig.1Physical Modelling
Fig. 2 Schematic diagram

lumped parameters
Hint:Treat the above problem as a Three-degree-freedom-torsional-vibrating-
system with three values of inertias i.e I1, I2, I3 and three values of torsion
stiffness’s of kt1,kt2,kt3 . Assume kt1 = 0.
Script file
%%Natural frequency of a three rotor torsional vibrating system
clc
clear all
close all

%% Inertia values
Ia=input('Enter the first inertia value kg-m2');
Ip=input('Enter the pinion inertia value kg-m2');
Ig=input('Enter the gear inertia value kg-m2');
Ic=input('Enter the third inertia value kg-m2');
%% length between the rotors
L1=input('Enter the distance between the first and second rotor in an actual
system, m :');
L2=input('Enter the distance of first part stepped shaft between the Second and
third rotor in an actual system, m :');
L3=input('Enter the distance of second part stepped shaft between the Second and
third rotor in an actual system, m :');
L4=input('Enter the distance of third part stepped shaft between the Second and
third rotor in an actual system, m :');
% Dia. of shafts
D1=input('Enter the diameter of part between the first and second rotor in an
actual system, diameter,m');
D2=input('Enter the diameter of first part stepped shaft between the Second and
third rotor in an actual system, m :');
D3=input('Enter the diameter of second part stepped shaft between the Second and
third rotor in an actual system, m :');
D4=input('Enter the diameter of third part stepped shaft between the Second and
third rotor in an actual system, m :');
%%Speed of Driver in rpm
N1=input('Enter the speed of driver machine in rpm:');
N2=input('Enter the speed of driven machine in rpm:');
%%Gear ratio
g=N1/N2;
%%Effective length between first and second rotor
LE1=L1;
%%Effective length between second and third rotor
LE2=g^2*((L2*(D1/D2)^4)+(L3*(D1/D3)^4)+(L4*(D1/D4)^4));
%%Effective length
LE=LE1+LE2;
Ice=Ic/g^2;
Ibe=Ip+(Ig/g^2);
X=Ice/Ia;
%%Rigidity modulus
G=84*10^9;
%Polar moment of inertia
J=(pi/32)*((D1)^4);
A=Ice*(1+X)+Ibe*X;
B=-Ibe*LE1-Ibe*X*LE2-Ice*LE;
C=Ibe*LE1*LE2;
Lc1=(-B+sqrt(B*B-4*A*C))/(2*A);
Lc2=(-B-sqrt(B*B-4*A*C))/(2*A);
La1=X*Lc1;
La2=X*Lc2;
k1=0;
k3=(G*J)/(LE);
k2=(G*J)/(L1);
I=[1 0 0;0 1 0;0 0 1]; %Identity Matrix
M=[Ia 0 0;0 Ibe 0;0 0 Ice];%Mass Matrix
K=[k1+k2 -k2 0;-k2 k2+k3 -k3;0 -k3 k3]; %Stiffness Matrix
MI=inv(M); % Matrix Inverse
D=MI*K; %Dynamic Matrix
[v E]=eig(D) %Eigen values and vectors

%%Angular frequency
Wn3=sqrt(E(1,1));
Wn1=sqrt(E(2,2));
Wn2=sqrt(E(3,3));
%%Mode shapes
Mode1=[((v(1,1)/v(1,1)));((v(2,1)/v(1,1)));((v(3,1)/v(1,1)))]
Mode2=[((v(1,2)/v(1,2)));((v(2,2)/v(1,2)));((v(3,2)/v(1,2)))]
Mode3=[((v(1,3)/v(1,3)));((v(2,3)/v(1,3)));((v(3,3)/v(1,3)))]
%%Linear frequency/ Natural frequency
Fn1=Wn1/(2*pi)
Fn2=Wn2/(2*pi)
Fn3=Wn3/(2*pi)

%% Output results
OP=sprintf('Distance of first node point from end C, Lc1 = %f m, Lc2 = %f
m',Lc1,Lc2);
disp(OP);
OP1=sprintf('Distance of second node point from end A, La1 = %f m, La2 = %f
m',La1,La2);
disp(OP1);
OP0=sprintf('Angular frequency=%f rad/sec, first Natual frequency is =%f
Hz',Wn1,Fn1);
disp(OP0);
OP2=sprintf('Angular frequency=%f rad/sec, second Natual frequency is =%f
Hz',Wn2,Fn2);
disp(OP2);
OP3=sprintf('Angular frequency=%f rad/sec, third Natual frequency is =%f
Hz',Wn3,Fn3);
disp(OP3);

%%PLots
X=[1;2;3];
figure(1)
plot(X,Mode1,'-o',X,Mode2,'-o',X,Mode3,'-o');
x2=2;
y2=Mode1(2,1);
x3=3;
y3=Mode1(3,1);
txt1=['',num2str(y2)];
txt2=['',num2str(y3)];
text(x2,y2,txt1)
text(x3,y3,txt2)
%
x2=2;
y2=Mode2(2,1);
x3=3;
y3=Mode2(3,1);
txt3=['',num2str(y2)];
txt4=['',num2str(y3)];
text(x2,y2,txt3)
text(x3,y3,txt4)
%
x2=2;
y2=Mode3(2,1);
x3=3;
y3=Mode3(3,1);
txt5=['',num2str(y2)];
txt6=['',num2str(y3)];
text(x2,y2,txt5)
text(x3,y3,txt6)
title('Mode shapes')
xlabel('Distance between masses')
hold off
Result

Eigen Vector
v =

-0.0265 -0.5774 -0.1068


0.9996 -0.5774 -0.0528
-0.0126 -0.5774 0.9929

E =

1.0e+05 *

2.2936 0 0
0 0.0000 0
0 0 0.0300

Modes
Mode1 =

1.0000
-37.6721
0.4739

Mode2 =

1.0000
1.0000
1.0000
Mode3 =

1.0000
0.4940
-9.2956

Natural Frequencies
Fn1 =
2.0277e-07
Fn2 =
8.7189
Fn3 =
76.2219

Node points locations

Distance of first node point from end C, Lc1 = 92.971620 m, Lc2 = 1.276912 m
Distance of second node point from end A, La1 = 10.139617 m, La2 = 0.139262 m
Angular frequency=0.000001 rad/sec, first Natural frequency is =0.000000 Hz
Angular frequency=54.782420 rad/sec, second Natural frequency is =8.718893 Hz
Angular frequency=478.916151 rad/sec, third Natural frequency is =76.221873 Hz

Mode shapes

You might also like