Sunteți pe pagina 1din 3

%% METODO DE RIGIDEZ EN PORTICOS

% ULEAM
% ESTRUCTURAS III
% SEXTO A 2017-1
% AGOSTO 2017
% ALCIVAR PINCAY TOMMY
%
% Portico plano considerando las deformaciones axiales en vigas y columnas

%% DATOS GENERALES
E=1.8e6; %modulo de elasticidad
%columnas
bc=0.30; hc=0.40;
%vigas
bv=0.30; hv=0.45;

%% CALCULO DE AREAS E INERCIAS


Ac=bc*hc; %area de columnas
Av=bv*hv; %area de vigas
Ic=bc*hc^3/12; %inercia de columna
Iv=bv*hv^3/12; %inercia de viga

%% LONGITUDES
L1=5;
L2=4;
L3=3.64; L4=L3;
L5=3.5; L6=L5;

%% MATRICES DE RIGIDEZ EN COORDENADAS LOCALES


% poner Areas, inercias de viga o columna atento
[k1] =k_port(L1,Av,Iv,E);
[k2] =k_port(L2,Av,Iv,E);
[k3] =k_port(L3,Ac,Ic,E);
[k4] =k_port(L4,Ac,Ic,E);
[k5] =k_port(L5,Ac,Ic,E);
[k6] =k_port(L6,Ac,Ic,E);

%% MATRICES DE TRANSFORMACION
% poner angulos como muestra la funcion [T] = T_port(L,alfa,beta1,beta2)
[T1] = T_port(L1,0,0,0);
[T2] = T_port(L2,0,0,0);
[T3] = T_port(L3,74.05,-15.95,0);
[T4] = T_port(L4,74.05,0,0);
[T5] = T_port(L5,90,0,0);
[T6] = T_port(L6,90,0,0);
%% MATRIZ DE RIGIDEZ EN COORDENADAS DE NUDO
% K=T*k*T'
K1= T1*k1*T1';
K2= T2*k2*T2';
K3= T3*k3*T3';
K4= T4*k4*T4';
K5= T5*k5*T5';
K6= T6*k6*T6';
%% VECTORES DE EMSAMBLE
ve_1=[7 8 9 10 11 12];
ve_2=[1 2 3 4 5 6];
ve_3=[13 14 15 7 8 9];
ve_4=[7 8 9 1 2 3];
ve_5=[16 17 18 10 11 12];
ve_6=[10 11 12 4 5 6];
%% ENSAMBLAJE DE LA MATRIZ DE LA ESTRUCTURA
%[K] = EnsamGDL(K0,kel,gdl) crea la matriz total e ira agregando K0=S
% kel=K1 regidez del elemento, gdl grado de libertad configurado

S=zeros(18,18);
[S] = EnsamGDL(S,K1,ve_1);
[S] = EnsamGDL(S,K2,ve_2);
[S] = EnsamGDL(S,K3,ve_3);
[S] = EnsamGDL(S,K4,ve_4);
[S] = EnsamGDL(S,K5,ve_5);
[S] = EnsamGDL(S,K6,ve_6);

%% vectores de carga
QL=[0 0 0 7 0 0 0 0 0 4 0 0 ]';
% aqui (1:12,1:12) antes de la coma para filas despues de la coma para
% columnas
SL=S(1:12,1:12);
format long

DL=SL\QL;
%% REACCCIONES
% atento q debes selecciar despues del ultimo grado de libertad
SRL=S(13:18,1:12);
format short
QR=SRL*DL;

%% desplazamientos en coordenadas de nudos


%DR sera igual a la cantidad de vectores en reaciones
DR=zeros(6,1);
D=[DL;DR];

D1=D(ve_1);
D2=D(ve_2);
D3=D(ve_3);
D4=D(ve_4);
D5=D(ve_5);
D6=D(ve_6);

%% desplazamientos en coordenadas locales


d1=T1'*D1;
d2=T2'*D2;
d3=T3'*D3;
d4=T4'*D4;
d5=T5'*D5;
d6=T6'*D6;

%% acciones de los elementos en coordenadas locales


a1=k1*d1;
a2=k2*d2;
a3=k3*d3;
a4=k4*d4;
a5=k5*d5;
a6=k6*d6;
%para entender el grafico en los ''a'' el primer valor indica al valor
%[inicial
% final
% deformacion axial]
%considerar los signoscrear funcion y pegarfunction [k] = k_port(L,A,I,E)%Esta
funcion calcula la matriz de rigidez del elemento%de un portico de seccion
constante de deformaciones axiales%L, longitud del elemento%A, area de la seccion
%I, momento de inercia%E, modulo de elasticidadk1=4*E*I/L;a=k1/2;Ra=A*E/L;k=[k1 a 0
a k1 0 0 0 Ra];endcrear funcion y pegarfunction [T] =
T_port(L,alfa,beta1,beta2)%esta funcion calcula la matriz de transformacion del
elemento%de un portico plano con deformaciones axiales% L, longitud del elemento%
Alfa, angulo formado entre el eje global y eje local% beta1, angulo formado entre
el eje global y eje de nudo incial% beta2, angulo formado entre el eje globa y el
eje de nudo finalc1=cosd(alfa-beta1);c2=cosd(alfa-beta2);s1=sind(alfa-
beta1);s2=sind(alfa-beta2);T=[-1/L*s1 -1/L*s1 -c1 1/L*c1 1/L*c1
-s1 1 0 0 1/L*s2 1/L*s2 c2 -1/L*c2
-1/L*c2 s2 0 1 0]; endcrear funcion y pegarfunction
[K] = EnsamGDL(K0,kel,gdl)% Ensamblado de una matriz en otra por grados de libertad
% Input% K0 : matriz original% kel : matriz a ensamblar% gdl : vector con
las posiciones de ensamblado% Output% K : matriz ensamblada numGdl=size(kel);%
maxgdl = maximo gdl aportado por este elementomaxgdl=max(gdl);sizeIni=size(K0);%
Definir la nueva matrizsizeNew=max([maxgdl sizeIni]);K=zeros(sizeNew,sizeNew);%
Copiar la matriz originalfor i=1:sizeIni for j=1:sizeIni K(i,j)=K0(i,j);
endend% Ensamblar la matriz del nuevo elementofor i=1:numGdlifila=gdl(i); for
j=1:numGdl icol=gdl(j); K(ifila,icol)=K(ifila,icol)+kel(i,j); endend

S-ar putea să vă placă și