[Fortran] syntaxhighlighter_viewsource syntaxhighlighter_copycode
 DIMENSION GB1(2,2),GB2(2,2),JB(2,10),GB(2,2),
     $                GE1(10,2),GE2(10,2),JE(10,10),GE(2,2),XB(2)
        common /INV/GBx(70,70),GBy(70,70),GBai(70,70)
        common /MATRIX/A(100,100),B(100,100),AA(100,100)
         DOUBLE PRECISION GBX,GBY,GBAI,GB1,GB2,GB,GE1,GE2,GE,JE,A,B,AA
C
        CHARACTER  RI*12,R*1,ZZI*10,ZZO*10
        REAL L
C
        WRITE(*,'(1X,''Input the name of input file :'')')        
        READ(*,'(A)')ZZI
        OPEN(1,FILE=ZZI,STATUS='OLD')
        WRITE(*,'(1X,''Input the name of output file :'')')
        READ(*,'(A)')ZZO          
        OPEN(2,FILE=ZZO,STATUS='NEW')
C        * * * * * * * (ARES=mm**2,rp=Kg/dm**3,E=GPa(N/mm**2),L=mm) * * * * * * * *
        READ(1,*) ARES,RP,E,L
        READ(1,*) NN
        rp=rp*1.E+3
        ares=ares*1.E-6
        E=E*1.E+6
        L=L*1.E-3
c        
c        * * * * * * * * U2=1,U8=2,F2=3,F8=4 * * * * * * * * *
c         * * * * * * * K1 & K2 are the reserved variables * * * * * * * *
c
        read(1,*)k1,k2
C
        GB1(1,1)=-0.5
        GB1(1,2)=0.5
        GB1(2,1)=0.5
        GB1(2,2)=-0.5
C        
        GB2(1,1)=0.
        GB2(1,2)=-0.5*L/(ARES*E)
        GB2(2,1)=-0.5*L/(ARES*E)
        GB2(2,2)=0.
C
        DX=L/NN
        X=0
        DO 10 I=1,NN
          X=X+DX
          JB(1,I)=-RP*DX*0.5*X/E
          JB(2,I)=-RP*DX*0.5*(L-X)/E
          GE1(I,1)=0.5
          GE1(I,2)=0.5
          GE2(I,1)=0.5*X/(ARES*E)
          GE2(I,2)=-0.5*ABS(L-X)/(ARES*E)
          X2=X
          X1=0.
          DO 20 J=1,NN
            X1=X1+DX
            JE(I,J)=-0.5*ABS(X1-X2)*RP*DX/E          
20          CONTINUE
10        CONTINUE