C ------------------- PROGRAM wire C ------------------- PARAMETER ( INNI=50, IBBI=2) C --------------------------------------------------------------------- DIMENSION * SK(INNI,IBBI),U(INNI),F(INNI),RHS(INNI),XORD(INNI),NPBC(INNI) C ------------------------------------- C Set variable names to dimension sizes C ------------------------------------- DATA MXBB,MXNN/IBBI,INNI/ C ------------------------------------- C OPEN INPUT DATA C ------------------------------------------------------------- OPEN(UNIT=11,FILE='MSHDAT',FORM='FORMATTED',STATUS='OLD') OPEN(UNIT=12,FILE='NODES' ,FORM='FORMATTED',STATUS='OLD') C ------------------------------------------------------------- READ(11,*) TENS READ(11,*) NUMEL NUMNP=NUMEL+1 DO I=1,NUMNP READ(12,*) XORD(I),NPBC(I),U(I),F(I) ENDDO C -------------- C INITIALIZATION C -------------- IB=2 DO I=1,NUMNP DO J=1,IB SK(I,J)=0.0 ENDDO ENDDO C ----------------------------- C FORMATION OF STIFFNESS MATRIX C ----------------------------- DO I=1,NUMEL RL=XORD(I+1)-XORD(I) RK=TENS/RL SK(I,1)=SK(I,1)+RK SK(I,2)=SK(I,2)-RK IP1=I+1 SK(IP1,1)=SK(IP1,1)+RK ENDDO C -------------------- C BOUNDARY CONDITIONS C -------------------- DO I=1,NUMNP IF(NPBC(I).EQ.1) THEN SK(I,1)=SK(I,1)*1.0E+06 F(I)=U(I)*SK(I,1) ENDIF ENDDO C ------------------------------ C CALL EQUATION SOLVER C ------------------------------ CALL sGAUSS(SK,U,F,NUMNP,IB,INNI,IBBI) C --------------------------- C Print OUTUT to screen C --------------------------- WRITE(*,1) WRITE(*,2)(I,XORD(I),U(I),I=1,NUMNP) WRITE(*,5) WRITE(*,3) C --------------------------- C Save OUTPUT for review C --------------------------- OPEN(UNIT=14,FILE='DATAO' ,FORM='FORMATTED',STATUS='UNKNOWN') C ----------- WRITE(14,1) WRITE(14,2)(I,XORD(I),U(I),I=1,NUMNP) C --------------------------- C Save OUTPUT for plotting C --------------------------- OPEN(UNIT=15,FILE='DATAP' ,FORM='FORMATTED',STATUS='UNKNOWN') C ----------- WRITE(14,4)(XORD(I),U(I),I=1,NUMNP) STOP C------------------------------------------------------------------ C F O R M A T S T A T E M E N T S C------------------------------------------------------------------ 1 FORMAT(///' OUTPUT DATA:' * //' NP XORD U ') 2 FORMAT(I10,1P,2E12.3) 3 FORMAT(//) 4 FORMAT(1P,2E12.3) 5 FORMAT(//' OUTPUT is saved as DATAO ' * /' OUTPUT for plotting is in DATAP ') END C------------------------------------------------------------------ C INCLUDE EQUATION SOLVER C------------------------------------------------------------------ INCLUDE 'sGAUSS.f'