Download as pdf or txt
Download as pdf or txt
You are on page 1of 1

24/7/22 11:08 PM C:\Users\ppaat\Document...\bearmtx.

m 1 of 1

function [Mb,Cb,Kb,zero_dof] = bearmtx(model,Rotor_Spd)

Node_Def = model.node;
Bearing_Def = model.bearing;

% determining the number of degrees of freedom and initialise matrices

[no_node,ncol_node] = size(Node_Def);
ndof = 4*no_node;
[nbearing,ncol_bearing] = size(Bearing_Def);
Mb = zeros(ndof,ndof);
Cb = zeros(ndof,ndof);
Kb = zeros(ndof,ndof);
zero_dof = [];

% for each bearing, decide on bearing type and include

for i = 1:nbearing

Bearing_Type = round(Bearing_Def(i,1));

Kb1 = zeros(4,4);
Cb1 = zeros(4,4);
Mb1 = zeros(4,4);

if Bearing_Type == 1 % short, stiff bearing - pinned boundary condition


n1 = Bearing_Def(i,2);
zero_dof = [zero_dof 4*n1-3 4*n1-2];
end

if Bearing_Type == 2 % long, stiff bearing - clamped boundary condition


n1 = Bearing_Def(i,2);
zero_dof = [zero_dof 4*n1-3:4*n1];
end

if Bearing_Type == 3 % constant stiffness and damping


Kb1(1:2,1:2) = [Bearing_Def(i,3:4); Bearing_Def(i,5:6)];
Cb1(1:2,1:2) = [Bearing_Def(i,7:8); Bearing_Def(i,9:10)];
end

nnode = Bearing_Def(i,2);
dof = (4*nnode-3):4*nnode;
Kb(dof,dof) = Kb(dof,dof) + Kb1;
Cb(dof,dof) = Cb(dof,dof) + Cb1;
Mb(dof,dof) = Mb(dof,dof) + Mb1;

end

You might also like