DESARROLLO DE HERRAMIENTAS - FI-UAEMex

DESARROLLO DE HERRAMIENTAS - FI-UAEMex DESARROLLO DE HERRAMIENTAS - FI-UAEMex

08.05.2013 Views

162 HERRAMIENTAS DE CÓMPUTO c c Impresion de la matriz de rigidez global [ K ] c write(2,23) 23 format(//'Matriz Golbal de Rigideces [ K ]'//) WRITE(2,37)((K(I,J),j=1,NUU),i=1,NUU) 37 format(6f10.4) c c SOLUCION DEL SISTEMA POR GAUSS-JORDAN c N=NUU c DO 146 ZZ=1,N DO 144 I=1,N DO 150 J=N+1,ZZ,-1 IF (I.EQ.ZZ) GOTO 144 IF (K(ZZ,ZZ).EQ.0) THEN c DO 132 Q=ZZ+1,N IF (K(Q,ZZ).NE.0) THEN DO 134 QQ=1,N+1 W=K(Q,QQ) K(Q,QQ)=K(ZZ,QQ) K(ZZ,QQ)=W 134 CONTINUE GOTO 142 ENDIF 132 CONTINUE WRITE(*,*)'EL SISTEMA ES INDETERMINADO' STOP ENDIF C 142 K(I,J)=K(I,J)+K(ZZ,J)*(-K(I,ZZ))/K(ZZ,ZZ) C 150 CONTINUE 144 CONTINUE 146 CONTINUE C DO 128 I=1,N K(I,N+1)=K(I,N+1)/K(I,I) 128 CONTINUE C C IMPRIME LOS DESPLAZAMIENTOS DE LOS NUDOS C write(2,47) 47 format(//'Desplazamientos de los nudos :'//) DO 600 I=1,NU WRITE(2,*)I,'FHIX',K(3*I-2,N+1) WRITE(2,*)I,'FHIY',K(3*I-1,N+1) WRITE(2,*)I,'DZ',K(3*I,N+1) 600 CONTINUE c c c Calculo de deformaciones y fuerzas sobre las barras REWIND 1 c READ (1,*)NB,NU,NAP c c ****************************************************************** c CONTADORES AUXILIARES c nnu=NU+NAP nuu=3*NU nun=nuu+1 c c ****************************************************************** c LECTURA DE COORDENADAS DE NUDOS Y FUERZAS EN LOS MISMOS ( MX, MY, FZ ) c LOS NUDOS SE NUMERAN PRIMERO QUE LOS APOYOS c DO 2002 I=1,NNU READ(1,*)X(I),Y(I) 2002 CONTINUE c DESARROLLO DE HERRAMIENTAS DE ANÁLISIS ESTRUCTURAL PARA SU USO DESDE LA INTERNET

HERRAMIENTAS DE CÓMPUTO 163 c ****************************************************************** c GENERACION DE LA MATRIZ DE CONTINUIDAD [ A ] DE CADA BARRA Y c ENSAMBLE DE SU PARTICIPACION A LA MATRIZ DE RIGIDEZ GLOBAL c c Barrido de elementos c DO 1250 IB=1,NB Write(2,782)ib 782 format(/' barra ',i5/) C C Lectura de propiedades ( E,I,G,J) y conectividades ( A,B ) de la barra C READ(1,*)E,IY,G,JJ,IIN,IFI C c Longitud y cosenos directores de la barra c L=((x(ifi)-x(iin))**2+(y(ifi)-y(iin))**2)**.5 ux=(x(ifi)-x(iin))/L uy=(y(ifi)-y(iin))/L c C Matriz de rigidez diagonal de la barra C R(1)=2*E*Iy/(L) R(2)=2*E*Iy/(L) R(3)=2*E*Iy/(L) R(4)=G*JJ/L c c El extremo A de la barra, es nudo ! c IF(IIN.LE.NU)THEN a(1,1)=-uy a(1,2)=ux a(1,3)=-1/L a(2,1)=-uy a(2,2)=ux a(2,3)=-2/L a(3,1)=0 a(3,2)=0 a(3,3)=-1/L a(4,1)=-ux a(4,2)=-uy a(4,3)=0 C Identifica los desplazamientos en el nudo A de la barra DO 1650 I=1,3 DAB(I)=K(3*IIN-3+I,NUN) 1650 CONTINUE ENDIF c c El extremo B de la barra, es nudo ! c IF(IFI.LE.NU)THEN a(1,4)=0 a(1,5)=0 a(1,6)=1/L a(2,4)=-uy a(2,5)=ux a(2,6)=2/L a(3,4)=-uy a(3,5)=ux a(3,6)=1/L a(4,4)=ux a(4,5)=uy a(4,6)=0 C Identifica los desplazamientos en el nudo B de la barra DO 1550 I=4,6 DAB(I)=K(3*IFI-6+I,NUN) 1550 CONTINUE ENDIF c WRITE(2,192)(DAB(j),j=1,6) 192 FORMAT(' DESPLAZAMIENTOS EN A Y B ', 6F10.4) c Producto {e}= [A]{d} c DO 8000 I=1,4 DO 8001 J=1,6 DESARROLLO DE HERRAMIENTAS DE ANÁLISIS ESTRUCTURAL PARA SU USO DESDE LA INTERNET

<strong>HERRAMIENTAS</strong> <strong>DE</strong> CÓMPUTO 163<br />

c ******************************************************************<br />

c GENERACION <strong>DE</strong> LA MATRIZ <strong>DE</strong> CONTINUIDAD [ A ] <strong>DE</strong> CADA BARRA Y<br />

c ENSAMBLE <strong>DE</strong> SU PARTICIPACION A LA MATRIZ <strong>DE</strong> RIGI<strong>DE</strong>Z GLOBAL<br />

c<br />

c Barrido de elementos<br />

c<br />

DO 1250 IB=1,NB<br />

Write(2,782)ib<br />

782 format(/' barra ',i5/)<br />

C<br />

C Lectura de propiedades ( E,I,G,J) y conectividades ( A,B ) de la barra<br />

C<br />

READ(1,*)E,IY,G,JJ,IIN,I<strong>FI</strong><br />

C<br />

c Longitud y cosenos directores de la barra<br />

c<br />

L=((x(ifi)-x(iin))**2+(y(ifi)-y(iin))**2)**.5<br />

ux=(x(ifi)-x(iin))/L<br />

uy=(y(ifi)-y(iin))/L<br />

c<br />

C Matriz de rigidez diagonal de la barra<br />

C<br />

R(1)=2*E*Iy/(L)<br />

R(2)=2*E*Iy/(L)<br />

R(3)=2*E*Iy/(L)<br />

R(4)=G*JJ/L<br />

c<br />

c El extremo A de la barra, es nudo !<br />

c<br />

IF(IIN.LE.NU)THEN<br />

a(1,1)=-uy<br />

a(1,2)=ux<br />

a(1,3)=-1/L<br />

a(2,1)=-uy<br />

a(2,2)=ux<br />

a(2,3)=-2/L<br />

a(3,1)=0<br />

a(3,2)=0<br />

a(3,3)=-1/L<br />

a(4,1)=-ux<br />

a(4,2)=-uy<br />

a(4,3)=0<br />

C Identifica los desplazamientos en el nudo A de la barra<br />

DO 1650 I=1,3<br />

DAB(I)=K(3*IIN-3+I,NUN)<br />

1650 CONTINUE<br />

ENDIF<br />

c<br />

c El extremo B de la barra, es nudo !<br />

c<br />

IF(I<strong>FI</strong>.LE.NU)THEN<br />

a(1,4)=0<br />

a(1,5)=0<br />

a(1,6)=1/L<br />

a(2,4)=-uy<br />

a(2,5)=ux<br />

a(2,6)=2/L<br />

a(3,4)=-uy<br />

a(3,5)=ux<br />

a(3,6)=1/L<br />

a(4,4)=ux<br />

a(4,5)=uy<br />

a(4,6)=0<br />

C Identifica los desplazamientos en el nudo B de la barra<br />

DO 1550 I=4,6<br />

DAB(I)=K(3*I<strong>FI</strong>-6+I,NUN)<br />

1550 CONTINUE<br />

ENDIF<br />

c<br />

WRITE(2,192)(DAB(j),j=1,6)<br />

192 FORMAT(' <strong>DE</strong>SPLAZAMIENTOS EN A Y B ', 6F10.4)<br />

c Producto {e}= [A]{d}<br />

c<br />

DO 8000 I=1,4<br />

DO 8001 J=1,6<br />

<strong><strong>DE</strong>SARROLLO</strong> <strong>DE</strong> <strong>HERRAMIENTAS</strong> <strong>DE</strong> ANÁLISIS ESTRUCTURAL<br />

PARA SU USO <strong>DE</strong>S<strong>DE</strong> LA INTERNET

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!