portico en matlab ejercicio2.docx

19
% UNSCH - FIMGC - EFPIC % PROGRAMA PARA EL ANALISIS ESTRUCTURAL DE PORTICOS USANDO LA MATRIZ A disp('==================================================================' ) disp('==================================================================' ) fprintf ('\n >>>>>>>>>>>>>>>>>>>>>> PORTICOS <<<<<<<<<<<<<<<<< \n'); fprintf ('\n >>>>>>>>>>>>>>>>>>>>>>>> POR METODO DE RIGIDECES <<<<<<<<<<<<<<<<<<< \n'); disp('==================================================================' ) fprintf ('\n >>>>>>>>>>>>>>>>>>>>>>>> ENTRADA DE DATOS <<<<<<<<<<<<<<<<<<<<<< \n'); disp('==================================================================' ) % ARREGLO CG. COORDENADAS GENERALES nod=input('\n # DE NUDOS: ') ; nnr=input('\n # DE NUDOS RESTRINGIDOS:'); ngl=0; CG=ones(nod,3); % ANALISIS DE RESTRICCIONES for i=1:nnr nudres= input ('\n # DEL NUDO RESTRINGIDO:'); X1 = input ( ' \n DESPLAZAMIENTO en X ,si(s) o no(n): ','s'); if X1=='n' CG(nudres,1)=0; else,end Y1 = input ('\n DESPLAZAMIENTO en Y ,si(s) o no(n): ','s') ; if Y1=='n' CG(nudres,2)=0; else,end R1 = input ('\n ROTACION ,si(s) o no(n):','s'); if R1=='n' CG(nudres,3)=0; else,end end % GRADOS DE LIBERTAD for i=1:nod for j=1:3 if CG(i,j)~=0 ngl=ngl+1; CG(i,j)=ngl; else,end end end

Upload: ronald

Post on 13-Jul-2016

120 views

Category:

Documents


11 download

TRANSCRIPT

Page 1: portico en matlab ejercicio2.docx

% UNSCH - FIMGC - EFPIC% PROGRAMA PARA EL ANALISIS ESTRUCTURAL DE PORTICOS USANDO LA MATRIZ Adisp('==================================================================')disp('==================================================================')fprintf ('\n >>>>>>>>>>>>>>>>>>>>>> PORTICOS <<<<<<<<<<<<<<<<< \n');fprintf ('\n >>>>>>>>>>>>>>>>>>>>>>>> POR METODO DE RIGIDECES <<<<<<<<<<<<<<<<<<< \n');disp('==================================================================')fprintf ('\n >>>>>>>>>>>>>>>>>>>>>>>> ENTRADA DE DATOS <<<<<<<<<<<<<<<<<<<<<< \n');disp('==================================================================')% ARREGLO CG. COORDENADAS GENERALESnod=input('\n # DE NUDOS: ') ;nnr=input('\n # DE NUDOS RESTRINGIDOS:');ngl=0;CG=ones(nod,3);% ANALISIS DE RESTRICCIONES for i=1:nnr nudres= input ('\n # DEL NUDO RESTRINGIDO:'); X1 = input ( ' \n DESPLAZAMIENTO en X ,si(s) o no(n): ','s'); if X1=='n' CG(nudres,1)=0; else,end Y1 = input ('\n DESPLAZAMIENTO en Y ,si(s) o no(n): ','s') ; if Y1=='n' CG(nudres,2)=0; else,end R1 = input ('\n ROTACION ,si(s) o no(n):','s'); if R1=='n' CG(nudres,3)=0; else,end end% GRADOS DE LIBERTADfor i=1:nod for j=1:3 if CG(i,j)~=0 ngl=ngl+1; CG(i,j)=ngl; else,end end end CG% ARREGLOS VECTORIALES ini y fin (NUDOS INICIALES Y FINALES)mbr=input('\n # DE MIEMBROS:' );clear iniclear finfor i=1:mbr fprintf ('\n MIEMBRO %d:',i); ini(i)=input ('\n # NUDO INICIAL:'); fin(i)=input ('\n # NUDO FINAL:');end

Page 2: portico en matlab ejercicio2.docx

ini fin% ARREGLO VC. VECTORES DE COLOCACIONclear VC for i=1:mbr for k=1:3 VC(i,k)= CG(ini(i), k); VC(i,k+3) = CG(fin(i),k); end end VC% ARREGLO L, SENO y COSENOfprintf ('\n COORD. NUDOS: \n');for i=1:nod fprintf ('\n NUDO %d: ',i); x(i) = input ('\n COORD. en x [m]:'); y(i) = input ('\n COORD. en y [m]:'); end clear Lclear SENOclear COSENOfor i=1:mbr Dx(i) = x(fin(i)) - x(ini(i)); Dy(i) = y(fin(i)) - y(ini(i)); L(i) = ((Dx(i))^2 + (Dy(i))^2)^0.5; SENO(i) = Dy(i)/L(i); COSENO(i) = Dx(i)/L(i); end LSENO COSENO% GENERACION DE LA MATRIZ Aclear Afor i=1:mbr for m = 1:nod for n = 1:3 if CG(m,n) ~= 0 ui(i)=0;uf(i)=0; vi(i)=0;vf(i)=0; gi(i)=0;gf(i)=0; for p = 1:6 if VC(i,p)==CG(m,n)& p<=3 & n==1 ui(i)=COSENO(i);uf(i)=0; vi(i)=-SENO(i);vf(i)=0; gi(i)=0;gf(i)=0; elseif VC(i,p)==CG(m,n)& p<=3 & n==2 ui(i)=SENO(i);uf(i)=0; vi(i)=COSENO(i);vf(i)=0; gi(i)=0;gf(i)=0; elseif VC(i,p)==CG(m,n)& p<=3 & n==3 ui(i)=0;uf(i)=0; vi(i)=0;vf(i)=0; gi(i)=1;gf(i)=0; elseif VC(i,p)==CG(m,n)& p>3 & n==1 ui(i)=0;uf(i)=COSENO(i); vi(i)=0;vf(i)=-SENO(i); gi(i)=0;gf(i)=0;

Page 3: portico en matlab ejercicio2.docx

elseif VC(i,p)==CG(m,n)& p>3 & n==2 ui(i)=0;uf(i)=SENO(i); vi(i)=0;vf(i)=COSENO(i); gi(i)=0;gf(i)=0; elseif VC(i,p)==CG(m,n)& p>3 & n==3 ui(i)=0;uf(i)=0; vi(i)=0;vf(i)=0; gi(i)=0;gf(i)=1; else,end end col=CG(m,n); fil=(i-1)*3; A(fil+1,col)=gi(i)-(vf(i)-vi(i))/L(i); A(fil+2,col)=gf(i)-(vf(i)-vi(i))/L(i); A(fil+3,col)=uf(i)-ui(i); else,end end endendfprintf ('\n MATRIZ A (MATRIZ DE COMPATIBILIDAD): \n');A% CALCULO DE LA MATRIZ DE RIGIDEZ DE LA ESTRUCTURA Kfprintf ('\n CARACTERISTICAS DE LOS MIEMBROS:');Elas= input ('\n MODULO DE ELASTICIDAD [T/m2]:');G=0.4*ElasBeta= input ('\n FACTOR DE FORMA:');clear K2IK=zeros(ngl,ngl);for i=1:mbr fprintf ('\n MIEMBRO %d:',i); B(i) = input('\n BASE [m]:'); H(i) = input('\n ALTURA [m]:'); Area(i) = B(i)*H(i); Inercia(i) = B(i)*H(i)^3/12; fi = (3*Elas*Inercia(i)*Beta)/(G*Area(i)*L(i)^2); EI4=((4*Elas*Inercia(i))/L(i))*((1+fi)/(1+4*fi)); EI2=((2*Elas*Inercia(i))/L(i))*((1-2*fi)/(1+4*fi)); EA=((Elas*Area(i))/L(i)); % MATRIZ DE RIGIDEZ DE MIEMBRO K2 EN COORD. LOCALES K2(i,1,1)=EI4;K2(i,1,2)=EI2;K2(i,1,3)=0; K2(i,2,1)=EI2;K2(i,2,2)=EI4;K2(i,2,3)=0; K2(i,3,1)=0;K2(i,3,2)=0;K2(i,3,3)=EA; % MATRIZ DE TRANSFORMACION T2_3(i,1,1)=COSENO(i);T2_3(i,1,2)=SENO(i);T2_3(i,1,3)=0;T2_3(i,1,4)=0;T2_3(i,1,5)=0;T2_3(i,1,6)=0; T2_3(i,2,1)=-SENO(i);T2_3(i,2,2)=COSENO(i);T2_3(i,2,3)=0;T2_3(i,2,4)=0;T2_3(i,2,5)=0;T2_3(i,2,6)=0; T2_3(i,3,1)=0;T2_3(i,3,2)=0;T2_3(i,3,3)=1;T2_3(i,3,4)=0;T2_3(i,3,5)=0;T2_3(i,3,6)=0; T2_3(i,4,1)=0;T2_3(i,4,2)=0;T2_3(i,4,3)=0;T2_3(i,4,4)=COSENO(i);T2_3(i,4,5)=SENO(i);T2_3(i,4,6)=0;

Page 4: portico en matlab ejercicio2.docx

T2_3(i,5,1)=0;T2_3(i,5,2)=0;T2_3(i,5,3)=0;T2_3(i,5,4)=-SENO(i);T2_3(i,5,5)=COSENO(i);T2_3(i,5,6)=0; T2_3(i,6,1)=0;T2_3(i,6,2)=0;T2_3(i,6,3)=0;T2_3(i,6,4)=0;T2_3(i,6,5)=0;T2_3(i,6,6)=1; % MATRIZ DE RIGIDEZ DEL MIEMBRO k EN COORD. LOCALES for m=1:3 for n=1:3 K2I(m,n)=K2(i,m,n); end end fprintf ('\n MATRIZ DE RIGIDEZ ELEMENTO EN COORD. LOCALES:'); k = K2I fil =(i-1)*3; Ap=A(fil+1:fil+3,1:ngl); Kp=Ap'*k*Ap; K=K+Kp;endfprintf ('\n MATRIZ DE RIGIDEZ DE LA ESTRUCTURA:');KPORTICO2;

Como en el caso del pórtico en 2d se proceden a ingresar los datos de la siguiente manera:

INGRESO DE DATOS AL PROGRAMA

1) El número de nudos2) El número de nudos con apoyo

2.1) Las restricciones en cada apoyo en el que nos piden para confirmar si hay desplazamiento en los respectivos ejes la cual se debe confirmar con un si(s) o un no(n)

3) Número de miembros3.1) en cada miembro designamos la conectividad de cada miembro designando el nudo inicial y el nudo final

4) Ingresamos las coordenadas de los nudos en metros teniendo como referencia la siguiente convención de signos

5)

X

Y

y x

Ui

Vi

Uj

Vj

Page 5: portico en matlab ejercicio2.docx

6) Después ingresamos las características del material como elasticidad y área 5.1) ingresamos la elasticidad del material en T/m2 y las dimensiones de la sección.

7) Ingresamos las cargas en los miembros de acuerdo a como sean nuestras cargas.7.1) Si son cargas puntuales descomponemos en sus reacciones nodales empotrados perfectamente e ingresamos esos datos.

Page 6: portico en matlab ejercicio2.docx

7.2)Si es una carga distribuida ingresamos el valor de la carga con su respectivo sigo de convención según este programa realizado.

SALIDA DE DATOS DEL PROGRAMA

1) Los nudos inicial y final ordenados 2) Las longitudes de cada elemento a partir de los nudos3) Cosenos directores de cada elemento4) Matriz A (matriz de compatibilidad )5) Matriz de rigidez elemento en coord. Locales6) Matriz De Rigidez De La Estructura7) Nos ensambla las cargas nodales con la de las cargas en los apoyos 8) Luego hace la operación de cargas totales y con esto calcula 9) Vector de desplazamientos 10) Vector de deformaciones 11) Cargas internas P12) Acciones en coordenadas locales (P. complementario)13) Acciones en coordenadas locales (P. primario)

Prosigamos con el ejercicio propuesto

Page 7: portico en matlab ejercicio2.docx
Page 8: portico en matlab ejercicio2.docx
Page 9: portico en matlab ejercicio2.docx
Page 10: portico en matlab ejercicio2.docx
Page 11: portico en matlab ejercicio2.docx
Page 12: portico en matlab ejercicio2.docx
Page 13: portico en matlab ejercicio2.docx
Page 14: portico en matlab ejercicio2.docx
Page 15: portico en matlab ejercicio2.docx
Page 16: portico en matlab ejercicio2.docx
Page 17: portico en matlab ejercicio2.docx
Page 18: portico en matlab ejercicio2.docx
Page 19: portico en matlab ejercicio2.docx
Page 20: portico en matlab ejercicio2.docx
Page 21: portico en matlab ejercicio2.docx