Está en la página 1de 16

Taller 5

CIVG-1030
Introducción a la Ingeniería sismorresistente
Nombre: Pasmay Días Pedro
Paralelo:01
Fecha:20/08/2019
Tema 1)
function[Sd,Sv,Sa,Svr]= CalculoEspectro(ag,dtag,nu,T,uo,vo)
% Calcular el espectro
m=1;
r=length(ag);
t=[0:dtag:(r-1)*dtag]';

for i=1:length(T)
if T(i)<0.2
dt(i)=T(i)/20;
else
dt(i)=0.01;
end
t1=[0:dt:t(end)]';

%interpolacion de rspuestas

ag1=interpl(t,ag,t1);
wn(i)=2*pi/T(i);
k(i)=wn(i)^2 * m;
c(i)=2*m*nu*wn(i);
pt2=m*ag1/100;

%Integración
[]=IntExacto()
end

1
end

Ilustración 1

Ilustración 2

2
Ilustración 3

Comentario

Para la ilustración 1 de arriba muestra la siguiente solución de aspectro de pseudo velocidad


y pseudo aceleración 5.656 y 3.55e+03.Generalmente en un sistema lineal y elástico que no
este amortiguado la energía de un sismo no se disipa de forma rápida.

Para la ilustración 2 nos muestra un valor de pseudo velocidad y pseudo aceleración de 2.83 y
880. 3 respectivamente.

En la última figura se observa que el aspectro de pseudo aceleración es mucho mayor que el
de pseudo velocidad con una relación de 400% mayor.

Tema 2)
function Kc = RigidezColumna(L,E,I,A)
%UNTITLED5 Summary of this function goes here
% Detailed explanation goes here

A=12*E*I/L^3;
B=6*E*I/L^2;
C=4*E*I/L;
D=A*E/L;

Kc=[A 0 -B -A 0 -A
0 C 0 0 -C 0
-B 0 C Q 0 C/2
-A 0 Q A 0 B
0 -D 0 0 D 0
-B 0 C/2 B 0 C];

3
end

Tabla 1 Rigidez columna

function Kv=RigidezViga(L,E,I)

% L: Longitud del elemento


% E: Módulo de Young
% I: Momento de inercia
% A: Área de la sección transversal
% Kv:Matriz de rigidez

EI=E*I;

Kv = EI*[ 12/L^3 6/L^2 -12/L^3 6/L^2


6/L^2 4/L -6/L^2 2/L
-12/L^3 -6/L^2 12/L^3 -6/L^2
6/L^2 2/L -6/L^2 4/L ];

end

Tabla 2 Rigidez viga

4
Comentario: Para realizar la rutina en Matlab se estableció en primer lugar las dimensiones
de la matriz de acuerdo con las especificaciones dadas.

Tema 3)

%Datos iniciales

E=20000*10^6; % Módulo de elasticidad


L=2.8; % Longitud de la columna
I=(0.5*0.5^3)/12; % Inercia
Ac=0.5*0.5; % Área de la sección transversal

%Condiciones de la viga

L=7;
I=(0.3*0.6^3)/12;

K=RigidezColumna(L,E,I,A);
K=RigidezViga(L,E,I);

Tc=[0 0 0 25 1 2
0 0 0 25 3 4
25 1 2 26 5 6
25 3 4 26 7 8
26 5 6 27 9 10
26 7 8 27 11 12
27 9 10 28 13 14
27 11 12 28 15 16
28 13 14 29 17 18
28 15 16 29 19 20
29 17 18 30 21 22
29 19 20 30 23 24];

v=[1 2 3 4

5
5 6 7 8
9 10 11 12
13 14 15 16
17 18 19 20
21 22 23 24];

K=zeros(30,30);

for i=1:12
K=ColocarK(K,Tc,i);
end

for i=1:6
K=ColocarK(K,Tv,i);
end

F=zeros(30,1);
F(30,1)=10000; %vector de las fuerzas (N)
u=K\F; %desplazamiento

%Desplazamiento lateral

DLat=u(25:30);

F1=K*[0;0;0;u(25);u(1);u(2)];
F2=K*[0;0;0;u(25);u(1);u(2)];

K11=K(1:24,1:24);
K12=K(1:24,25:30);
K21=K12';

6
K22=K(25:25:30);

K=inv(K11)*K12;
Kc=K22-K21*Kd

Comentario: Se utilizo las funciones especificadas en el ítem anterior para obtener el


desplazamiento lateral de cada piso y momento flector de la columna.

Tema 4)
function K=ColocarK(K,kelem,tabla,indice);

tablai=tabla(indice,:); % Lee los grados de libertad del


elemento i
i=find(tablai~=0); %indices rigidez del elemento
tablai=tablai(tablai~=0); %indices rigidez de estructura

K(tablai,tablai)=K(tablai,tablai)+kelem(i,i);

End

%Desplazamiento lateral

DLat=u(25:30);

F1=K*[0;0;0;u(25);u(1);u(2)];
F2=K*[0;0;0;u(25);u(1);u(2)];

K11=K(1:24,1:24);
K12=K(1:24,25:30);

7
K21=K12';
K22=K(25:25:30);

K=inv(K11)*K12;
Kc=K22-K21*Kd

Tema 5)
%Análisis Modal-espectral
Sa=load('viñadelmar .txt'); %espectro de pseudo-aceleración
Ts=Sa(:,1);
Sa=Sa(:,2)/100;

figure()
plot(Ts,Sa/g,'k');
title('Espectro elástico Pseudo-acelaración')
legend(num2str(max(Sa/g)));
xlabel('T(S)'); ylabel('Sa (g)');
xlim([0 5]); ylim([0 2]);

San=interp1(Ts,Sa,T); %comando para interpolar


Sdn=San./w.^2; %Dn

%desplazamiento modal
qn=diag(Etan)*Sdn;

%desplazamiento de techo sin considerar la fuerza estáticas


equivalentes
utecho=diag(phi(4,:))*qn;
utecho_AME=norm(utecho); %es la combinación

%Esfuerzo de corte basal

8
Vb=diag(Mnx)*San; %cortante en cada uno de los modos
Vb_AME=norm(Vb); % cortante con la combinación

% %momento de la columna izquierda


% Mcol=diag(kcf(3,:)*phi)*qn;
% Mcol_AME=norm(Mcol);

%mediante fuerzas equivalentes S y Sn (definicion)


S=M*iota;
Sn=M*phi*diag(Etan);
Q=zeros(4,1);
Q(1:5)=S;
us=K\Q;

Q=zeros(4,4);
Q(1:4,:)= Sn;
usn=K\Q;

%Desplazamiento del techo (U4)


rst=us(4);
rnst=usn(4,:)';
rn_=rnst/rst;

rn_utecho=rnst.*San; %obtengo rn para cada modo

utecho_AME2=norm(rn_utecho); %SRC

%Desplazamiento (U3)
rst=us(3);
rnst=usn(3,:)';
rn_=rnst/rst;

rn_u3=rnst.*San; %obtengo rn para cada modo

u3_AME2=norm(rn_u3); %S

%Desplazamiento (U2)
rst=us(2);
rnst=usn(2,:)';
rn_=rnst/rst;

rn_u2=rnst.*San; %obtengo rn para cada modo

u2_AME2=norm(rn_u2); %SR

%Desplazamiento (U1)
rst=us(1);
rnst=usn(1,:)';
rn_=rnst/rst;

rn_u1=rnst.*San; %obtengo rn para cada modo

u1_AME2=norm(rn_u1); %SRC

9
Esfuerzo de corte basal (Matlab)

Desplazamiento de techo (Matlab)

10
Esfuerzo de corte basal (SAP 2000)

Desplazamiento de techo (SAP 2000)

Momento en base de la columna izquierda (SAP 2000)

11
Comentario: La ventaja al usar Matlab es que nos permite conocer los calores exactos y el
valor de cada modo de forma individual a diferencia de SAP 2000 que solo permite realizar
el analisis modal al primer modo y al valor total de los momentos, el esfuerzo cortante basal
y desplazamiento de techo
El cortante basal máximo y el desplazamiento de techo máximo se encuentra en el primer
modo y sus valores son 36 Kips y 4 pulgadas.
Tanto el esfuerzo de corte basal como el desplazamiento de techo máximo tiene una gran
influencia en los primeros modos ya que a medida que aumenta la distancia entre pisos esto
disminuye.
Tema 6)
%Análisis Modal-espectral
Sa=load('viñadelmar .txt'); %espectro de pseudo-aceleración
Ts=Sa(:,1);
Sa=Sa(:,2)/100;
%gráfico del espectro de manta

figure()
plot(Ts,Sa/g,'k');
title('Espectro elástico Pseudo-acelaración')
legend(num2str(max(Sa/g)));
xlabel('T(S)'); ylabel('Sa (g)');
xlim([0 5]); ylim([0 2]);

San=interp1(Ts,Sa,T); %comando para interpolar


Sdn=San./w.^2; %Dn

%desplazamiento modal
qn=diag(Etan)*Sdn;

%desplazamiento de techo sin considerar la fuerza estáticas


equivalentes
utecho=diag(phi(4,:))*qn;
utecho_AME=norm(utecho); %es la combinación

%Esfuerzo de corte basal


Vb=diag(Mnx)*San; %cortante en cada uno de los modos
Vb_AME=norm(Vb); % cortante con la combinación

% %momento de la columna izquierda


% Mcol=diag(kcf(3,:)*phi)*qn;
% Mcol_AME=norm(Mcol);

%mediante fuerzas equivalentes S y Sn (definicion)


S=M*iota;
Sn=M*phi*diag(Etan);
Q=zeros(4,1);
Q(1:5)=S;
us=K\Q;

Q=zeros(4,4);
Q(1:4,:)= Sn;
usn=K\Q;

12
%Desplazamiento del techo (U4)
rst=us(4);
rnst=usn(4,:)';
rn_=rnst/rst;

rn_utecho=rnst.*San; %obtengo rn para cada modo

utecho_AME2=norm(rn_utecho); %SRC

%Desplazamiento (U3)
rst=us(3);
rnst=usn(3,:)';
rn_=rnst/rst;

rn_u3=rnst.*San; %obtengo rn para cada modo

u3_AME2=norm(rn_u3); %SRC

%Desplazamiento (U2)
rst=us(2);
rnst=usn(2,:)';
rn_=rnst/rst;

rn_u2=rnst.*San; %obtengo rn para cada modo

u2_AME2=norm(rn_u2); %SRC

%Desplazamiento (U1)
rst=us(1);
rnst=usn(1,:)';
rn_=rnst/rst;

rn_u1=rnst.*San; %obtengo rn para cada modo

u1_AME2=norm(rn_u1); %SRC

%Análisis de PUSHOVER para la estructura

ui=0.007;
vi=14;
kf=200;
ki=vi/ui;
fac=(vi)/(sum(Sn(:,1)));
Pref=Sn(:,1)*fac; %S1
l=[0 1.0 1.1 1.2 1.3 1.4 1.5 1.6];

K=(2*eye(4)-diag(diag(eye(3)), -1)-diag(diag(eye(3)), 1));


K(4,4)=1;
K=ki*K;

u=zeros(4,1);
F=zeros(4,1);

%Método Newton-Raphson
tol=0.001;
for j=1:length(l)-1

13
u(:,j+1)=u(:,j);
F(:,j+1)=F(:,j);
P=l(j+1)*Pref;
R=P-F(:,j+1);
i(j)=0;

while norm(R)>tol
deltau=K\R;
u(:,j+1)=u(:,j+1)+deltau;

di=(eye(4)-diag(diag(eye(3)),-1))*u(:,j+1);
[Ve,ke]=bilinealVK(di,ki,kf,vi);
F(:,j+1)=(eye(4)-diag(diag(eye(3)),1))*Ve;
%%%
K_i=eye(3)*ke(2:4); %%%%%
K_c=(eye(4)+diag(diag(eye(3)),1))*ke;
K=(diag(K_c)-diag(K_i,-1)-diag(K_i,1));

R=P-F(:,j+1);
i(j)=i(j)+1;
end
end

%Gráfica 1
%Desplazamiento de techo vs Corte basal
x=u(4,:);
y=sum(F);
figure()

plot(x,y,'-ro'), grid on
title('Desplazamiento de techo vs Corte basal')
xlabel('\mu (m)'); ylabel('V(KN)');
xlim([0 0.1]); ylim([0 25]);

%Gráfica 2
%Desplazamiento de techo vs Corte basal
%piso 1
x1=u(1,:);
y1=sum(F(1:4,:));

figure()
plot(x1,y1,'-bo'), grid on
title('Desplazamiento de entre piso vs Esfuerzo Cortante de piso 1')
xlabel('\mu (m)'); ylabel('V(KN)');
xlim([0 0.1]); ylim([0 25]);

%piso 2
x2=diff(u(1:2,:));
y2=sum(F(2:4,:));

figure()
plot(x2,y2,'-ko'), grid on
title('Desplazamiento de entre piso vs Esfuerzo Cortante de piso 2')
xlabel('\mu (m)'); ylabel('V(KN)');
xlim([0 0.1]); ylim([0 25]);

14
% K=ColocarK(K,kelem,tabla,indice);
%
% Funcion para armar matriz de rigidez de una estructura
%
% INPUT
% tabla : tabla de colocación con los grados de libertad.
% Una fila para cada elemento
% K : Matriz de rigidez de la estructura inicial
% kelem : Matriz de rigidez del elemento
% indice: Fila de la tabla con los grados de libertad del elemento
%
% OUTPUT
% K : Matriz de rigidez de la estructura incorporando la rigidez
del

function K=ColocarK(K,kelem,tabla,indice);

tablai=tabla(indice,:); % Lee los grados de libertad del elemento


i
i=find(tablai~=0); %indices rigidez del elemento
tablai=tablai(tablai~=0); %indices rigidez de estructura

K(tablai,tablai)=K(tablai,tablai)+kelem(i,i);

End

Esfuerzo de corte basal

15
Desplazamiento de techo

16

También podría gustarte