C READ & PRINT MATERIAL PROPERTIES DO 1 J=1,NMP 1 READ(5,55)I,E(I),PR(I),WD(I) WRITE(6,66)(I,E(I),PR(I),WD(I),I=1,NMP) C 33 FORMAT(7I5,3F10.3,2I5) 44 FORMAT(//59X,'NODAL POIINT DATA'//5X,'NODE', *3X,'NODAL D.O.F.',5X,'X-COORD.',5X,'Y-COORD.',5X,'Z-COORD.', *6X,'NODE',3X,'NODAL DOF',5X,'X-COORD.',5X,'Y-COORD.',5X, *'Z-COORD.',//(5X,I4,3X,6I2,3X,F10.4,3X,F10.4,3X,F10.4,3X,3X, *I4,3X,6I2,3X,F10.4,3X,F10.4,3X,F10.4/)) 55 FORMAT(I10,E10.3,2F10.4) 66 FORMAT(//57X,'MATERIAL PROPERTIES'//44X,'GROUP',7X,'YOUNGS', *7X,'POISSON',7X,'WEIGHT',/45X,'NO.',7X,'MODULUS',8X,'RATIO', 7X,'DENSITY'//(45X,I3,5X,F10.2,1X,F10.2,6X,F10.5)) 77 FORMAT(/24X,'NODE',11X,'EQUATION NUMBERS',25X,'NODE',12X, 'EQUATION NUMBERS'//(24X,I4,3X,6I5,20X,I4,3X,6I5/)) RETURN END C C SUBROUTINE FELIB(A,LLIB,MTOT) IMPLICIT REAL8(A-H,O-Z) COMMON/DIM/N1,N2,N3,N4,N5,N6,N7,N8,N9,N10,N11,N12,N13,N14 COMMON/PAR/IND,NET,NSN,NMP,NEQ,NSKY,NEQ1,LCOUNT COMMON/TAPES/ISTRES,NDARAY,IPR COMMON/PRECI/ITWO COMMON/MULT/ELMN DIMENSION A(MTOT) DIMENSION LLIB(7,3),LT(7) DO 100 I=1,NET IF(IND.NE.1)GO TO 5 READ(5,11)LTYPE,NSHAPE,(LLIB(LTYPE,J),J=1,NSHAPE) LT(I)=LTYPE 5 LA=LT(I) GO TO (50),LA C 10 CALL THREDT(A,LLIB,NSHAPE,MTOT) C GO TO 100 C 20 CALL THREDB(A,LLIB,NSHAPE,MTOT) C GO TO 100 C 30 CALL PLANE(A,LLIB,NSHAPE,MTOT) C GO TO 100 C 40 CALL THREDS(A,LLIB,NSHAPE,MTOT) C GO TO 100 50 CALL PLATE(A,LLIB,NSHAPE,MTOT) C GO TO 100 C 60 CALL SHELL(A,LLIB,NSHAPE,MTOT) C GO TO 100 C 70 CALL BOUND(A,LLIB,NSHAPE,MTOT) 100 CONTINUE 11 FORMAT(5I5) RETURN END SUBROUTINE INISKP(SK, NSIZE) IMPLICIT REAL8(A-H,O-Z) DIMENSION SK(NSIZE) DO 10 I=1,NSIZE 10 SK(I)=0.0 RETURN END
SUBROUTINE COLUMH(CHT,ND,NED,NEQ)
IMPLICIT REAL*8(A-H,O-Z)
INTEGER CHT(NEQ),ND(NED)
C CALCULATES THE COLUMN HEIGHT S OF EACH COLUMN IN THE GLOBAL STIFFNESS MATRIX LS=100000 DO 30 K=1,NED IF(ND(K)) 10,30,10 10 IF(ND(K)-LS)20,30,30 20 LS=ND(K) 30 CONTINUE DO 40 K=1,NED II=ND(K) IF(II.EQ.0)GO TO 40 ME=II-LS IF(ME.GT.CHT(II))CHT(II)=ME 40 CONTINUE RETURN END
SUBROUTINE CADNUM(CHT,NDS,NEQ,NEQ1,NSKY,MBAND)
IMPLICIT REAL*8(A-H,O-Z)
INTEGER CHT(NEQ),NDS(NEQ1)
C CALCULATES ADDRESSES OF DIAGONAL ELEMENTS IN BANDED MATRIX WHOSE COLOUMN HEIGHTS ARE KNOWN; C CALCULATES THE NO OF ELEMENTS IN THE GLOBAL STIFFNESS MATRIX BELOW THE SKYLINE C DO 10 I =1,NEQ1 10 NDS(I)=0 NDS(1)=1 NDS(2)=2 MBAND=0 IF(NEQ .EQ.1) GO TO 30 DO 20 I=2,NEQ IF(CHT(I).GT.MBAND) MBAND=CHT(I) 20 NDS(I+1)=NDS(I)+CHT(I)+1 30 MBAND=MBAND+1 NSKY=NDS(NEQ1)-1 RETURN END
SUBROUTINE PASSEM(SK,EK,NDS,ND,NED,NEQ1,NSKY,NUED)
IMPLICIT REAL*8(A-H,O-Z)
DIMENSION SK(NSKY),NDS(NEQ1), ND(NED),EK(NUED,NUED)
C ASSEMBLE ELEMENT STIFFNESS INTO COMPACTED GLOBAL STIFFNESS DO 70 I=1,NED II=ND(I) IF(II)70,70, 30 30 CONTINUE DO 60 J=1, NED JJ=ND(J) IF (JJ)60,60,40 40 CONTINUE MI=NDS(JJ) IJ=JJ-II IF(JJ)60,50,50 50 KK=MI+IJ SK(KK)=SK(KK)+EK(I,J) 60 CONTINUE 70 CONTINUE RETURN END
SUBROUTINE PASOLV(SK,P,NDS,NN,NEQ1,NSKY,KKK)
IMPLICIT REAL*8(A-H,O-Z)
DIMENSION SK(NSKY),P(NN),NDS(NEQ1)
IF(KKK-2) 40,150,150
40 DO 140 N=1,NN KN=NDS(N) KL=KN+1 KU=NDS(N+1)-1 KH=KU-KL IF(KH) 110,90,50 50 K=N-KH IC=0 KLT=KU DO 80 J=1,KH IC=IC+1 KLT=KLT-1 KI=NDS(K) ND=NDS(K+1)-KI-1 IF(ND) 80, 80, 60 60 KK=MIN0(IC,ND) C=0.0 DO 70 L=1, KK 70 C=C+SK(KI+L)SK(KLT+L) SK(KLT)=SK(KLT)-C 80 K=K+1 90 K=N B=0.0 DO 100 KK=KL,KU K=K-1 KI=NDS(K) C=SK(KK)/SK(KI) B=B+CSK(KK) 100 SK(KK)=C SK(KN)=SK(KN)-B 110 IF(SK(KN)) 120,120, 140 120 WRITE(6,222) N, SK(KN) STOP 140 CONTINUE RETURN