No es posible diagonalizar la matriz de amortiguamiento (como se realizo para las matrices $[M]$ y $[S]$)
Se va a resolver el mismo ejercicio planteado en el metodo de integracion directa:
Calculamos la respuesta del sistema utilizando el amortiguamiento de Rayleigh
MDOF Solucion de EOM acopladas
clear variables
clc
% Datos
% h = [h1 h2 ... hn]
h1=6.5; %[m] Altura de entrepiso
h2=5; %[m] Altura de entrepiso
h3=3; %[m] Altura de entrepiso
b=5; %[m] Longitud de la viga
gamma_h=2400; %[kg/m3] Peso especifico del concreto
W_lin1=156.87; %[kg/m] Peso lineal de la columna 1
W_lin2=114.03; %[kg/m] Peso lineal de la columna 2
W_lin3=77.64; %[kg/m] Peso lineal de la columna 3
Wcm=325; %[kg/m2]
e_losa=0.15; %[m]
Area=15*15; %[m2]
m_losa=e_losa*Area*gamma_h/2;
m_cm=Wcm*Area/2;
m1=2*(W_lin1*h1/2+W_lin2*h2/2);
m2=2*(W_lin2*h2/2+W_lin3*h3/2);
m3=2*(W_lin3*h3/2);
m1=m_losa+m_cm+m1;
m2=m_losa+m_cm+m2;
m3=m_losa+m_cm+m3;
E=200*10^9; %[Pa]
I1=788.710*10^6; %[mm4]
I2=457.446*10^6; %[mm4]
I3=220.325*10^6; %[mm4]
I1=I1*(1/1000)^4; %[m4]
I2=I2*(1/1000)^4; %[m4]
I3=I3*(1/1000)^4; %[m4]
k1=2*12*E*I1/h1^3;
k2=2*12*E*I2/h2^3;
k3=2*12*E*I3/h3^3;
xi_modo1=0.04;
xi_modo2=0.02;
% Definimos la carga
F3=5000; %[N]
w=2*pi; %Frecuencia de la carga
T=2*pi/w
Calculos
S=[k1+k2 -k2 0
-k2 k2+k3 -k3
0 -k3 k3]; % Matriz de rigidez
M=blkdiag(m1,m2,m3);
Calculo de las propiedades dinamicas
A=M^-1*S;
[fi_hat,omega2]=eig(S,M);
wn=sqrt(omega2);
Tn=2*pi./wn
% Normalizamos los vectores para los desplazamientos de la primera masa
fi=zeros(size(fi_hat));
for i=1:length(fi)
fi(:,i)=fi_hat(:,i)/(fi_hat(:,1)'*M*fi_hat(:,1))^0.5;
end
Calculo de la matriz de amortiguamiento
% Resolvemos el sistema de EQ para obtener los coeficientes
alfa=2*[1/wn(1,1),wn(1,1);1/wn(2,2),wn(2,2)]^-1*[xi_modo1;xi_modo2]
% Calculamos la matriz de amortiguamiento
C=alfa(1,1)*M+alfa(2,1)*S
xi_modo3=1/2*(alfa(1,1)/wn(3,3)+alfa(2,1)*wn(3,3))
Procedimiento de integracion Numerica
dt=0.005;
t=(0:dt:25);
P=zeros(3,length(t));
P(3,:)=F3*sin(w*t);
u0=[0 0 0]';
v0=[0,0,0]';
[xt,vt,at,~,~]=Diferencia_Central_MDOF(M,C,S,P,t,dt,u0,v0);
t1=t;
plot(t,xt(1,:))
hold on
plot(t,xt(2,:))
hold on
plot(t,xt(3,:))
grid on
xlabel('Tiempo [s]')
ylabel('Desplazamiento [m]')
set(gcf,'Visible','on','position',[0 0 1920 1080])
Calculamos la respuesta del sistema utilizando el amortiguamiento de Generalizado
MDOF Solucion de EOM acopladas
clear variables
clc
% Datos
% h = [h1 h2 ... hn]
h1=6.5; %[m] Altura de entrepiso
h2=5; %[m] Altura de entrepiso
h3=3; %[m] Altura de entrepiso
b=5; %[m] Longitud de la viga
gamma_h=2400; %[kg/m3] Peso especifico del concreto
W_lin1=156.87; %[kg/m] Peso lineal de la columna 1
W_lin2=114.03; %[kg/m] Peso lineal de la columna 2
W_lin3=77.64; %[kg/m] Peso lineal de la columna 3
Wcm=325; %[kg/m2]
e_losa=0.15; %[m]
Area=15*15; %[m2]
m_losa=e_losa*Area*gamma_h/2;
m_cm=Wcm*Area/2;
m1=2*(W_lin1*h1/2+W_lin2*h2/2);
m2=2*(W_lin2*h2/2+W_lin3*h3/2);
m3=2*(W_lin3*h3/2);
m1=m_losa+m_cm+m1;
m2=m_losa+m_cm+m2;
m3=m_losa+m_cm+m3;
E=200*10^9; %[Pa]
I1=788.710*10^6; %[mm4]
I2=457.446*10^6; %[mm4]
I3=220.325*10^6; %[mm4]
I1=I1*(1/1000)^4; %[m4]
I2=I2*(1/1000)^4; %[m4]
I3=I3*(1/1000)^4; %[m4]
k1=2*12*E*I1/h1^3;
k2=2*12*E*I2/h2^3;
k3=2*12*E*I3/h3^3;
xi_modo1=0.04;
xi_modo2=0.02;
xi_modo3=0.02;
% Definimos la carga
F3=5000; %[N]
w=2*pi; %Frecuencia de la carga
T=2*pi/w
Calculos
S=[k1+k2 -k2 0
-k2 k2+k3 -k3
0 -k3 k3]; % Matriz de rigidez
M=blkdiag(m1,m2,m3);
Calculo de las propiedades dinamicas
[fi_hat,omega2]=eig(S,M);
wn=sqrt(omega2);
Tn=2*pi./wn
% Normalizamos los vectores para los desplazamientos de la primera masa
fi=zeros(size(fi_hat));
for i=1:length(fi)
fi(:,i)=fi_hat(:,i)/(fi_hat(:,1)'*M*fi_hat(:,1))^0.5;
end
Calculo de la matriz de amortiguamiento
% Calculamos el velor de la matriz de amortiguamiento en coordenadas
% modales
C_hat=blkdiag(2*xi_modo1*wn(1,1),2*xi_modo2*wn(2,2),2*xi_modo3*wn(3,3));
% Convertimos las coordenadas de la matriz
C=M*fi*C_hat*fi'*M
fi'*C*fi
fi'*S*fi
fi'*M*fi
Procedimiento de integracion Numerica
dt=0.005;
t=(0:dt:25);
P=zeros(3,length(t));
P(3,:)=F3*sin(w*t);
u0=[0 0 0]';
v0=[0,0,0]';
[xt,vt,at,~,~]=Diferencia_Central_MDOF(M,C,S,P,t,dt,u0,v0);
t1=t;
plot(t,xt(1,:))
hold on
plot(t,xt(2,:))
hold on
plot(t,xt(3,:))
grid on
xlabel('Tiempo [s]')
ylabel('Desplazamiento [m]')
set(gcf,'Visible','on','position',[0 0 1920 1080])