Você está na página 1de 4

Universidad de Santiago

Ingenieria Civil en Obras Civiles


Análisis Sísimico – Profesor. Juan Díaz Aliaga.
Ayudante. Camilo Ormeño P.

Método Indicial de Rigidez – MATLAB.


Script para obtención de matriz de rigidez, considerando en esta ocasión que este no opera con la matriz [T] de
compatibilidad entre grados de libertad, debido a que en general las estructuras del curso no tienen.

%Código General

%1. Lectura Matriz de datos


barras=input('Numero Barras Totales :');
gdl=input('Numero de Grados de Libertad Totales :');
matrizinput=xlsread("matrize1.xlsx");

% 2. Aplicación del Método


[kq]=MetodoIndicial(matrizinput);

% 3. Condensación de la matriz de rigidez


n=input('Número de GDL Solicitados : ');

% 4. Matriz Condensada
[kc]=Condensar(kq,n);

% 5. Creación de Vector de Fuerza


fs=zeros(gdl,1);
for i=0:n-1
fs(length(fs)-i,1)=input('Ingrese Fuerza Solicitante: ');
end

% 6. Desplazamientos en los GDL


delta=inv(kq)*fs;

% 7. Esfuerzos Internos en todas las barras


barra=input('Barra a analizar :');
[sigma]=EsfuerzosInternos(barra,delta,matrizinput);

Funciones Utilizadas.
1. Método Indicial de Estructuras.
function [kq]=MetodoIndicial(matrizinput)
%Lectura Datos y Eliminación Primera Columna
matdatos=matrizinput;
e1=matdatos(1:end,2:end);

%Separacion de matrices
dimension=size(e1);
filas=dimension(1);
columnas=dimension(2);
matrizgdl=e1(1:filas,5:columnas);

%Número de GDL
n=max(max(matrizgdl));

%Determinación Matriz Rigidez Global


ktotal=zeros(n);
for i=1:filas
a=MatrizCompatibilidadLocal(e1(i,3),e1(i,4),e1(i,1),e1(i,2));
k=MatrizRigidezLocal(e1(i,3),e1(i,4),e1(i,1));
beta=MatrizBeta(n,i,matrizgdl);
kt=beta'*a'*k*a*beta;
ktotal=ktotal+kt;
kq=ktotal;
end
end

2. Matriz de Compatibilidad Local [𝒂].


function [a]=MatrizCompatibilidadLocal(ei,ae,l,alpha)
angulo=deg2rad(alpha);
if ei==0
a=[cos(angulo) sin(angulo) 0 -cos(angulo) -sin(angulo) 0];
elseif ae==0
a=[-sin(angulo)/l cos(angulo)/l 1 sin(angulo)/l -cos(angulo)/l 0;-
sin(angulo)/l cos(angulo)/l 0 sin(angulo)/l -cos(angulo)/l 1];
else
a=[-sin(angulo)/l cos(angulo)/l 1 sin(angulo)/l -cos(angulo)/l 0;-
sin(angulo)/l cos(angulo)/l 0 sin(angulo)/l -cos(angulo)/l 1;cos(angulo)
sin(angulo) 0 -cos(angulo) -sin(angulo) 0];
end
end

3. Matriz de Rigidez Local [𝒌].


function [k]=MatrizRigidezLocal(ei,ae,l)
if ei==0
k=ae/l;
elseif ae==0
k=[4*ei/l 2*ei/l;2*ei/l 4*ei/l];
else
k=[4*ei/l 2*ei/l 0;2*ei/l 4*ei/l 0;0 0 ae/l];
end
end

4. Matriz Beta de Compatibilidad [𝜷].


function [beta]=MatrizBeta(n,barra,matrizgdl)
beta=zeros(6,n);
gdlenbarra=matrizgdl(barra,:);
for i=1:6
gdl=gdlenbarra(i);
if gdl > 0
beta(i,gdl)=1;
else
end
end
end

5. Condensación Matriz de Rigidez.


function [Kc]=Condensar(kq,m)
dimkq=size(kq);
j=dimkq(1);
y=j-m;
kdd=kq(1:y,1:y);
kii=kq(y+1:j,y+1:j);
kdi=kq(y+1:j,1:y);
kid=kq(1:y,y+1:j);
Kc=kii-kdi*inv(kdd)*kid;
end
6. Determinación de Esfuerzos Internos en barra.
function [sigma]=EsfuerzosInternos(barra,delta,matrizinput)

%Matrices Individuales de la Barra


[a]=MatrizCompatibilidadLocal(matrizinput(barra,4),matrizinput(barra,5),matrizinp
ut(barra,2),matrizinput(barra,3));
[k]=MatrizRigidezLocal(matrizinput(barra,4),matrizinput(barra,5),matrizinput(barr
a,2));

%Separación de matrices
dimension=size(matrizinput);
filas=dimension(1);
columnas=dimension(2);
matrizgdl=matrizinput(1:filas,6:columnas);
n=max(max(matrizgdl));

%Matriz de Compatibilidad de GDL


[b]=MatrizBeta(n,barra,matrizgdl);

%Obtención de Esfuerzos
sigma=a'*k*a*b*delta;
end

Para la estructura a trabajar


Propiedades geométricas de los componentes de la estructura
25 ∙ 403
𝐸𝐼𝑣𝑖𝑔𝑎 = 240 ∙ = 32000000 𝑡𝑜𝑛𝑓 𝑐𝑚2
12
304
𝐸𝐼𝑐𝑜𝑙𝑢𝑚𝑛𝑎 = 240 ∙ = 16200000 𝑡𝑜𝑛𝑓 𝑐𝑚2
12
Matriz de datos de la estructura

Barra Largo 𝛼 𝐸𝐼 𝐴𝐸 𝑢𝑎 𝑣𝑎 𝜑𝑎 𝑢𝑏 𝑣𝑏 𝜑𝑏
1 400 90 16200000 0 0 0 0 9 0 7
2 400 90 16200000 0 0 0 0 9 0 8
3 600 0 32000000 0 9 0 7 9 0 8
4 400 90 16200000 0 9 0 7 10 0 5
5 400 90 16200000 0 9 0 8 10 0 6
6 600 0 32000000 0 10 0 5 10 0 6
7 400 90 16200000 0 10 0 5 11 0 3
8 400 90 16200000 0 10 0 6 11 0 4
9 600 0 32000000 0 11 0 3 11 0 4
10 400 90 16200000 0 11 0 3 12 0 1
11 400 90 16200000 0 11 0 4 12 0 2
12 600 0 32000000 0 12 0 1 12 0 2
Matriz de rigidez lateral

-6,0718 1,1584 -0,1266


9,8330 -5,8814 0,9745
-5,8814 9,4522 -4,5835
0,9745 -4,5835 3,7197

Desplazamientos laterales

2,6919
6,1912
8,9923
10,6256

Matriz de Esfuerzos Internos de la estructura [𝜎𝑇 ]

-5,000 -5,000 0,000 -4,500 -4,500 0,000 -3,500 -3,500 0,000 -2,000 -2,000 0,000
0,000 0,000 -5,578 0,000 0,000 -5,184 0,000 0,000 -3,610 0,000 0,000 -1,589
1211,774 1211,774 -1673,280 885,054 885,054 -1555,188 640,242 640,242 -1083,024 323,266 323,266 -476,734
5,000 5,000 0,000 4,500 4,500 0,000 3,500 3,500 0,000 2,000 2,000 0,000
0,000 0,000 5,578 0,000 0,000 5,184 0,000 0,000 3,610 0,000 0,000 1,589
788,226 788,226 -1673,280 914,946 914,946 -1555,188 759,758 759,758 -1083,024 476,734 476,734 -476,734

Você também pode gostar