0% encontró este documento útil (0 votos)
84 vistas3 páginas

Cálculo de Amortiguamiento en Estructuras

Este documento presenta dos funciones para el análisis dinámico de estructuras amortiguadas. La primera función calcula la matriz de amortiguamiento utilizando el algoritmo de Wilson y Penzien a partir de la matriz de rigidez y masas. La segunda función resuelve las vibraciones libres amortiguadas mediante la exponencial de matrices y grafica el desplazamiento del último piso en función del tiempo. Ambas funciones solicitan datos de entrada como el número de pisos, masas, coeficientes de amortiguamiento y condiciones iniciales.

Cargado por

Dina Alava
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
84 vistas3 páginas

Cálculo de Amortiguamiento en Estructuras

Este documento presenta dos funciones para el análisis dinámico de estructuras amortiguadas. La primera función calcula la matriz de amortiguamiento utilizando el algoritmo de Wilson y Penzien a partir de la matriz de rigidez y masas. La segunda función resuelve las vibraciones libres amortiguadas mediante la exponencial de matrices y grafica el desplazamiento del último piso en función del tiempo. Ambas funciones solicitan datos de entrada como el número de pisos, masas, coeficientes de amortiguamiento y condiciones iniciales.

Cargado por

Dina Alava
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

EJERCICIO 9

>> function [C]=amortiguamiento_1 (K,zeda)


%
% Calculo de la matriz de amortiguamiento utilizando
% Algoritmo de Wilson y Penzien
%
% Por: Roberto Aguiar Falconi
% CEINCI ESPE
% -----------------------------------------------------------------
% [C]=amortiguamiento_1 (K,zeda)
% -----------------------------------------------------------------
% K Matriz de rigidez lateral del portico plano.
% M Matriz de masas.
% NP Número de pisos.
% Por pantalla se indicara las masas de cada piso.
% Previamente el usuario habra calculado la matriz de rigidez lateral
% con otro programa.
% T Periodos de vibracion.
% C Matriz de amortiguamiento.
% zeda Vector que contiene los coeficientes de amortiguamiento.
%
NP = input (' \n Numero de pisos ');
M = zeros(NP,NP); C = zeros(NP,NP);
for i=1:NP
fprintf ('Indique la masa del piso , %2d',i);
M(i,i) = input (', Valor de la masa: ');
end
[V,D]=eig(K,M); Wn=sqrt(D); W=diag(Wn);
for i=1:NP
fi=V(:,i); mi=fi'*M*fi; aux=2*zeda(i)*W(i)/mi;
C=C+aux.*M*fi*fi'*M;
end
fprintf ('\n Matriz de amortiguamiento')
C
% ---fin
EJERCICIO 11
function [q]=vlibreamortiguado(K,zeda,Xo)
%
% Vibraciones libres considerando amortiguamiento.
% Solucion por medio del exponencial de una matriz.
%
% Por: Roberto Aguiar Falconi
% CEINCI ESPE
% -----------------------------------------------------------------
% [q]=vlibreamortiguado(K,zeda,Xo)
% -----------------------------------------------------------------
% K Matriz de rigidez lateral del portico plano, viene de consola.
% M Matriz de masas.
% NP Número de pisos, igual al número de grados de libertad.
% Por pantalla se indicara las masas de cada piso.
% Previamente el usuario habra calculado la matriz de rigidez lateral
% con otro programa.
% T Periodos de vibracion.
% C Matriz de amortiguamiento.
% zeda Vector que contiene los coeficientes de amortiguamiento. viene de
% consola, sirve para calcular matriz de amortiguamiento.
% Xo Vector de condiciones iniciales, viene de consola.
% F Matriz de orden 2nx2n
% q Los n primeros valores corresponden a los desplazamientos y los
% restantes a las velocidades.
% dt Incremento de tiempo con el cual se obtiene la respuesta.
% n Número de puntos que se desean obtener en la respuesta.
% Programado para dt=0.02 y n=100
dt=0.02; n=100;
NP = input (' \n Numero de pisos ');
M = zeros(NP,NP); C = zeros(NP,NP);
% Matriz de Masas for i=1:NP
fprintf ('Indique la masa del piso , %2d',i);
M(i,i) = input (', Valor de la masa: ');
end
% Matriz de amortiguamiento mediante algoritmo de Wilson y Penzien
[V,D]=eig(K,M); Wn=sqrt(D); W=diag(Wn);
for i=1:NP

fi=V(:,i); mi=fi'*M*fi; aux=2*zeda(i)*W(i)/mi;


C=C+aux.*M*fi*fi'*M;
end
% Matriz F
CERO=zeros(NP,NP); IDENT=eye(NP,NP);MIK=(-1)*inv(M)*K; MIC=(-1)*inv(M)*C;
F=[CERO IDENT; MIK MIC];
% Valores Propios de F
[V,D] = eig(F)
% Respuesta en el tiempo
for j=1:n
t=j*dt; E=expm(F*t); EE=real(E); q=EE*Xo;
tt(j)=t; des(j)=q(NP);
end
% Dibujo para la respuesta en el tiempo del último piso
plot (tt,des) xlabel ('Tiempo (s)');
ylabel ('Desplazamiento ultimo piso');
title ('Vibracion libre considerando amortiguamiento');
% ---fin

También podría gustarte