Documente Academic
Documente Profesional
Documente Cultură
TAREA
NIVEL: IX” D”
NOMBRE:
DOCENTE:
ING. MARCOS ZEVALLOS.
ASIGNATURA:
INGENIERÍA SISIMCA
function [k]=kviga(b,h,L,E)
%
% Matriz de rigidez de un elemento viga sin nudos rigidos
%
% Por: Roberto Aguiar Falconi
% CEINCI-ESPE
%-------------------------------------------------------------
% [k]=kviga(b,h,L,E)
%-------------------------------------------------------------
% b: base de la seccion transversal.
% h: altura de la seccion transversal.
% L: longitud del elemento.
% E: modulo de elasticidad del material
% beta: factor de forma se considera 1.2
G=0.4*E; beta=1.2; inercia=b*h^3/12; area=b*h;
fi=(3*E*inercia*beta)/(G*area*L*L);
kf=((4*E*inercia)*(1+fi))/(L*(1+4*fi)); a=((2*E*inercia)*(1-
2*fi))/(L*(1+4*fi));
kpf=kf; b=(kf+a)/L; bp=b; t=(b+bp)/L;
k(1,1)=t; k(1,2)=b; k(1,3)=-t; k(1,4)=bp; k(2,2)=kf; k(2,3)=-b; k(2,4)=a;
k(3,3)=t; k(3,4)=-bp; k(4,4)=kpf;
for i=1:3;
for j=i+1:4;
k(j,i)=k(i,j);
end
end
fprintf ('\n Matriz de Rigidez de Elemento Viga: \n\n')
for i=1:4
for j=1:4
fprintf ('%10.3f', k(i,j))
end
fprintf('\n')
end
%---fin---
RESPUESTA
[k]=kviga (0.30,0.30,3.70,2100000)
k=
1.0e+03 *
RESPUESTA
[k]=kcolumna (0.30,0.30,3.70,2100000)
r=
5.1081e+04
k=
1.0e+04 *
0 5.1081 0 0 -5.1081 0
0 -5.1081 0 0 5.1081 0
Se puede numerar primero los dos grados de libertad de cada nudo interior y al final los
desplazamientos horizontales de piso, así se ha procedido en la figura 4.6. Se pudo también
numerar en primer lugar los desplazamientos horizontales de piso y al final los dos grados de
libertad de cada nudo.
function [CG]=cg(nod,np,nr)
%
% Programa para encontrar las coordenadas generalizadas
% orientado al cálculo de la matriz de rigidez lateral
%
% Por: Roberto Aguiar Falconi
% CEINCI-ESPE
%-------------------------------------------------------------
% [CG]=cg(nod,np.nr)
%-------------------------------------------------------------
% CG Matriz de coordenadas generalizadas
% nod Número de nudos
% np Número de pisos
% nr Número de nudos restringidos
%
ngl=0; CG=ones(nod,3);
for i=1:np
fprintf ('Nudo mayor del piso, %d ',i)
nn(i)=input (' Numero del nudo:');
end
% análisis de restricciones
for i=1:nr
nudres= input ('\n Numero del nudo restringido:');
X1 = input (' Desplazamiento en X ,si(s) o no(n):','s');
if X1=='n'
CG(nudres,1)=0;
else
ngl=ngl+1; CG(nudres,1)=ngl;
end
Y1 = input (' Desplazamiento en Y ,si(s) o no(n):','s');
if Y1=='n'
CG(nudres,2)=0;
else
ngl=ngl+1; CG(nudres,2)=ngl;
end
R1 = input (' Rotacion ,si(s) o no(n):','s');
if R1=='n'
CG(nudres,3)=0;
else
ngl=ngl+1; CG(nudres,3)=ngl;
end
end
% grados de libertad
for i=1:nod
for j=1:2
if CG(i,j+1)~=0
ngl=ngl+1; CG(i,j+1)=ngl;
else,end
end
end
ico=0;ii=1;
for i=1:nod-nr
j=nr+i;
if ico==0
ngl=ngl+1; ico=1;
else, end
if j<=nn(ii)
CG(j,1)=ngl;
else,end
if j==nn(ii)
ico=0;ii=ii+1;
else,end
end
% ---end---
Respuesta
>> [CG] = cg (6,2,2)
CG =
0 0 0
0 0 0
9 1 2
9 3 4
10 5 6
10 7 8
Ahora, se resuelve el problema, utilizando el programa de CEINCI-LAB denominado:
krigidez_nudo_rigido que encuentra la matriz de rigidez por ensamblaje directo. Este
programa llama al programa kmiembro_nudo_rigido. El usuario debe elaborar su propio
programa de ordenador e indicar los datos que requieren los programas que va a utilizar.
A continuación, se indica el listado del programa que se ha elaborado para calcular la matriz
de rigidez lateral de la estructura de la figura 4.19. Los resultados han sido ya presentados.
Programa krigidez_nudo_rigido
function [SS]=krigidez_nudo_rigido(ngl,ELEM,cc1,cc2,L,seno,coseno,VC,E)
%
% Programa para encontrar la matriz de rigidez de un portico plano
% considerando nudos rígidos
%
% Por: Roberto Aguiar Falconi
% CEINCI-ESPE
% Noviembre de 2011
%-------------------------------------------------------------
% [SS]=krigidez_nudo_rigido(ngl,ELEM,cc1,cc2,L,seno,coseno,VC,E)
%-------------------------------------------------------------
% ELEM Matriz que contiene la base y la altura de los elementos
% para el caso de pórticos planos.
% cc1 Vector con longitud del nudo inicial de cada elemento.
% cc2 Vector con longitud del nudo final de cada elemento
% L Vector que contiene la longitud de los elementos.
% Este programa determina la luz libre.
% seno Vectorque contiene los senos de los elementos
% coseno Vector que contiene los cosenos de los elementos
% VC Matriz que contiene los vectores de colocación de elementos
% E Modulo de elasticidad del material
% SS Matriz de rigidez de la estructura
% ngl Número de grados de libertad
%
mbr=length(L); SS=zeros(ngl);
for i=1:mbr
b=ELEM(i,1);h=ELEM(i,2);sen=seno(i);cose=coseno(i);
c1=cc1(i); % Longitud de nudo rigido de nudo inicial.
c2=cc2(i); % Longitud de nudo rigido de nudo final.
Lon=L(i)-c1-c2; %Luz libre
[k]=kmiembro_nudo_rigido(b,h,c1,c2,Lon,E,sen,cose);
for j=1:6
jj=VC(i,j);
if jj==0
continue
end
for m=1:6
mm=VC(i,m);
if mm==0
continue
end
SS(jj,mm)=SS(jj,mm)+k(j,m);
end
end
end
return
%---fin---
Respuesta
>> [SS]=krigidez_nudo_rigido(7,[0.80 1.20; 0.80 1.20; 1.0 2.0],[0; 1; 0.6],[1; 0; 0.6],[4.0; 4.0;
3.40],[0; 0; 1],[1; 1; 0],[1 2 3 1 4 5; 1 4 5 1 6 7; 0 0 0 1 4 5],1800000)
SS =
1.0e+06 *
0.4327 0 0 0 0.7357 0 0
Respuesta
[SS]=krigidez(15,[0.3 0.8;0.3 0.8;0.3 0.8;0.3 0.8;0.3 0.7;0.3 0.7],[2.9; 2.9; 2.9; 2.9; 5.7; 5.7],[1; 1; 1;
1; 0; 0],[0; 0; 0; 0; 1; 1],[0 0 0 1 4 5; 0 0 0 1 6 7; 1 4 5 2 8 9; 1 6 7 2 10 11;
1 4 5 1 6 7; 2 8 9 2 10 11],1800000)
SS =
1.0e+05 *
Columns 1 through 11
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
Columns 12 through 15
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0