Universidad de Santiago 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=input('Numero Barras Totales :'); :'); gdl=input('Numero gdl=input('Numero de Grados de Libertad Totales :'); :'); matrizinput=xlsread("matrize1.xlsx" 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 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 for i=0:n-1 fs(length(fs)-i,1)=input('Ingrese fs(length(fs)-i,1)=input( 'Ingrese Fuerza Solicitante: '); '); end % 6. Desplazamientos en los GDL
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
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
= 240 ∙
25∙ 40 12
= 240 ∙
= 32000000
30 = 16200000 12
Matriz de datos de la estructura Barra
Largo
1
400
90
16200000
0
0
0
0
9
0
7
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
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
476,734
476,734
-1083,024
-476,734
-476,734