home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 9 / 09.iso / e / e003 / 8.ddi / STIDYN3.FOR < prev    next >
Encoding:
Text File  |  1980-01-04  |  104.0 KB  |  1,305 lines

  1.       SUBROUTINE GDCOMP (A,B,MAXA,NEQB,MA,NBLOCK,NWA,NTB,NSCH,NEQ,MI)   R0103040
  2.       IMPLICIT REAL*8 (A-H,O-Z)                                         00103050
  3.       REAL*8  MAXA                                                      00103060
  4.       COMMON /EXTRA/ MODEX,NREXTR(25)                                   R0103070
  5.       COMMON /SQZ/ ISQZ,NRSQZ(5)                                        R0103080
  6. CC    COMMON /AAA1/ A(8000)                                             R0103081
  7.        DIMENSION A(NWA),B(NWA),MAXA(MI)                                 R0103090
  8.       DIMENSION ICOO(10),IFORM(4)                                       00103100
  9.       DATA ICOO /3H001,3H013,3H025,3H037,3H049,3H061,3H073,3H085,3H097, 00103110
  10.      $           3H109/                                                 00103120
  11.       DATA IFORM(1),IFORM(3),IFORM(4) /4H(1H+,4HX,F7,4H.2) /            00103130
  12.       NSTIF=4                                                           00103140
  13.       NT=10                                                             00103150
  14.       NL=22                                                             00103160
  15.       NRED=15                                                           00103170
  16.        MA2=MA - 2                                                       00103180
  17.       IF(MA2.EQ.0) MA2=1                                                00103190
  18.        INC=NEQB - 1                                                     00103200
  19.        IF(INC.EQ.0)INC=1                                                00103210
  20.        N1=NL                                                            00103220
  21.       N2=NT                                                             00103230
  22.       NWANM=NWA+MI                                                      00103240
  23.       CALL RDWRT(NSTIF,A,1,6,I)                                         00103250
  24.       CALL RDWRT(NRED ,A,1,6,I)                                         00103260
  25.       CALL RDWRT(N1   ,A,1,6,I)                                         00103270
  26.       CALL RDWRT(N2   ,A,1,6,I)                                         00103280
  27.        NSCH=0                                                           00103290
  28.       WRITE(6,90)                                                       00103300
  29.    90 FORMAT(1X ,10X,48HTHE LAST NUMBER PRINTED IS THE PERCENT OF THE FO00103310
  30.      $       ,40HRWARD REDUCTION THAT HAS BEEN COMPLETED.//)            00103320
  31.       ICO=1                                                             00103330
  32.        DO 420 NJ=1,NBLOCK                                               00103340
  33.        IF (NJ.NE.1) GO TO 100                                           00103350
  34. CC    CALL EXPAND(A,NWA,NSTIF)                                          00103360
  35.       WRITE (6,1010) N1,N2,NSTIF
  36.  1010 FORMAT (5X,'** N1 N2 NSTIF **',3I5/)
  37.       READ (NSTIF) (A(II),II=1,NWA)                                     R0103361
  38.        GO TO 110                                                        00103370
  39.   100  IF (NTB.EQ.1) GO TO 110                                          00103380
  40.       CALL RDWRT(N1   ,A,1,6,I)                                         00103390
  41.       CALL RDWRT(N2   ,A,1,6,I)                                         00103400
  42.       CALL EXPAND(A,NWA,N1)                                             00103410
  43.   110  KU=1                                                             00103420
  44.        KM=MIN0(MA,NEQB)                                                 00103430
  45.        MAXA(1)=1                                                        00103440
  46.        DO 170 N=2,MI                                                    00103450
  47.        IF (N-MA) 120,120,130                                            00103460
  48.   120  KU=KU + NEQB                                                     00103470
  49.        KK=KU                                                            00103480
  50.       MM=MIN0(N,KM)                                                     00103490
  51.        GO TO 150                                                        00103500
  52.   130  KU=KU + 1                                                        00103510
  53.        KK=KU                                                            00103520
  54.        IF (N-NEQB) 150,150,140                                          00103530
  55.   140  MM=MM - 1                                                        00103540
  56.   150  DO 160 K=1,MM                                                    00103550
  57.        IF (A(KK)) 170,160,170                                           00103560
  58.   160  KK=KK - INC                                                      00103570
  59.   170  MAXA(N)=KK                                                       00103580
  60.        IF (A(1)) 190,180,200                                            00103590
  61.   180  KK=(NJ-1)*NEQB + 1                                               00103600
  62.        IF (KK.GT.NEQ) GO TO 390                                         00103610
  63.       WRITE (6,430) KK                                                  00103620
  64.       MODEX=1                                                           00103630
  65.       RETURN                                                            00103640
  66.   190  NSCH=NSCH + 1                                                    00103650
  67.   200  DO 280 N=2,NEQB                                                  00103660
  68.        NH=MAXA(N)                                                       00103670
  69.        IF (NH-N) 280,280,210                                            00103680
  70.   210  KL=N + INC                                                       00103690
  71.        KU=NH                                                            00103700
  72.        K=N                                                              00103710
  73.        D=0.E0                                                           00103720
  74.        DO 220 KK=KL,KU,INC                                              00103730
  75.        K=K - 1                                                          00103740
  76.        C=A(KK)/A(K)                                                     00103750
  77.        D=D + C*A(KK)                                                    00103760
  78.   220  A(KK)=C                                                          00103770
  79.        A(N)=A(N) - D                                                    00103780
  80.        IF (A(N)) 240,230,250                                            00103790
  81.   230  KK=(NJ-1)*NEQB + N                                               00103800
  82.        IF (KK.GT.NEQ) GO TO 390                                         00103810
  83.       WRITE (6,430) KK                                                  00103820
  84.       MODEX=1                                                           00103830
  85.       RETURN                                                            00103840
  86.   240  NSCH=NSCH + 1                                                    00103850
  87.   250  IC=NEQB                                                          00103860
  88.        DO 270 J=1,MA2                                                   00103870
  89.        MJ=MAXA(N+J) - IC                                                00103880
  90.        IF (MJ-N) 270,270,260                                            00103890
  91.   260  KU=MIN0(MJ,NH)                                                   00103900
  92.        KN=N + IC                                                        00103910
  93.        C=0.E0                                                           00103920
  94.       CONST=C                                                           00103930
  95.       CALL QVDOT(C,A(KL),A(KL+IC),       (KU-KL)/INC+1,INC,INC)         00103940
  96.       C=CONST-C                                                         00103950
  97.       A(KN)=A(KN)+C                                                     00103960
  98.   270  IC=IC + NEQB                                                     00103970
  99.   280  CONTINUE                                                         00103980
  100.       IF(NJ.EQ.NBLOCK) CALL SQEEZE(A,NWANM,NRED,ISQZ)                   00103990
  101.       IF(NJ.EQ.NBLOCK) GO TO 400                                        00104000
  102.   290  DO 380 NK=1,NTB                                                  00104010
  103.        IF ((NK+NJ).GT.NBLOCK) GO TO 380                                 00104020
  104.        NI=N1                                                            00104030
  105.        IF ((NJ.EQ.1).OR.(NK.EQ.NTB)) NI=NSTIF                           00104040
  106.       CALL EXPAND(B,NWA,NI)                                             00104050
  107.        ML=NK*NEQB + 1                                                   00104060
  108.        MR=MIN0((NK+1)*NEQB,MI)                                          00104070
  109.        MD=MI - ML                                                       00104080
  110.        KL=NEQB + (NK-1)*NEQB*NEQB                                       00104090
  111.        N=1                                                              00104100
  112.        DO 360 M=ML,MR                                                   00104110
  113.        NH=MAXA(M)                                                       00104120
  114.        KL=KL + NEQB                                                     00104130
  115.        IF (NH-KL) 350,300,300                                           00104140
  116.   300  KU=NH                                                            00104150
  117.        K=NEQB                                                           00104160
  118.        D=0.E0                                                           00104170
  119.        DO 310 KK=KL,KU,INC                                              00104180
  120.        C=A(KK)/A(K)                                                     00104190
  121.        D=D + C*A(KK)                                                    00104200
  122.        A(KK)=C                                                          00104210
  123.   310  K=K - 1                                                          00104220
  124.        B(N)=B(N) - D                                                    00104230
  125.        IF (MD) 360,360,320                                              00104240
  126.   320  IC=NEQB                                                          00104250
  127.        DO 340 J=1,MD                                                    00104260
  128.        MJ=MAXA(M+J) - IC                                                00104270
  129.        IF (MJ-KL) 340,330,330                                           00104280
  130.   330  KU=MIN0(MJ,NH)                                                   00104290
  131.        KN=N + IC                                                        00104300
  132.        C=0.E0                                                           00104310
  133.       CONST=C                                                           00104320
  134.       CALL QVDOT(C,A(KL),A(KL+IC),       (KU-KL)/INC+1,INC,INC)         00104330
  135.       C=CONST-C                                                         00104340
  136.       B(KN)=B(KN)+C                                                     00104350
  137.   340  IC=IC + NEQB                                                     00104360
  138.   350  MD=MD - 1                                                        00104370
  139.   360  N=N + 1                                                          00104380
  140.        IF (NTB.NE.1) GO TO 370                                          00104390
  141.       CALL SQEEZE(A,NWANM,NRED,ISQZ)                                    00104400
  142.       CALL MEMOVE(B(1),A(1),NWA)                                        00104410
  143.        GO TO 400                                                        00104420
  144.   370 CALL SQEEZE(B,NWA,N2,ISQZ)                                        00104430
  145.   380  CONTINUE                                                         00104440
  146.        M=N1                                                             00104450
  147.        N1=N2                                                            00104460
  148.        N2=M                                                             00104470
  149.   390 CALL SQEEZE(A,NWANM,NRED,ISQZ)                                    00104480
  150.   400  CONTINUE                                                         00104490
  151.       PER=NJ*100.0/NBLOCK                                               00104500
  152.       IFORM(2)=ICOO(ICO)                                                00104510
  153.       WRITE(6,1009) PER                                                 R0104520
  154.       ICO=ICO+1                                                         00104530
  155.       IF(ICO.LT.11) GO TO 420                                           00104540
  156.       WRITE(6,410)                                                      00104550
  157.   410 FORMAT(1X,1X)                                                     R0104560
  158.       ICO=1                                                             00104570
  159.   420 CONTINUE                                                          00104580
  160.  1009 FORMAT (5X,F10.4/)                                                R0104581
  161.   430 FORMAT (37H0***ERROR   SOLUTION STOP IN *DECOMP*, / 12X,          00104590
  162.      $        37HZERO PIVOT FOUND DURING FACTORIZATION, / 12X,          00104600
  163.      $        17HEQUATION NUMBER =, I5 / 1X)                            00104610
  164.       WRITE(6,440)                                                      00104620
  165.   440 FORMAT(////20X,37(1H*)/20X,37HFORWARD REDUCTION HAS BEEN COMPLETED00104630
  166.      $./20X,37(1H*))                                                    00104640
  167.        RETURN                                                           00104650
  168.       END                                                               00104660
  169.       SUBROUTINE GREDBK (A,VA,VV,MAXA,NEQB,NV,NWA,NWV,NWVV,NTB,NBLOCK,  0108380 
  170.      $MI,MA)                                                            00108390
  171.       IMPLICIT REAL*8 (A-H,O-Z)                                         00108400
  172.       REAL*8  MAXA                                                      00108410
  173.       COMMON /SQZ/ ISQZ,NRSQZ(5)                                        R0108420
  174.        DIMENSION A(NWA),VA(NWV),VV(NWVV),MAXA(MI)                       00108430
  175.        NR=3                                                             00108440
  176.        NL=18                                                            00108450
  177.        NT=10                                                            00108460
  178.        NRED=15                                                          00108470
  179.       NWANM=NWA+MI                                                      00108480
  180.        INC=NEQB - 1                                                     00108490
  181.       IF(INC.EQ.0) INC=1                                                00108500
  182.        NEB=NTB*NEQB                                                     00108510
  183.        NEBT=NEB+NEQB                                                    00108520
  184.       CALL RDWRT(NRED ,A,1,6,I)                                         00108530
  185.        REWIND NR                                                        00108540
  186.        REWIND NL                                                        00108550
  187.        REWIND NT                                                        00108560
  188.       CALL EXPAND(A,NWANM,NRED)                                         00108570
  189.        ISV=NTB+1                                                        00108580
  190.        IF (NBLOCK.EQ.1) ISV=1                                           00108590
  191.        LL=0                                                             00108600
  192.        DO 120 L=1,ISV                                                   00108610
  193.        READ (NR) VA                                                     00108620
  194.        K=0                                                              00108630
  195.        KK=LL                                                            00108640
  196.        DO 110 J=1,NV                                                    00108650
  197.        DO 100 I=1,NEQB                                                  00108660
  198.        K=K+1                                                            00108670
  199.        KK=KK+1                                                          00108680
  200.   100  VV(KK)=VA(K)                                                     00108690
  201.   110  KK=KK+NEB                                                        00108700
  202.   120  LL=LL+NEQB                                                       00108710
  203.        ISA=1                                                            00108720
  204.   130  DO 160 N=2,NEQB                                                  00108730
  205.        KL=N + INC                                                       00108740
  206.        KU=MAXA(N)                                                       00108750
  207.        IF (KU-KL) 160,140,140                                           00108760
  208.   140  K=N                                                              00108770
  209.        DO 150 L=1,NV                                                    00108780
  210.       CONST=VV(K)                                                       00108790
  211.       CALL QVDOT(VV(K  ),A(KL),VV(K-1),  (KU-KL)/INC+1,INC,-1)          00108800
  212.       VV(K  )=CONST-VV(K  )                                             00108810
  213.   150  K=K + NEBT                                                       00108820
  214.   160  CONTINUE                                                         00108830
  215.   170  KL=NEQB                                                          00108840
  216.        ML=NEQB + 1                                                      00108850
  217.        DO 200 N=ML,MI                                                   00108860
  218.        KL=KL + NEQB                                                     00108870
  219.        KU=MAXA(N)                                                       00108880
  220.        IF (KU-KL) 200,180,180                                           00108890
  221.   180  K=NEQB                                                           00108900
  222.        KN=N                                                             00108910
  223.        DO 190 L=1,NV                                                    00108920
  224.       CONST=VV(KN)                                                      00108930
  225.       CALL QVDOT(VV(KN ),A(KL),VV(K)    ,(KU-KL)/INC+1,INC,-1)          00108940
  226.       VV(KN )=CONST-VV(KN )                                             00108950
  227.        K=K + NEBT                                                       00108960
  228.   190  KN=KN + NEBT                                                     00108970
  229.   200  CONTINUE                                                         00108980
  230.        DO 230 I=1,NEQB                                                  00108990
  231.        C=A(I)                                                           00109000
  232.        IF (C) 210,230,210                                               00109010
  233.   210  KK=I                                                             00109020
  234.        DO 220 L=1,NV                                                    00109030
  235.        VV(KK)=VV(KK)/C                                                  00109040
  236.   220  KK=KK+NEBT                                                       00109050
  237.   230  CONTINUE                                                         00109060
  238.        IF (ISA.EQ.NBLOCK) GO TO 300                                     00109070
  239.       CALL EXPAND(A,NWANM,NRED)                                         00109080
  240.        ISA=ISA+1                                                        00109090
  241.        K=0                                                              00109100
  242.        KK=0                                                             00109110
  243.        DO 250 J=1,NV                                                    00109120
  244.        DO 240 I=1,NEQB                                                  00109130
  245.        K=K+1                                                            00109140
  246.        KK=KK+1                                                          00109150
  247.   240  VA(K)=VV(KK)                                                     00109160
  248.   250  KK=KK+NEB                                                        00109170
  249.        WRITE (NT) VA                                                    00109180
  250.        K=1                                                              00109190
  251.        DO 270 J=1,NV                                                    00109200
  252.        DO 260 I=1,NEB                                                   00109210
  253.        VV(K)=VV(K+NEQB)                                                 00109220
  254.   260  K=K+1                                                            00109230
  255.   270  K=K+NEQB                                                         00109240
  256.        IF (ISV.EQ.NBLOCK) GO TO 130                                     00109250
  257.        READ (NR) VA                                                     00109260
  258.        ISV=ISV+1                                                        00109270
  259.        KK=NEB                                                           00109280
  260.        K=0                                                              00109290
  261.        DO 290 J=1,NV                                                    00109300
  262.        DO 280 I=1,NEQB                                                  00109310
  263.        K=K+1                                                            00109320
  264.        KK=KK+1                                                          00109330
  265.   280  VV(KK)=VA(K)                                                     00109340
  266.   290  KK=KK+NEB                                                        00109350
  267.        GO TO 130                                                        00109360
  268.   300 CALL RDWRT(NRED ,A,1,2,I)                                         00109370
  269.        ISA=1                                                            00109380
  270.   310  ML=NEQB+1                                                        00109390
  271.        KL=NEQB                                                          00109400
  272.        DO 340 M=ML,MI                                                   00109410
  273.        KL=KL+NEQB                                                       00109420
  274.        KU=MAXA(M)                                                       00109430
  275.        IF (KU-KL) 340,320,320                                           00109440
  276.   320  K=NEQB                                                           00109450
  277.        KM=M                                                             00109460
  278.        DO 330 L=1,NV                                                    00109470
  279.       CALL QMR2(VV(K   ),VV(K   ),VV(KM),A(KL),(KU-KL)/INC+1,-1,-1,INC) 00109480
  280.        KM=KM + NEBT                                                     00109490
  281.   330  K=K + NEBT                                                       00109500
  282.   340  CONTINUE                                                         00109510
  283.        N=NEQB                                                           00109520
  284.        DO 370 LJ=2,NEQB                                                 00109530
  285.        KL=N + INC                                                       00109540
  286.        KU=MAXA(N)                                                       00109550
  287.        IF (KU-KL) 370,350,350                                           00109560
  288.   350  K=N                                                              00109570
  289.        DO 360 L=1,NV                                                    00109580
  290.       CALL QMR2(VV(K-1 ),VV(K-1 ),VV(K ),A(KL),(KU-KL)/INC+1,-1,-1,INC) 00109590
  291.   360  K=K + NEBT                                                       00109600
  292.   370  N=N - 1                                                          00109610
  293.   380  KK=0                                                             00109620
  294.        K=0                                                              00109630
  295.        DO 400 J=1,NV                                                    00109640
  296.        DO 390 I=1,NEQB                                                  00109650
  297.        K=K+1                                                            00109660
  298.        KK=KK+1                                                          00109670
  299.   390  VA(K)=VV(KK)                                                     00109680
  300.   400  KK=KK+NEB                                                        00109690
  301.        WRITE (NL) VA                                                    00109700
  302.        IF (ISA.EQ.NBLOCK) GO TO 450                                     00109710
  303.       CALL RDWRT(NRED ,A,1,2,I)                                         00109720
  304.       CALL EXPAND(A,NWANM,NRED)                                         00109730
  305.       CALL RDWRT(NRED ,A,1,2,I)                                         00109740
  306.        ISA=ISA+1                                                        00109750
  307.        BACKSPACE NT                                                     00109760
  308.        READ (NT) VA                                                     00109770
  309.        BACKSPACE NT                                                     00109780
  310.        K=NEBT                                                           00109790
  311.        DO 420 J=1,NV                                                    00109800
  312.        DO 410 I=1,NEB                                                   00109810
  313.        VV(K)=VV(K-NEQB)                                                 00109820
  314.   410  K=K-1                                                            00109830
  315.   420  K=K+NEBT+NEB                                                     00109840
  316.        K=0                                                              00109850
  317.        KK=0                                                             00109860
  318.        DO 440 J=1,NV                                                    00109870
  319.        DO 430 I=1,NEQB                                                  00109880
  320.        K=K+1                                                            00109890
  321.        KK=KK+1                                                          00109900
  322.   430  VV(KK)=VA(K)                                                     00109910
  323.   440  KK=KK+NEB                                                        00109920
  324.        GO TO 310                                                        00109930
  325.   450  RETURN                                                           00109940
  326.       END                                                               00109950
  327.       SUBROUTINE GSTATC(A,LL,NBLOCK,NEQB,NT18,NT2)                      00110360
  328.       IMPLICIT REAL*8(A-H,O-Z)                                          00110370
  329.       DIMENSION A(1)                                                    00110380
  330.       BACKSPACE NT18                                                    00110390
  331.       CALL RDWRT(NT2,A,1,6,J)                                           00110400
  332.       LS=NEQB*LL                                                        00110410
  333.       DO 100 I=1,NBLOCK                                                 00110420
  334.       CALL RDWRT(NT18,A,LS,14,1)                                        00110430
  335.       CALL RDWRT(NT2,A,LS,13,1)                                         00110440
  336.       CALL RDWRT(NT18,A,LS,2,1)                                         00110450
  337.   100 CONTINUE                                                          00110460
  338.       RETURN                                                            00110470
  339.       END                                                               00110480
  340.       SUBROUTINE ADDGEO(A,B,TMASS,A2,B2,TMASS2,NUMEL,NBLOCK,NE2B,LL,    R0008380
  341.      $MBAND,NEQB,NEMN,ANORM,NVV,MMA)                                    00008390
  342.       IMPLICIT REAL*8(A-H,O-Z)                                                  
  343.       LOGICAL ELPRT,ELPCH,GENPRT,GENPCH,GEOST                           00008410
  344.       COMMON STIF(1)                                                    00008420
  345.       DIMENSION  A(NEQB,MBAND), B(NEQB,LL), TMASS(NEQB,MMA)             R0008430
  346.       DIMENSION A2(NEQB,MBAND),B2(NEQB,LL),TMASS2(NEQB,MMA)             00008440
  347.       DIMENSION ICOO(10),IFORM(4)                                       00008450
  348.       COMMON/CTL/ELPRT,ELPCH,GENPRT,GENPCH                              00008460
  349.       COMMON/MASS/LMASS                                                 00008470
  350.       COMMON /SQZ/ ISQZ,NRSQZ(5)                                        R0008480
  351.       COMMON/PREP/XMX,XAD,KSKIP,NDYN,I1,RRPREP(7)                       R0008490
  352.       COMMON /DYN5/FRSHFT,FRINIT,FREND,MODEFR,NOSS                      R0008500
  353.       COMMON /FORCE/ NLC,NELD                                           00008510
  354.       COMMON/GEOSTF/GEOST,NELGEO                                        00008520
  355.       COMMON/ELPAR/ XPAR(14),KDUM(9),KEQ,RRELPA(23)                     R0008530
  356.       COMMON /DYN2/IFPR,IFSS,NITEM,NFO,RTOL,COFQ,DT,ALFA,BETA,NFN,NGM,  00008540
  357.      $NAT,NT,NOT,NRDYN2(9)                                              R0008550
  358. CC    COMMON /AAA1/A(150,53)                                            R0008551
  359. CC    COMMON /AAA2/ TMASS(200,1),B(200,3)                               R0008552
  360.       DATA ICOO / 3H001,3H013,3H025,3H037,3H049,3H061,3H073,3H085,3H097,00008560
  361.      $            3H109/                                                00008570
  362.       DATA IFORM(1),IFORM(3),IFORM(4)/4H(1H+,4HX,F7,4H.2) /             00008580
  363.       KX(I,J,ND1)=MIN0(I,J)*(2*ND1+1-MIN0(I,J))/2-ND1+MAX0(I,J)+ND1     00008590
  364.       ZER=0.0D0                                                         00008600
  365.       NWDS=NEQB*(MBAND+LL)                                              00008610
  366.       NWA=MBAND*NEQB                                                    00008620
  367.       IF(NDYN.GT.3.AND.NDYN.LE.7) NWDS=NWA                              00008630
  368.       IF(NDYN.EQ.11.OR.NELGEO.EQ.1) NWDS=NWA                            00008640
  369.       NWB=   LL*NEQB                                                    00008650
  370.       NTA=4                                                             00008660
  371.       LLF=LL                                                            00008670
  372.       IF(NELD.EQ.0) LLF=0                                               00008680
  373.       NTD=25                                                            00008690
  374.       NT1=41                                                            00008700
  375.       NT2=10                                                            00008710
  376.       K=NEQB+1                                                          00008720
  377.       X=NBLOCK                                                          00008730
  378.       NFLG=0                                                            00008740
  379. CC    WRITE(6,100)                                                      00008750
  380. CC100 FORMAT (1X )                                                      00008760
  381.       MB= DSQRT(X)                                                      00008770
  382.       MB=MB/2+1                                                         00008780
  383.       NEBB=MB*NE2B                                                      00008790
  384.       MM=1                                                              00008800
  385.       NSHIFT=0                                                          00008810
  386.       AMIN=1.0D30                                                       00008820
  387.       AMAX=-AMIN                                                        00008830
  388.       NTB=18                                                            00008840
  389.       NWDSB=NWB+NEQB                                                    00008850
  390.       CALL RDWRT(NTB,B,1,6,INUM)                                        00008860
  391.       CALL RDWRT(NTA,A,1,6,INUM)                                        00008870
  392.       ANORM=0.0                                                         00008880
  393.       NDEG=0                                                            00008890
  394.       NVV=0                                                             00008900
  395.       IF(NDYN.NE.7) GO TO 110                                           00008910
  396.       TETA=1.4                                                          00008920
  397.       DT1=TETA*DT                                                       00008930
  398.       DT2=DT1*DT1                                                       00008940
  399.       A0=(6.+3*ALFA*DT1)/(DT2+3*BETA*DT1)                               00008950
  400.   110 CONTINUE                                                          00008960
  401.       REWIND NTD                                                        00008970
  402.       WRITE(6,115)                                                      00008980
  403.   115 FORMAT(//,10X,48HTHE LAST NUMBER PRINTED IS THE PERCENT OF THE MA,00008990
  404.      $       55HSTER (CONVENTIONAL AND GEOMETRIC) STIFFNESS AND LOAD MA,00009000
  405.      $        6HTRICES,/,10X,42X,24HTHAT HAS BEEN ASSEMBLED.,//)        00009010
  406.       ICO = 1                                                           00009020
  407.       DO 310 M=1,NBLOCK ,2                                              00009030
  408.       CALL MEMSET (ZER,A2(1,1),NWA)                                     00009040
  409.       CALL MEMSET (ZER, A(1,1),NWA)                                     00009050
  410.       NMWA=NEQB*MMA                                                     00009060
  411.       CALL MEMSET (ZER,TMASS2(1,1),NMWA)                                00009070
  412.       CALL MEMSET (ZER,TMASS (1,1),NMWA)                                00009080
  413.       CALL MEMSET (ZER,B2(1,1),NWB)                                     00009090
  414.       CALL MEMSET (ZER, B(1,1),NWB)                                     00009100
  415.       CALL RDWRT(NT1,STIF,1,6,N)                                        00009110
  416.       CALL RDWRT(NT2,STIF,1,6,N)                                        00009120
  417.       NA=NT2                                                            00009130
  418.       NUME=NUM7                                                         00009140
  419.       IF (MM.NE.1) GO TO 140                                            00009150
  420.       NA=NT1                                                            00009160
  421.       NUME=NUMEL                                                        00009170
  422.       NUM7 =0                                                           00009180
  423.   140 DO 240 N=1,NUME                                                   00009190
  424.       CALL RDWRT(NA,STIF,NEMN,0,KOUNT)                                  00009200
  425.       WRITE (6,1021) NUME,KOUNT,MM
  426.  1021 FORMAT (5X,'** NUME KOUNT MM **',3I5/)
  427. CC    WRITE(6,1001) (STIF(IIR),IIR=1,KOUNT)
  428. C1001 FORMAT (1X,'**NA**',12E10.4/)
  429.       ND1=STIF(KOUNT)                                                   00009210
  430.       NTOT=(ND1*ND1-ND1)/2+ND1                                          00009220
  431.       KSTXM=LLF*ND1+NTOT+ND1+ND1                                        00009230
  432.       IF(LMASS.EQ.1) KSTXM=KSTXM+NTOT-ND1                               00009240
  433.       DO 210 I=1,ND1                                                    00009250
  434.       LMN=1-STIF(I)                                                     00009260
  435.       II=STIF(I)-NSHIFT                                                 00009270
  436.       IF (II.LE.0.OR.II.GT.NE2B) GO TO 210                              00009280
  437.       IF(II.GT.NEQB)GO TO 180                                           00009290
  438.       IF(NELD.EQ.0) GO TO 155                                           00009300
  439.       KSTP=NTOT+I                                                       00009310
  440.       DO 150 L=1,LL                                                     00009320
  441.       KSTP=KSTP+ND1                                                     00009330
  442.   150 B(II,L)=B(II,L)+STIF(KSTP)                                        00009340
  443.   155 CONTINUE                                                          00009350
  444.       DO 170 J=1,ND1                                                    00009360
  445.       JJ=STIF(J)+LMN                                                    00009370
  446.       IF(JJ) 170,170,160                                                00009380
  447.   160 KSTS=KX(I,J,ND1)                                                  00009390
  448.       A(II,JJ)=A(II,JJ)+STIF(KSTS)                                      00009400
  449.       KSTM=KX(I,J,ND1)-ND1                                              00009410
  450.       IF((KSTXM+KSTM).GE.KOUNT) GO TO 170                               00009420
  451.       TMASS(II,JJ)=TMASS(II,JJ)-STIF(KSTXM+KSTM)                        00009430
  452.       IF(NELGEO.EQ.1) A(II,JJ)=A(II,JJ)+STIF(KSTXM+KSTM)                00009440
  453.   170 CONTINUE                                                          00009450
  454.       GO TO 210                                                         00009460
  455.   180 II=II-NEQB                                                        00009470
  456.       IF(NELD.EQ.0) GO TO 195                                           00009480
  457.       KSTP=NTOT+I                                                       00009490
  458.       DO 190 L=1,LL                                                     00009500
  459.       KSTP=KSTP+ND1                                                     00009510
  460.   190 B2(II,L)=B2(II,L)+STIF(KSTP)                                      00009520
  461.   195 CONTINUE                                                          00009530
  462.       DO 200 J=1,ND1                                                    00009540
  463.       JJ=STIF(J)+LMN                                                    00009550
  464.       IF(JJ.LE.0) GO TO 200                                             00009560
  465.       KSTS=KX(I,J,ND1)                                                  00009570
  466.       A2(II,JJ)=A2(II,JJ)+STIF(KSTS)                                    00009580
  467.       KSTM=KX(I,J,ND1)-ND1                                              00009590
  468.       IF((KSTXM+KSTM).GE.KOUNT) GO TO 200                               00009600
  469.       TMASS2(II,JJ)=TMASS2(II,JJ)-STIF(KSTXM+KSTM)                      00009610
  470.       IF(NELGEO.EQ.1) A2(II,JJ)=A2(II,JJ)+STIF(KSTXM+KSTM)              00009620
  471.   200 CONTINUE                                                          00009630
  472.   210 CONTINUE                                                          00009640
  473.       IF (MM.GT.1) GO TO 240                                            00009650
  474.       DO 220 I=1,ND1                                                    00009660
  475.       II=STIF(I)-NSHIFT                                                 00009670
  476.       IF(II.GT.NE2B.AND.II.LE.NEBB) GO TO 230                           00009680
  477.   220 CONTINUE                                                          00009690
  478.       GO TO 240                                                         00009700
  479.   230 CALL RDWRT(NT2,STIF,KOUNT,1,I)                                    00009710
  480.       WRITE (6,1002) STIF
  481.  1002 FORMAT (1X,'**NT2**',12E10.4/)
  482.       NUM7=NUM7+1                                                       00009720
  483.   240 CONTINUE                                                          00009730
  484.       DO 250 I=1,NEQB                                                   00009740
  485.       D=A(I,1)                                                          00009750
  486.       ANORM=ANORM+D                                                     00009760
  487.       IF(D.NE.0.0) NDEG=NDEG+1                                          00009770
  488.       IF(D.NE.0.0D0.AND.D.LT.AMIN) AMIN=D                               00009780
  489.       IF(D.GT.AMAX) AMAX=D                                              00009790
  490.       IF(TMASS(I,1).NE.0) NVV=NVV+1                                     00009800
  491.       IF(M.EQ.NBLOCK) GO TO 250                                         00009810
  492.       D=A2(I,1)                                                         00009820
  493.       ANORM=ANORM+D                                                     00009830
  494.       IF(D.NE.0.0) NDEG=NDEG+1                                          00009840
  495.       IF(D.NE.0.0D0.AND.D.LT.AMIN) AMIN=D                               00009850
  496.       IF(D.GT.AMAX) AMAX=D                                              00009860
  497.       IF(TMASS2(I,1).NE.0.0) NVV=NVV+1                                  00009870
  498.   250 CONTINUE                                                          00009880
  499.   260 CONTINUE                                                          00009890
  500.       IF(.NOT.GENPRT) GO TO 1200                                        00009900
  501.       WRITE(6,1500)M                                                    00009910
  502.       DO 1020 I=1,NEQB                                                  00009920
  503.       IF(GENPCH)WRITE(7,1510)(A(I,J),J=1,MBAND)                         00009930
  504.  1020 WRITE(6,1520)(A(I,J),J=1,MBAND)                                   00009940
  505.       WRITE(6,1530)                                                     00009950
  506.       DO 1030 I=1,NEQB                                                  00009960
  507.       IF(GENPCH) WRITE(7,1510)(B(I,J),J=1,LL)                           00009970
  508.  1030 WRITE(6,1520)(B(I,J),J=1,LL)                                      00009980
  509.       WRITE(6,1540)                                                     00009990
  510.  2170 DO 2180 I=1,NEQB                                                  00010000
  511.       IF(GENPCH) WRITE(7,1510)(TMASS(I,J),J=1,MBAND)                    00010010
  512.  2180 WRITE(6,1520)(TMASS(I,J),J=1,MBAND)                               00010020
  513.       IF(M.EQ.NBLOCK) GO TO 1200                                        00010030
  514.       MP1=M+1                                                           00010040
  515.       WRITE(6,1500)MP1                                                  00010050
  516.       DO 1060 I=1,NEQB                                                  00010060
  517.       IF(GENPCH)WRITE(7,1510)(A2(I,J),J=1,MBAND)                        00010070
  518.  1060 WRITE(6,1520)(A2(I,J),J=1,MBAND)                                  00010080
  519.       WRITE(6,1530)                                                     00010090
  520.       DO 1070 I=1,NEQB                                                  00010100
  521.       IF(GENPCH) WRITE(7,1510)(B2(I,J),J=1,LL)                          00010110
  522.  1070 WRITE(6,1520)(B2(I,J),J=1,LL)                                     00010120
  523.       WRITE(6,1540)                                                     00010130
  524.  2200 DO 2210 I=1,NEQB                                                  00010140
  525.       IF(GENPCH)WRITE(7,1510)(TMASS2(I,J),J=1,MBAND)                    00010150
  526.  2210 WRITE(6,1520)(TMASS2(I,J),J=1,MBAND)                              00010160
  527.  1200 CONTINUE                                                          00010170
  528.       IF(MODEFR.GT.0) GO TO 247                                         00010180
  529.       DO 246 I=1,NEQB                                                   00010190
  530.       D=A(I,1)                                                          00010200
  531.       IF(D.GT.0.0) GO TO 243                                            00010210
  532.       NJ=NEQB*(M-1)+I                                                   00010220
  533.       IF(NJ.GT.KEQ) GO TO 246                                           00010230
  534.       NFLG=1                                                            00010240
  535.       WRITE(6,242)NJ,D                                                  00010250
  536.   242 FORMAT(/10X,9HEQUATION ,I5,26H HAS A SINGULAR DIAGONAL = ,E10.4)  00010260
  537.       WRITE(6,115)                                                      00010270
  538.       ICO=1                                                             00010280
  539.   243 D=A2(I,1)                                                         00010290
  540.       IF(D.GT.0.0) GO TO 246                                            00010300
  541.       NJ=NEQB*M+I                                                       00010310
  542.       IF(NJ.GT.KEQ) GO TO 246                                           00010320
  543.       NFLG=1                                                            00010330
  544.       WRITE(6,242)NJ,D                                                  00010340
  545.   246 CONTINUE                                                          00010350
  546.   247 CONTINUE                                                          00010360
  547.       WRITE (NTD) TMASS,(A(I,1),I=1,NEQB)                               00010370
  548.       IF(NDYN.GT.3.AND.NDYN.LE.7) NWDS=MBAND*NEQB                       R0010371
  549.       IF(NDYN.EQ.11.OR.NELGEO.EQ.1) NWDS=MBAND*NEQB                     R0010372
  550.       WRITE (6,2020) NTA,NWDS,MBAND,NEQB,ISQZ,NTD,MMA
  551.  2020 FORMAT (5X,'** NTA NWDS MBAND NEQB ISQZ NTD MMA **',7I5/)
  552. CC    CALL SQEEZE(A ,NWDS,NTA,ISQZ)                                     R0010380
  553.       WRITE (NTA) A                                                     R0010381
  554.       IF(M.EQ.NBLOCK) GO TO 310                                         00010390
  555.       WRITE (NTD) TMASS2,(A2(I,1),I=1,NEQB)                             00010400
  556.       WRITE (NTA) A                                                     R0010401
  557. CC    CALL SQEEZE(A2,NWDS,NTA,ISQZ)                                     R0010410
  558.       IF (MM.EQ.MB) MM=0                                                00010420
  559.       MM=MM+1                                                           00010430
  560.       PER=(M+1)*100.0/X                                                 00010440
  561.       IFORM(2) = ICOO(ICO)                                              00010450
  562.       WRITE(6,IFORM) PER                                                00010460
  563.       ICO = ICO + 1                                                     00010470
  564.       IF ( ICO .LT. 11 ) GO TO 310                                      00010480
  565.       WRITE(6,295)                                                      00010490
  566.   295 FORMAT(1H )                                                       00010500
  567.       ICO = 1                                                           00010510
  568.   310 NSHIFT=NSHIFT+NE2B                                                00010520
  569.       WRITE(6,320)                                                      00010530
  570.   320 FORMAT(////20X,98(1H*)/20X,34HTHE MASTER STIFFNESS (CONVENTIONAL, 00010540
  571.      148H AND GEOMETRIC) STIFFNESS AND LOAD MATRICES HAVE,              00010550
  572.      216H BEEN ASSEMBLED./20X,98(1H*))                                  00010560
  573.       IF(NFLG.EQ.1) KSKIP=1                                             00010570
  574.       IF(NDEG.GT.0) GO TO 340                                           00010580
  575.       WRITE(6,330)                                                      00010590
  576.   330 FORMAT(51H0STRUCTURE WITH NO DEGREES OF FREEDOM CHECK DATA   )    00010600
  577.       KSKIP =1                                                          00010610
  578.       RETURN                                                            00010620
  579.   340 CONTINUE                                                          00010630
  580.       IF(NDEG.GT.0) ANORM= (ANORM/NDEG)*1.0E-08                         00010640
  581.       IF(NDYN.EQ.11) WRITE(6,1550)                                      00010650
  582.       IF(NDYN.NE.11) WRITE(6,1560)                                      00010660
  583.       RATIO=1.0D30                                                      00010670
  584.       IF(AMIN.NE.0.0D0) RATIO=AMAX/AMIN                                 00010680
  585.       WRITE(6,1570)AMIN,AMAX,RATIO                                      00010690
  586.       RETURN                                                            00010700
  587.  1500 FORMAT(17H OVERALL MATRICES,1X,5HBLOCK,I3,//,                     00010710
  588.      117H STIFFNESS MATRIX)                                             00010720
  589.  1510 FORMAT((1P8E10.3))                                                00010730
  590.  1520 FORMAT (  (1H ,1P10E13.4))                                        00010740
  591.  1530 FORMAT(///,12H LOAD MATRIX)                                       00010750
  592.  1540 FORMAT(///,23H GEOMETRIC MATRIX (-KG))                            00010760
  593.  1550 FORMAT(5X,37HGEOMETRIC STIFFNESS MATRIX PARAMETERS)               00010770
  594.  1560 FORMAT(15X,43HSTIFFNESS MATRIX PARAMETERS AFTER INCLUSION,        00010780
  595.      1       1X,26HOF THE GEOMETRIX STIFFNESS)                          00010790
  596.  1570 FORMAT(//,                                                        00010800
  597.      1 15X,34HMINIMUM NON-ZERO DIAGONAL ELEMENT=,1PD10.3,/,             00010810
  598.      2 15X,34HMAXIMUM DIAGONAL ELEMENT         =,  D10.3,/,             00010820
  599.      3 15X,34HMAXIMUM/MINIMUM                  =,  D10.3)               00010830
  600.       END                                                               00010840
  601.       SUBROUTINE ST2D1(NORD,NADD)                                       00261030
  602.       IMPLICIT REAL*8(A-H,O-Z)                                          00261040
  603.       COMMON /JUNK/ SIG(200),MM,L,K,NTAG,RRJUNK(25)                     R0261050
  604.       COMMON /BAND/KOPT,NRBAND(7)                                       R0261060
  605.       COMMON /OUT/NRES,NSTR,NROUT(8)                                    R0261070
  606.       COMMON/PREP/XMX,XAD,NRPREP(17)                                    R0261080
  607.       DIMENSION NORD(NADD)                                              00261090
  608.       COMMON /QTSARG/ SIGEX(100),X(2),RRQTSA(898)                       R0261100
  609.       DIMENSION C(4),D(4),Q(3)                                          00261110
  610.       DATA Q/4HNODE,4HC.G.,4HI.P./                                      00261120
  611.       JJ=SIG(150)/4                                                     00261130
  612.       MTYP=SIG(151)                                                     00261140
  613.       KL=0                                                              00261150
  614.       IF(NTAG.GT.0) GO TO 154                                           00261160
  615.       IF(MTYP.EQ.11.AND.NTAG.EQ.0) WRITE(6,100)                         00261170
  616.       IF(MTYP.EQ.12.AND.NTAG.EQ.0) WRITE(6,110)                         00261180
  617.       IF(MTYP.EQ.13.AND.NTAG.EQ.0) WRITE(6,120)                         00261190
  618.   100 FORMAT(1X , 32H .... AXISYMMETRIC ELEMENTS ..../)                 00261200
  619.   110 FORMAT(1X , 32H .... PLANE STRESS ELEMENTS ..../)                 00261210
  620.   120 FORMAT(1X , 32H .... PLANE STRAIN ELEMENTS ..../)                 00261220
  621.       IF(NTAG.EQ.0.AND.MTYP .NE.11) WRITE(6,130)                        00261230
  622.       IF(NTAG.EQ.0.AND.MTYP .EQ.11) WRITE(6,140)                        00261240
  623.   130 FORMAT(12H0EL.NO. LOAD,12X,90HY-STRESS   Z-STRESS  YZ-STRESS   T-S00261250
  624.      $TRESS MAX-STRESS MIN-STRESS  ANGLE   SIG-EF   LOCATION  /)        00261260
  625.   140 FORMAT(12H0EL.NO. LOAD,12X,90HR-STRESS   Z-STRESS  RZ-STRESS   T-S00261270
  626.      $TRESS MAX-STRESS MIN-STRESS  ANGLE   SIG-EF   LOCATION  /)        00261280
  627.       IF(NTAG.EQ.0.AND.KOPT.GT.1.AND.NADD.EQ.1) WRITE(6,150)            00261290
  628.   150 FORMAT( 5X,39HNOTE - NODES ARE NEW RENUMBERED NODES       /)      00261300
  629.   154 KK=SIG(150)                                                       00261310
  630.       NSCG=8                                                            00261320
  631.       JL=1000                                                           00261330
  632.       IF(JJ.GT.1) JL=(KK-16)/4                                          00261340
  633.       DO 200 I=1,JJ                                                     00261350
  634.       KK=KK+1                                                           00261360
  635.       FACE=SIG(KK)*10000.+.001                                          00261370
  636.       NF=FACE                                                           00261380
  637.       LL=NF                                                             00261390
  638.       A=Q(2)                                                            00261400
  639.       IF(I.EQ.1) GO TO 155                                              00261410
  640.       IF(NADD.GT.1.AND.I.LE.JL) NF=NORD(LL)                             00261420
  641.       A=Q(1)                                                            00261430
  642.       IF(I.EQ.1) A=Q(2)                                                 00261440
  643.       IF(I.LE.JL) GO TO 155                                             00261450
  644.       A=Q(3)                                                            00261460
  645.       NF=I-JL                                                           00261470
  646.       LL=SIG(KK)                                                        00261480
  647.       IF(SIG(KK).LT.0.0) LL=LL-1                                        00261490
  648.       X(1)=(SIG(KK)-LL-XAD)*XMX                                         00261500
  649.       KK=KK+1                                                           00261510
  650.       LL=SIG(KK)                                                        00261520
  651.       IF(SIG(KK).LT.0.0) LL=LL-1                                        00261530
  652.       X(2)=(SIG(KK)-LL-XAD)*XMX                                         00261540
  653.   155 CONTINUE                                                          00261550
  654.       LL=4*(I-1)                                                        00261560
  655.       DO 160 J=1,4                                                      00261570
  656.       LL=LL+1                                                           00261580
  657.         D(J)=SIG(LL)                                                    00261590
  658. 160     CONTINUE                                                        00261600
  659.       CALL MXMN1 (D,C(1),C(2),C(3),C(4))                                00261610
  660.       DO 165 K=1,4                                                      00261620
  661.       KL=KL+1                                                           00261630
  662.   165 SIGEX(KL)=C(K)                                                    00261640
  663.   170 FORMAT(I4,I2,2H12,6F9.0)                                          00261650
  664.       IF(I.EQ.1) WRITE(6,180)MM,L,D,C,A                                 00261660
  665.       IF(I.GT.1.AND.I.LE.JL) WRITE(6,190)D,C,A,NF                       00261670
  666.       IF(I.GT.JL) SIGEX(KL-1)=X(1)                                      00261680
  667.       IF(I.GT.JL) SIGEX(KL  )=X(2)                                      00261690
  668.       IF(I.GT.JL) GO TO 200                                             00261700
  669.       IF(I.GT.JL.AND.L.EQ.1) WRITE(6,175)X(1),X(2),D,C,A,NF             00261710
  670.       IF(I.GT.JL.AND.L.GT.1) WRITE(6,190)D,C,A,NF                       00261720
  671.   175 FORMAT(3H Y=,F8.2,3H Z=,F8.2,F10.0,5E11.4,F7.2,E11.4,2X,A4,I5)    00261730
  672.   180 FORMAT(2I6,     9X,6E11.4,F7.2,E11.4,2X,A4,I5)                    00261740
  673.   190 FORMAT(21X,    6E11.4,F7.2,E11.4,2X,A4,I5)                        00261750
  674.         IF(I.EQ.1)WRITE(35,1235)MM,MTYP,L,D,C                           00261760
  675.   200 CONTINUE                                                          00261770
  676.       KK=SIG(150)                                                       00261780
  677.       LL=JJ*4                                                           00261790
  678.       NS=KK+LL                                                          00261800
  679.       IF(NSTR.GT.0) WRITE(NSTR,1234) NS,L,MTYP,(SIGEX(I),I=1,LL),(SIG(I)00261810
  680.      $,I=1,KK)                                                          00261820
  681.  1234 FORMAT(I4,I2,2X,I2  ,7G10.4/(8G10.4))                             00261830
  682. 1235    FORMAT(3I5,10E10.3)                                             00261840
  683.       RETURN                                                            00261850
  684.       END                                                               00261860
  685.       SUBROUTINE ST3D1(NORD,NADD)                                       00263600
  686.       IMPLICIT REAL*8(A-H,O-Z)                                          00263610
  687.       COMMON /JUNK/ SIG(200),MM,L,K,NTAG,RRJUNK(25)                     R0263620
  688.       COMMON /BAND/ KOPT,NRBAND(7)                                      R0263630
  689.       COMMON /OUT/NR,NSTR,NROUT(8)                                      R0263640
  690.       COMMON/QTSARG/SIGEX(90),RRQTSA(910)                               R0263650
  691.       DIMENSION C(6),D(12),Q(2)                                         00263660
  692.       DIMENSION NORD(NADD)                                              00263670
  693.       DATA Q/4HNODE,4HC.G./                                             00263680
  694.       MTYP=10                                                           00263690
  695.       JJ=SIG(150)/6.                                                    00263700
  696.       IF(NTAG.GT.0) GO TO 125                                           00263710
  697.       IF(NTAG.EQ.0) WRITE(6,100)                                        00263720
  698.   100 FORMAT(1X , 39H .... 3-D SOLID ELEMENTS 8-20NODE .... /)          00263730
  699.       IF(NTAG.EQ.0.AND.KOPT.GT.1.AND.NADD.EQ.1) WRITE(6,110)            00263740
  700.   110 FORMAT(5X, 35H NODE NUMBERS ARE RENUMBERED NODES /)               00263750
  701.       IF(NTAG.EQ.0) WRITE(6,120)                                        00263760
  702.   120 FORMAT(                                                           00263770
  703.      $61H ELEM. LOAD LOC.    SIG-XX    SIG-YY    SIG-ZZ    SIG-XY    S, 00263780
  704.      $57HIG-YZ    SIG-ZX    SIG-MAX    SIG-MIN    SIG-MID   SIG-EF/)    00263790
  705.   125 KK=SIG(150)                                                       00263800
  706.       A=0.                                                              00263810
  707.       B=0.                                                              00263820
  708.       E=6.                                                              00263830
  709.       KL=0                                                              00263840
  710.       DO 180 I=1,JJ                                                     00263850
  711.       KK=KK+1                                                           00263860
  712.       FACE=SIG(KK)*10000.+.001                                          00263870
  713.       NF=FACE                                                           00263880
  714.       LL=NF                                                             00263890
  715.       IF(NADD.GT.1.AND.I.GT.1)  NF=NORD(LL)                             00263900
  716.       LL=6*(I-1)                                                        00263910
  717.       DO 130 J=1,6                                                      00263920
  718.       LL=LL+1                                                           00263930
  719.   130 D(J)=SIG(LL)                                                      00263940
  720.       CALL SPRIST(A,B,D,C,E)                                            00263950
  721.       EFS=(C(1)-C(2))**2+(C(2)-C(3))**2+(C(3)-C(1))**2                  00263960
  722.       EFS= DSQRT(EFS/2.)                                                00263970
  723.       DO 135 K=1,3                                                      00263980
  724.       KL=KL+1                                                           00263990
  725.   135 SIGEX(KL)=C(K)                                                    00264000
  726.       KL=KL+1                                                           00264010
  727.       SIGEX(KL)=EFS                                                     00264020
  728.       IF(I.GT.1) GO TO 160                                              00264030
  729.   140 FORMAT(I4,I2,2H71,6F9.0)                                          00264040
  730.       WRITE(6,150)MM,L,Q(2),(D(J),J=1,6),(C(J),J=1,3),EFS               00264050
  731.       WRITE(35,1235)MM,MTYP,L,(D(J),J=1,6),(C(J),J=1,3),EFS             00264060
  732.   150 FORMAT(I5,I4,1X,A4,1X,10E10.3)                                    00264070
  733.       GO TO 180                                                         00264080
  734.   160 WRITE(6,170)Q(1),NF,(D(J),J=1,6),(C(J),J=1,3),EFS                 00264090
  735.   170 FORMAT (5X,A4,I5,1X,10E10.3)                                      00264100
  736.   180 CONTINUE                                                          00264110
  737.       KK=SIG(150)                                                       00264120
  738.       LL=JJ*4                                                           00264130
  739.       NS=KK+LL                                                          00264140
  740.       IF(NSTR.GT.0) WRITE(NSTR,1234) NS,L,(SIGEX(I),I=1,LL),(SIG(I),I=1,00264150
  741.      $KK)                                                               00264160
  742.  1234 FORMAT(I4,I2,2X,2H10,7G10.4/(8G10.4))                             00264170
  743.  1235 FORMAT(3I5,10E10.3)                                               00264180
  744.       RETURN                                                            00264190
  745.       END                                                               00264200
  746.       SUBROUTINE MPRMAT(A,NR,NC,MAX,TITLE)                              00150800
  747.       IMPLICIT REAL*8(A-H,O-Z)                                          00150810
  748.       DIMENSION A(MAX,1) , TITLE(2)                                     00150820
  749.       WRITE(6,150)TITLE                                                 00150830
  750.       DO 120 J=1,NC,8                                                   00150840
  751.       JH=J+7                                                            00150850
  752.       IF (JH-NC) 110,110,100                                            00150860
  753.   100 JH=NC                                                             00150870
  754.   110 WRITE(6,130)(N,N=J,JH)                                            00150880
  755.       DO 120 I=1,NR                                                     00150890
  756.   120 WRITE(6,140)I,(A(I,K),K=J,JH)                                     00150900
  757.       RETURN                                                            00150910
  758.   130 FORMAT (///8X,8I14)                                               00150920
  759.   140 FORMAT (I4,4X,8E14.7)                                             00150930
  760.   150 FORMAT(1X ,8H MATRIX ,2A8)                                        00150940
  761.       END                                                               00150950
  762.       SUBROUTINE TUBE                                                   00316510
  763.       DOUBLE PRECISION A,SM2,SM3,VQIB2,VQIB3,DP,BF,TF,TW,DIAM,WALL,R2,  00316520
  764.      1    R3,EBM,RED,FY,XK,YK,DL,FATEN,FASHR,FACOM,FB2,FB3,PSI,SHR,COMB,00316530
  765.      2    AXR,BEND2,BEND3,P,S2I,S3I,S2J,S3J,XM2I,XM3I,XM2J,XM3J,TYPE,   00316540
  766.      3    PI,XLR2,XLR3,XLR,CC,RTL,FE2,FE3,XINER,AWC,DT257,FY6,AF,C,S76, 00316550
  767.      4    FB4,AFC,SQFY,S20,BT,T1,BT65,C102,DT,AW,BT95,C510,FB5,B,TI,XX, 00316560
  768.      5    DT1,ROD,CID,DT2,RID,DTA,AOD,AID,COD,ST,BTT,SS,DTT,BT190,BTS,  00316570
  769.      6    BT238,DTS,FS,T2,CM3T3,XFB2I,COMB2J,XFB3JB,T3,SH2I,XFB3I,TJ,   00316580
  770.      7    XFAFA,CM2,SH2J,XFB2J,COMB1I,XFB2IB,CM3,SH3I,XFB3J,COMB2I,     00316590
  771.      8    XFB3IB,CM2T2,SH3J,XFA,COMB1J,XFB2JB,TEMP,FLG,XINC,            00316600
  772.      9    XINER2,XINER3                                                 00316610
  773.       COMMON/STEEL/A,SM2,SM3,VQIB2,VQIB3,DP,BF,TF,TW,DIAM,WALL,R2,R3,   00316620
  774.      1    EBM,RED,FY,XK,YK,DL,FATEN,FASHR,FACOM,FB2,FB3,PSI,SHR,COMB,   00316630
  775.      2    AXR,BEND2,BEND3,P,S2I,S3I,S2J,S3J,XM2I,XM3I,XM2J,XM3J,        00316640
  776.      3    TYPE,PI,XLR2,XLR3,XLR,CC,RTL,FE2,FE3,XINER,AWC,DT257,FY6,AF,  00316650
  777.      4    C,S76,FB4,AFC,SQFY,S20,BT,T1,BT65,C102,DT,AW,BT95,C510,FB5,   00316660
  778.      5    B,TI,XX,DT1,ROD,CID,DT2,RID,DTA,AOD,AID,COD,ST,BTT,SS,DTT,    00316670
  779.      6    BT190,BTS,BT238,DTS,FS,T2,CM3T3,XFB2I,COMB2J,XFB3JB,T3,SH2I,  00316680
  780.      7    XFB3I,TJ,XFAFA,CM2,SH2J,XFB2J,COMB1I,XFB2IB,CM3,SH3I,XFB3J,   00316690
  781.      8    COMB2I,XFB3IB,CM2T2,SH3J,XFA,COMB1J,XFB2JB,TEMP,FLG,XINC,     00316700
  782.      9    XINER2,XINER3,ICT,KATX,KATY                                   00316710
  783.       RED=1.0D0                                                         00316720
  784.       XINER=SM3*DP/2.0D0                                                00316730
  785.       R3=DSQRT(XINER/A)                                                 00316740
  786.       AF=BF*TF                                                          00316750
  787.       AFC=(DP/2.0D0)-(TF/2.0D0)                                         00316760
  788.       T1=(DP/2.0D0)-TF                                                  00316770
  789.       AW=T1*TW*2.0D0                                                    00316780
  790.       AWC=T1/2.0D0                                                      00316790
  791.       C=((AF*AFC)+(AW*AWC))/(AF+AW)                                     00316800
  792.       VQIB2=(A*C)/(4.0D0*XINER*TW)                                      00316810
  793.       XINER=SM2*BF/2.0D0                                                00316820
  794.       R2=DSQRT(XINER/A)                                                 00316830
  795.       AF=DP*TW                                                          00316840
  796.       AFC=(BF/2.0D0)-(TW/2.0D0)                                         00316850
  797.       T1=(BF/2.0D0)-TW                                                  00316860
  798.       AW=T1*TF*2.0D0                                                    00316870
  799.       AWC=T1/2.0D0                                                      00316880
  800.       C=((AF*AFC)+(AW*AWC))/(AF+AW)                                     00316890
  801.       VQIB3=(A*C)/(4.0D0*XINER*TF)                                      00316900
  802.       VQIB3=(A*C)/(4.0D0*XINER*TF)                                      00316910
  803.       RTL=0.0D0                                                         00316920
  804.       BT190=190.0D0/SQFY                                                00316930
  805.       BT238=238.0D0/SQFY                                                00316940
  806.       BTT=(BF-TW-TW)/TF                                                 00316950
  807.       DTT=DP/TW                                                         00316960
  808.       BTS=(DP-TF-TF)/TW                                                 00316970
  809.       DTS=BF/TF                                                         00316980
  810.       RETURN                                                            00316990
  811.       END                                                               00317000
  812.                                                                         00317010
  813.                                                                         00317020
  814.       SUBROUTINE FCOPY(ID,IF)                                           00086440
  815.       RETURN                                                            00086450
  816.       END                                                               00086460
  817.       SUBROUTINE RATIO                                                  00194650
  818.       DOUBLE PRECISION FATEN,FASHR,FACOM,FE2,FE3,FB2,FB3                00194660
  819.       DOUBLE PRECISION A,SM2,SM3,VQIB2,VQIB3,DP,BF,TF,TW,DIAM,WALL,R2,  00194670
  820.      1    R3,EBM,RED,FY,XK,YK,DL,ZATEN,ZASHR,ZACOM,ZB2,ZB3,PSI,SHR,COMB,00194680
  821.      2    AXR,BEND2,BEND3,P,S2I,S3I,S2J,S3J,XM2I,XM3I,XM2J,XM3J,TYPE,   00194690
  822.      3    PI,XLR2,XLR3,XLR,CC,RTL,ZE2,ZE3,XINER,AWC,DT257,FY6,AF,C,S76, 00194700
  823.      4    FB4,AFC,SQFY,S20,BT,T1,BT65,C102,DT,AW,BT95,C510,FB5,B,TI,XX, 00194710
  824.      5    DT1,ROD,CID,DT2,RID,DTA,AOD,AID,COD,ST,BTT,SS,DTT,BT190,BTS,  00194720
  825.      6    BT238,DTS,FS,T2,CM3T3,XFB2I,COMB2J,XFB3JB,T3,SH2I,XFB3I,TJ,   00194730
  826.      7    XFAFA,CM2,SH2J,XFB2J,COMB1I,XFB2IB,CM3,SH3I,XFB3J,COMB2I,     00194740
  827.      8    XFB3IB,CM2T2,SH3J,XFA,COMB1J,XFB2JB,TEMP,FLG,XINC,            00194750
  828.      9    XINER2,XINER3                                                 00194760
  829.       COMMON/STEEL/A,SM2,SM3,VQIB2,VQIB3,DP,BF,TF,TW,DIAM,WALL,R2,R3,   00194770
  830.      1    EBM,RED,FY,XK,YK,DL,ZATEN,ZASHR,ZACOM,ZB2,ZB3,PSI,SHR,COMB,   00194780
  831.      2    AXR,BEND2,BEND3,P,S2I,S3I,S2J,S3J,XM2I,XM3I,XM2J,XM3J,        00194790
  832.      3    TYPE,PI,XLR2,XLR3,XLR,CC,RTL,ZE2,ZE3,XINER,AWC,DT257,FY6,AF,  00194800
  833.      4    C,S76,FB4,AFC,SQFY,S20,BT,T1,BT65,C102,DT,AW,BT95,C510,FB5,   00194810
  834.      5    B,TI,XX,DT1,ROD,CID,DT2,RID,DTA,AOD,AID,COD,ST,BTT,SS,DTT,    00194820
  835.      6    BT190,BTS,BT238,DTS,FS,T2,CM3T3,XFB2I,COMB2J,XFB3JB,T3,SH2I,  00194830
  836.      7    XFB3I,TJ,XFAFA,CM2,SH2J,XFB2J,COMB1I,XFB2IB,CM3,SH3I,XFB3J,   00194840
  837.      8    COMB2I,XFB3IB,CM2T2,SH3J,XFA,COMB1J,XFB2JB,TEMP,FLG,XINC,     00194850
  838.      9    XINER2,XINER3,ICT,KATX,KATY                                   00194860
  839.       T2=0.0D0                                                          00194870
  840.       T3=0.0D0                                                          00194880
  841.       CM2=0.0D0                                                         00194890
  842.       CM3=0.0D0                                                         00194900
  843.       CM2T2=0.0D0                                                       00194910
  844.       CM3T3=0.0D0                                                       00194920
  845.       FATEN=XINC*ZATEN                                                  00194930
  846.       FASHR=XINC*ZASHR                                                  00194940
  847.       FACOM=XINC*ZACOM                                                  00194950
  848.       FE2=XINC*ZE2                                                      00194960
  849.       FE3=XINC*ZE3                                                      00194970
  850.       SH2I=DABS(S2I)*VQIB2                                              00194980
  851.       SH2J=DABS(S2J)*VQIB2                                              00194990
  852.       SH3I=DABS(S3I)*VQIB3                                              00195000
  853.       SH3J=DABS(S3J)*VQIB3                                              00195010
  854.       IF(TYPE-1.0D0)100,100,101                                         00195020
  855.   101 SH3I=0.0D0                                                        00195030
  856.       SH3J=0.0D0                                                        00195040
  857.       SH2I=DSQRT(S2I*S2I+S3I*S3I)*VQIB2                                 00195050
  858.       SH2J=DSQRT(S2J*S2J+S3J*S3J)*VQIB2                                 00195060
  859.   100 SHR=DMAX1(SH2I,SH2J,SH3I,SH3J)                                    00195070
  860.       SHR=SHR/FASHR                                                     00195080
  861.       XFB2I=12.0D0*DABS(XM2I)/SM2                                       00195090
  862.       XFB3I=12.0D0*DABS(XM3I)/SM3                                       00195100
  863.       XFB2J=12.0D0*DABS(XM2J)/SM2                                       00195110
  864.       XFB3J=12.0D0*DABS(XM3J)/SM3                                       00195120
  865.       XFA=DABS(P)/A                                                     00195130
  866.       IF(TYPE.EQ.0.0D0)CALL WFFB                                        00195140
  867.       IF(TYPE.EQ.1.0D0)CALL TUFB                                        00195150
  868.       FB2=XINC*ZB2                                                      00195160
  869.       FB3=XINC*ZB3                                                      00195170
  870.       IF(TYPE-1.0D0)200,200,201                                         00195180
  871.   201 TI=DSQRT(XFB2I*XFB2I+XFB3I*XFB3I)                                 00195190
  872.       TJ=DSQRT(XFB2J*XFB2J+XFB3J*XFB3J)                                 00195200
  873.       IF(TI.LE.0.0D0)TI=1.0D0                                           00195210
  874.       IF(TJ.LE.0.0D0)TJ=1.0D0                                           00195220
  875.       XFB2I=XFB2I*XFB2I/TI                                              00195230
  876.       XFB2J=XFB2J*XFB2J/TJ                                              00195240
  877.       XFB3I=XFB3I*XFB3I/TI                                              00195250
  878.       XFB3J=XFB3J*XFB3J/TJ                                              00195260
  879.   200 IF(ICT)300,300,301                                                00195270
  880.   300 AXR=XFA/FATEN                                                     00195280
  881.       COMB1I=(XFB2I/FB2)+(XFB3I/FB3)                                    00195290
  882.       COMB2I=AXR+(XFB2I/FB2)+(XFB3I/FB3)                                00195300
  883.       COMB1J=(XFB2J/FB2)+(XFB3J/FB3)                                    00195310
  884.       COMB2J=AXR+(XFB2J/FB2)+(XFB3J/FB3)                                00195320
  885.       COMB=DMAX1(COMB1I,COMB1J,COMB2I,COMB2J)                           00195330
  886.       IF(COMB.EQ.COMB1I)GO TO 400                                       00195340
  887.       IF(COMB.EQ.COMB2I)GO TO 401                                       00195350
  888.       IF(COMB.EQ.COMB1J)GO TO 402                                       00195360
  889.       IF(COMB.EQ.COMB2J)GO TO 403                                       00195370
  890.       GO TO 9999                                                        00195380
  891.   400 AXR=0.0D0                                                         00195390
  892.       BEND2=XFB2I/FB2                                                   00195400
  893.       BEND3=XFB3I/FB3                                                   00195410
  894.       GO TO 9999                                                        00195420
  895.   401 BEND2=XFB2I/FB2                                                   00195430
  896.       BEND3=XFB3I/FB3                                                   00195440
  897.       GO TO 9999                                                        00195450
  898.   402 AXR=0.0D0                                                         00195460
  899.       BEND2=XFB2J/FB2                                                   00195470
  900.       BEND3=XFB3J/FB3                                                   00195480
  901.       GO TO 9999                                                        00195490
  902.   403 BEND2=XFB2J/FB2                                                   00195500
  903.       BEND3=XFB3J/FB3                                                   00195510
  904.       GO TO 9999                                                        00195520
  905.   301 XFAFA=XFA/FACOM                                                   00195530
  906.       XFB2IB=XFB2I/FB2                                                  00195540
  907.       XFB3IB=XFB3I/FB3                                                  00195550
  908.       XFB2JB=XFB2J/FB2                                                  00195560
  909.       XFB3JB=XFB3J/FB3                                                  00195570
  910.       IF(XFAFA-.15D0)600,600,601                                        00195580
  911.   600 COMB1I=XFAFA+XFB2IB+XFB3IB                                        00195590
  912.       COMB1J=XFAFA+XFB2JB+XFB3JB                                        00195600
  913.       AXR=XFAFA                                                         00195610
  914.       IF(COMB1I-COMB1J)650,650,651                                      00195620
  915.   650 COMB=COMB1J                                                       00195630
  916.       BEND2=XFB2JB                                                      00195640
  917.       BEND3=XFB3JB                                                      00195650
  918.       GO TO 9999                                                        00195660
  919.   651 COMB=COMB1I                                                       00195670
  920.       BEND2=XFB2IB                                                      00195680
  921.       BEND3=XFB3IB                                                      00195690
  922.       GO TO 9999                                                        00195700
  923.   601 COMB1I=(XFA/FATEN)+XFB2IB+XFB3IB                                  00195710
  924.       COMB1J=(XFA/FATEN)+XFB2JB+XFB3JB                                  00195720
  925.       T2=1.0D0-(XFA/FE2)                                                00195730
  926.       T3=1.0D0-(XFA/FE3)                                                00195740
  927.       IF(T2.LE.0.0D0.OR.T3.LE.0.0D0)GO TO 700                           00195750
  928.       GO TO 750                                                         00195760
  929.   700 AXR=9.9999D0                                                      00195770
  930.       BEND2=0.0D0                                                       00195780
  931.       BEND3=0.0D0                                                       00195790
  932.       COMB=9.9999D0                                                     00195800
  933.       GO TO 9999                                                        00195810
  934.   750 GO TO(901,902,1300,1310,903,1320,1330),KATX                       00195820
  935.   901 CM2=1.0D0-(.18D0*XFA/FE2)                                         00195830
  936.       GO TO 904                                                         00195840
  937.   902 CM2=1.0                                                           00195850
  938.       IF(DABS(XM2I).GT.DABS(XM2J))CM2=XM2J/XM2I                         00195860
  939.       IF(DABS(XM2J).GT.DABS(XM2I))CM2=XM2I/XM2J                         00195870
  940.       CM2=DSQRT(.3*CM2*CM2-.4*CM2+.3)                                   00195880
  941.       GO TO 904                                                         00195890
  942.  1300 CM2=1.0D0                                                         00195900
  943.       GO TO 904                                                         00195910
  944.  1310 CM2=1.0D0-(0.2D0*XFA/FE2)                                         00195920
  945.       GO TO 904                                                         00195930
  946.   903 CM2=1.0D0-(.3D0*XFA/FE2)                                          00195940
  947.       GO TO 904                                                         00195950
  948.  1320 CM2=1.0D0-(0.4*XFA/FE2)                                           00195960
  949.       GO TO 904                                                         00195970
  950.  1330 CM2=1.0D0-(0.6*XFA/FE2)                                           00195980
  951.   904 GO TO(911,912,1370,1380,913,1390,1400),KATY                       00195990
  952.   911 CM3=1.0D0-(.18D0*XFA/FE3)                                         00196000
  953.       GO TO 914                                                         00196010
  954.   912 CM3=1.0                                                           00196020
  955.       IF(DABS(XM3I).GT.DABS(XM3J))CM3=XM3J/XM3I                         00196030
  956.       IF(DABS(XM3J).GT.DABS(XM3I))CM3=XM3I/XM3J                         00196040
  957.       CM3=DSQRT(.3*CM3*CM3-.4*CM3+.3)                                   00196050
  958.       GO TO 914                                                         00196060
  959.  1370 CM3=1.0D0                                                         00196070
  960.       GO TO 914                                                         00196080
  961.  1380 CM3=1.0D0-(0.2*XFA/FE3)                                           00196090
  962.       GO TO 914                                                         00196100
  963.   913 CM3=1.0D0-(.3D0*XFA/FE3)                                          00196110
  964.       GO TO 914                                                         00196120
  965.  1390 CM3=1.0D0-(0.4D0*XFA/FE3)                                         00196130
  966.       GO TO 914                                                         00196140
  967.  1400 CM3=1.0D0-(0.6D0*XFA/FE3)                                         00196150
  968.   914 CM2T2=CM2/T2                                                      00196160
  969.       CM3T3=CM3/T3                                                      00196170
  970.       IF(CM2T2.LT.1.0) CM2T2=1.0                                        00196180
  971.       IF(CM3T3.LT.1.0) CM3T3=1.0                                        00196190
  972.       COMB2I=XFAFA+CM2T2*XFB2IB+CM3T3*XFB3IB                            00196200
  973.       COMB2J=XFAFA+CM2T2*XFB2JB+CM3T3*XFB3JB                            00196210
  974.       COMB=DMAX1(COMB1I,COMB1J,COMB2I,COMB2J)                           00196220
  975.       IF(COMB.EQ.COMB1I)GO TO 800                                       00196230
  976.       IF(COMB.EQ.COMB1J)GO TO 801                                       00196240
  977.       IF(COMB.EQ.COMB2I)GO TO 802                                       00196250
  978.       IF(COMB.EQ.COMB2J)GO TO 803                                       00196260
  979.       GO TO 9999                                                        00196270
  980.   800 AXR=XFA/FATEN                                                     00196280
  981.       BEND2=XFB2IB                                                      00196290
  982.       BEND3=XFB3IB                                                      00196300
  983.       GO TO 9999                                                        00196310
  984.   801 AXR=XFA/FATEN                                                     00196320
  985.       BEND2=XFB2JB                                                      00196330
  986.       BEND3=XFB3JB                                                      00196340
  987.       GO TO 9999                                                        00196350
  988.   802 AXR=XFAFA                                                         00196360
  989.       BEND2=(CM2T2)*XFB2IB                                              00196370
  990.       BEND3=(CM3T3)*XFB3IB                                              00196380
  991.       GO TO 9999                                                        00196390
  992.   803 AXR=XFAFA                                                         00196400
  993.       BEND2=(CM2T2)*XFB2JB                                              00196410
  994.       BEND3=(CM3T3)*XFB3JB                                              00196420
  995.  9999 CONTINUE                                                          00196430
  996.       RETURN                                                            00196440
  997.       END                                                               00196450
  998.       SUBROUTINE MHDIAG(H,N,IEGEN,U,NR,X,IQ)                            00135830
  999.       IMPLICIT REAL*8(A-H,O-Z)                                          00135840
  1000.       REAL*8  IQ                                                        00135850
  1001.       DIMENSION H(N,N),U(N,N),X(N),IQ(N)                                00135860
  1002.       IF (IEGEN) 140,100,140                                            00135870
  1003.   100 DO 130 I=1,N                                                      00135880
  1004.       DO 130 J=1,N                                                      00135890
  1005.       IF(I-J) 120,110,120                                               00135900
  1006.   110 U(I,J)=1.0                                                        00135910
  1007.       GO TO 130                                                         00135920
  1008.   120 U(I,J)=0.                                                         00135930
  1009.   130 CONTINUE                                                          00135940
  1010.   140 NR = 0                                                            00135950
  1011.       IF (N-1) 540,540,150                                              00135960
  1012.   150 NMI1=N-1                                                          00135970
  1013.       DO 170 I=1,NMI1                                                   00135980
  1014.       X(I) = 0.                                                         00135990
  1015.       IPL1=I+1                                                          00136000
  1016.       DO 170 J=IPL1,N                                                   00136010
  1017.       IF ( X(I) - DABS( H(I,J))) 160,160,170                            00136020
  1018.   160 X(I)= DABS(H(I,J))                                                00136030
  1019.       IQ(I)=J                                                           00136040
  1020.   170 CONTINUE                                                          00136050
  1021.       RAP=7.450580596E-9                                                00136060
  1022.       HDTEST=1.0E38                                                     00136070
  1023.   180 DO  210  I=1,NMI1                                                 00136080
  1024.       IF (I-1) 200,200,190                                              00136090
  1025.   190 IF ( XMAX- X(I)) 200,210,210                                      00136100
  1026.   200 XMAX=X(I)                                                         00136110
  1027.       IPIV=I                                                            00136120
  1028.       JPIV=IQ(I)                                                        00136130
  1029.   210 CONTINUE                                                          00136140
  1030.       IF ( XMAX) 540,540,220                                            00136150
  1031.   220 IF (HDTEST) 240,240,230                                           00136160
  1032.   230 IF (XMAX - HDTEST) 240,240,270                                    00136170
  1033.   240 HDIMIN = DABS( H(1,1) )                                           00136180
  1034.       DO 260  I= 2,N                                                    00136190
  1035.       IF (HDIMIN- DABS( H(I,I))) 260,260,250                            00136200
  1036.   250 HDIMIN= DABS(H(I,I))                                              00136210
  1037.   260 CONTINUE                                                          00136220
  1038.       HDTEST=HDIMIN*RAP                                                 00136230
  1039.       IF (HDTEST- XMAX) 270,540,540                                     00136240
  1040.   270 NR = NR+1                                                         00136250
  1041.   280 TANG = DSIGN(2.D0,(H(IPIV,IPIV)-H(JPIV,JPIV)))*H(IPIV,JPIV)/(DABS(00136260
  1042.      $H(IPIV,IPIV)-H(JPIV,JPIV))+ DSQRT((H(IPIV,IPIV)-H(JPIV,JPIV))     00136270
  1043.      $**2+4.0*H(IPIV,JPIV)**2))                                         00136280
  1044.       COSINE=1.0/ DSQRT(1.0+TANG**2)                                    00136290
  1045.       SINE=TANG*COSINE                                                  00136300
  1046.       HII=H(IPIV,IPIV)                                                  00136310
  1047.       H(IPIV,IPIV)=COSINE**2*(HII+TANG*(2.*H(IPIV,JPIV)+TANG*H(JPIV,JPIV00136320
  1048.      $)))                                                               00136330
  1049.       H(JPIV,JPIV)=COSINE**2*(H(JPIV,JPIV)-TANG*(2.*H(IPIV,JPIV)-TANG*H 00136340
  1050.      $II))                                                              00136350
  1051.       H(IPIV,JPIV)=0.                                                   00136360
  1052.       IF ( H(IPIV,IPIV) -  H(JPIV,JPIV)) 290,300,300                    00136370
  1053.   290 HTEMP = H(IPIV,IPIV)                                              00136380
  1054.       H(IPIV,IPIV) = H(JPIV,JPIV)                                       00136390
  1055.       H(JPIV,JPIV) = HTEMP                                              00136400
  1056.       HTEMP=DSIGN (1.D0,-SINE)*COSINE                                   00136410
  1057.       COSINE = DABS (SINE)                                              00136420
  1058.       SINE = HTEMP                                                      00136430
  1059.   300 CONTINUE                                                          00136440
  1060.       DO 380 I=1,NMI1                                                   00136450
  1061.       IF(I-IPIV)320,380,310                                             00136460
  1062.   310 IF(I-JPIV)320,380,320                                             00136470
  1063.   320 IF(IQ(I)-IPIV)330,340,330                                         00136480
  1064.   330 IF(IQ(I)-JPIV)380,340,380                                         00136490
  1065.   340 K=IQ(I)                                                           00136500
  1066.   350 HTEMP=H(I,K)                                                      00136510
  1067.       H(I,K)=0.                                                         00136520
  1068.       IPL1=I+1                                                          00136530
  1069.       X(I) =0.                                                          00136540
  1070.       DO 370 J=IPL1,N                                                   00136550
  1071.       IF ( X(I)- DABS( H(I,J)) ) 360,360,370                            00136560
  1072.   360 X(I) = DABS(H(I,J))                                               00136570
  1073.       IQ(I)=J                                                           00136580
  1074.   370 CONTINUE                                                          00136590
  1075.       H(I,K)=HTEMP                                                      00136600
  1076.   380 CONTINUE                                                          00136610
  1077.       X(IPIV) =0.                                                       00136620
  1078.       X(JPIV) =0.                                                       00136630
  1079.       DO 510 I=1,N                                                      00136640
  1080.       IF(I-IPIV)390,510,430                                             00136650
  1081.   390 HTEMP = H(I,IPIV)                                                 00136660
  1082.       H(I,IPIV) = COSINE*HTEMP + SINE*H(I,JPIV)                         00136670
  1083.       IF ( X(I) -  DABS( H(I,IPIV)) )400,410,410                        00136680
  1084.   400 X(I) = DABS(H(I,IPIV))                                            00136690
  1085.       IQ(I) = IPIV                                                      00136700
  1086.   410 H(I,JPIV) = -SINE*HTEMP + COSINE*H(I,JPIV)                        00136710
  1087.       IF ( X(I) -  DABS( H(I,JPIV)) ) 420,510,510                       00136720
  1088.   420 X(I) = DABS(H(I,JPIV))                                            00136730
  1089.       IQ(I) = JPIV                                                      00136740
  1090.       GO TO 510                                                         00136750
  1091.   430 IF(I-JPIV)440,510,470                                             00136760
  1092.   440 HTEMP = H(IPIV,I)                                                 00136770
  1093.       H(IPIV,I) = COSINE*HTEMP + SINE*H(I,JPIV)                         00136780
  1094.       IF ( X(IPIV) -  DABS( H(IPIV,I)) ) 450,460,460                    00136790
  1095.   450 X(IPIV) = DABS(H(IPIV,I))                                         00136800
  1096.       IQ(IPIV) = I                                                      00136810
  1097.   460 H(I,JPIV) = -SINE*HTEMP + COSINE*H(I,JPIV)                        00136820
  1098.       IF ( X(I) -  DABS( H(I,JPIV)) ) 420,510,510                       00136830
  1099.   470 HTEMP = H(IPIV,I)                                                 00136840
  1100.       H(IPIV,I) = COSINE*HTEMP + SINE*H(JPIV,I)                         00136850
  1101.       IF ( X(IPIV) -  DABS( H(IPIV,I)) ) 480,490,490                    00136860
  1102.   480 X(IPIV) = DABS(H(IPIV,I))                                         00136870
  1103.       IQ(IPIV) = I                                                      00136880
  1104.   490 H(JPIV,I) = -SINE*HTEMP + COSINE*H(JPIV,I)                        00136890
  1105.       IF ( X(JPIV) -  DABS( H(JPIV,I)) ) 500,510,510                    00136900
  1106.   500 X(JPIV) = DABS(H(JPIV,I))                                         00136910
  1107.       IQ(JPIV) = I                                                      00136920
  1108.   510 CONTINUE                                                          00136930
  1109.       IF(IEGEN)180,520,180                                              00136940
  1110.   520 DO 530 I=1,N                                                      00136950
  1111.       HTEMP=U(I,IPIV)                                                   00136960
  1112.       U(I,IPIV)=COSINE*HTEMP+SINE*U(I,JPIV)                             00136970
  1113.   530 U(I,JPIV)=-SINE*HTEMP+COSINE*U(I,JPIV)                            00136980
  1114.       GO TO 180                                                         00136990
  1115.   540 RETURN                                                            00137000
  1116.       END                                                               00137010
  1117.       FUNCTION MINDEG(NC,IC,IDEG,NN)                                    00137020
  1118.       INTEGER*2  IC,IDEG                                                00137030
  1119.       DIMENSION IC(1),IDEG(1)                                           00137040
  1120.       M=10000                                                           00137050
  1121.       DO 130 I=1,NN                                                     00137060
  1122.       IF(NC)100,110,100                                                 00137070
  1123.   100 IF(IC(I)-NC) 130,110,130                                          00137080
  1124.   110 IF(M-IDEG(I)) 130,130,120                                         00137090
  1125.   120 M=IDEG(I)                                                         00137100
  1126.   130 CONTINUE                                                          00137110
  1127.       MINDEG=M                                                          00137120
  1128.       RETURN                                                            00137130
  1129.       END                                                               00137140
  1130.       SUBROUTINE PIPE                                                   00164640
  1131.       DOUBLE PRECISION FXE,FXC                                          00164650
  1132.       DOUBLE PRECISION A,SM2,SM3,VQIB2,VQIB3,DP,BF,TF,TW,DIAM,WALL,R2,  00164660
  1133.      1    R3,EBM,RED,FY,XK,YK,DL,FATEN,FASHR,FACOM,FB2,FB3,PSI,SHR,COMB,00164670
  1134.      2    AXR,BEND2,BEND3,P,S2I,S3I,S2J,S3J,XM2I,XM3I,XM2J,XM3J,TYPE,   00164680
  1135.      3    PI,XLR2,XLR3,XLR,CC,RTL,FE2,FE3,XINER,AWC,DT257,FY6,AF,C,S76, 00164690
  1136.      4    FB4,AFC,SQFY,S20,BT,T1,BT65,C102,DT,AW,BT95,C510,FB5,B,TI,XX, 00164700
  1137.      5    DT1,ROD,CID,DT2,RID,DTA,AOD,AID,COD,ST,BTT,SS,DTT,BT190,BTS,  00164710
  1138.      6    BT238,DTS,FS,T2,CM3T3,XFB2I,COMB2J,XFB3JB,T3,SH2I,XFB3I,TJ,   00164720
  1139.      7    XFAFA,CM2,SH2J,XFB2J,COMB1I,XFB2IB,CM3,SH3I,XFB3J,COMB2I,     00164730
  1140.      8    XFB3IB,CM2T2,SH3J,XFA,COMB1J,XFB2JB,TEMP,FLG,XINC,            00164740
  1141.      9    XINER2,XINER3                                                 00164750
  1142.       COMMON/STEEL/A,SM2,SM3,VQIB2,VQIB3,DP,BF,TF,TW,DIAM,WALL,R2,R3,   00164760
  1143.      1    EBM,RED,FY,XK,YK,DL,FATEN,FASHR,FACOM,FB2,FB3,PSI,SHR,COMB,   00164770
  1144.      2    AXR,BEND2,BEND3,P,S2I,S3I,S2J,S3J,XM2I,XM3I,XM2J,XM3J,        00164780
  1145.      3    TYPE,PI,XLR2,XLR3,XLR,CC,RTL,FE2,FE3,XINER,AWC,DT257,FY6,AF,  00164790
  1146.      4    C,S76,FB4,AFC,SQFY,S20,BT,T1,BT65,C102,DT,AW,BT95,C510,FB5,   00164800
  1147.      5    B,TI,XX,DT1,ROD,CID,DT2,RID,DTA,AOD,AID,COD,ST,BTT,SS,DTT,    00164810
  1148.      6    BT190,BTS,BT238,DTS,FS,T2,CM3T3,XFB2I,COMB2J,XFB3JB,T3,SH2I,  00164820
  1149.      7    XFB3I,TJ,XFAFA,CM2,SH2J,XFB2J,COMB1I,XFB2IB,CM3,SH3I,XFB3J,   00164830
  1150.      8    COMB2I,XFB3IB,CM2T2,SH3J,XFA,COMB1J,XFB2JB,TEMP,FLG,XINC,     00164840
  1151.      9    XINER2,XINER3,ICT,KATX,KATY                                   00164850
  1152.       DTA=DIAM/WALL                                                     00164860
  1153.       FXE=0.6*EBM*WALL/DIAM                                             00164870
  1154.       FXC=FY*(1.64-0.23*DTA**0.25)                                      00164880
  1155.       IF(FXC.GT.FXE)FXC=FXE                                             00164890
  1156.       IF(FXC.GT.FY)FXC=FY                                               00164900
  1157.       RED=FXC/FY                                                        00164910
  1158.       FB2=.6666667D0*FY*RED                                             00164920
  1159.       FB3=FB2                                                           00164930
  1160.       XINER=SM2*DIAM/2.0D0                                              00164940
  1161.       R2=DSQRT(XINER/A)                                                 00164950
  1162.       R3=R2                                                             00164960
  1163.       ROD=DIAM/2.0D0                                                    00164970
  1164.       RID=ROD-WALL                                                      00164980
  1165.       AOD=1.570796D0*ROD*ROD                                            00164990
  1166.       AID=1.570796D0*RID*RID                                            00165000
  1167.       COD=.424413D0*ROD                                                 00165010
  1168.       CID=.424413D0*RID                                                 00165020
  1169.       C=((AOD*COD)-(AID*CID))/(AOD-AID)                                 00165030
  1170.       VQIB2=(A*C)/(4.0D0*XINER*WALL)                                    00165040
  1171.       VQIB3=VQIB2                                                       00165050
  1172.       RTL=0.0D0                                                         00165060
  1173.       RETURN                                                            00165070
  1174.       END                                                               00165080
  1175.                                                                         00165090
  1176.                                                                         00165100
  1177.       SUBROUTINE SIXST1                                                 00238110
  1178.       IMPLICIT REAL*8(A-H,O-Z)                                          00238120
  1179.       COMMON /OUT/NRES,NSTR,NROUT(8)                                    R0238130
  1180.       COMMON/JUNK/SIG(6),EXTRA(194),MM,L,K,NTAG,RRJUNK(25)              R0238140
  1181.       IF(NTAG.EQ.0) WRITE(6,300)                                        00238150
  1182.       WRITE(6,100)MM,L,SIG                                              00238160
  1183.       NTAG=1                                                            00238170
  1184.       IF(NSTR.GT.0) WRITE (NSTR,1234)   L,SIG                           00238180
  1185.  1234 FORMAT(3X,1H6,I2,2X,2H14,6G10.4)                                  00238190
  1186.       RETURN                                                            00238200
  1187.   100 FORMAT (2I6,6E15.8)                                               00238210
  1188.   200 FORMAT (I4,I2,2H12,6F9.0)                                         00238220
  1189.   300 FORMAT (//10X,48H SIX BY SIX STIFFNESS ELEMENT FORCES AND MOMENTS/00238230
  1190.      $20X,18H(LOCAL DIRECTIONS)/                                        00238240
  1191.      $12H0EL.NO. LOAD,5X,10HFORCE - XX,5X,10HFORCE - YY,5X,10HFORCE - ZZ00238250
  1192.      $,4X,11HMOMENT - XX,4X,11HMOMENT - YY,4X,11HMOMENT - ZZ)           00238260
  1193.       END                                                               00238270
  1194.       SUBROUTINE STRUSS                                                 00282440
  1195.       IMPLICIT REAL*8(A-H,O-Z)                                          00282450
  1196.       REAL*8 NPAR                                                               
  1197.       COMMON A(1)                                                       00282460
  1198.       COMMON /ELPAR/ NPAR(14),NUMNP,MBAND,NELTYP,N1,N2,N3,N4,N5,MTOT,NEQ00282470
  1199.      $ ,N2P,N3P,NMRI,NTRI,N1P,NUMEL,NUMEL2,KZ(20,2),NEMN                R0282480
  1200.       COMMON/JUNK/SIG(12),EXTRA(188),MM,L,K,NTAG,NDYN,NRJUNK(49)        R0282490
  1201.       COMMON /OUT/NRES,NSTR,NDIS,NROUT(7)                               R0282500
  1202.   100 IF (NTAG.EQ.0) WRITE (6,130)                                      00282510
  1203.   110 WRITE(6,140) MM,L,SIG(1),SIG(2)                                   00282520
  1204.       NTAG=1                                                            00282530
  1205.       IF(NSTR.GT.0) WRITE(NSTR,1234) L,SIG(1),SIG(2)                    00282540
  1206.  1234 FORMAT(3X,1H2,I2,2X,2H 1,6G10.4)                                  00282550
  1207.   120 FORMAT (I4,I2,2H12 )                                              00282560
  1208.       RETURN                                                            00282570
  1209.   130 FORMAT(23H1  TRUSS MEMBER ACTIONS //                              00282580
  1210.      $       46H0 MEMBER    LOAD         STRESS          FORCE/)        00282590
  1211.   140 FORMAT (2I8,E15.5,E15.5)                                          00282600
  1212.       END                                                               00282610
  1213.       SUBROUTINE SAXIS                                                  00221180
  1214.       IMPLICIT REAL*8(A-H,O-Z)                                          00221190
  1215.       REAL*8 NPAR                                                       RR221191
  1216.       COMMON/JUNK/SIG(200),MM,L,K,NTAG,NDYN,NRJUNK(49)                  R0221200
  1217.       COMMON /ELPAR/ NPAR(14),NUMNP,MBAND,NELTYP,N1,N2,N3,N4,N5,MTOT,NEQ00221210
  1218.      $ ,N2P,N3P,NMRI,NTRI,N1P,NUMEL,NUMEL2,KZ(20,2),NEMN                00221220
  1219.       COMMON /OUT/NRES,NSTR,NDIS,NROUT(7)                               R0221230
  1220.       MTYP=4                                                            00221240
  1221.   100 IF(NTAG.EQ.0) WRITE (6,130)                                       00221250
  1222.       CC=(SIG(1)+SIG(2))/2.0                                            00221260
  1223.       BB=(SIG(1)-SIG(2))/2.                                             00221270
  1224.       CR= DSQRT(BB**2+SIG(4)**2)                                        00221280
  1225.       SIG(5)=CC+CR                                                      00221290
  1226.       SIG(6)=CC-CR                                                      00221300
  1227.       SIG(7)=0.0                                                        00221310
  1228.       EF=(SIG(3)-SIG(5))**2+(SIG(5)-SIG(6))**2+(SIG(6)-SIG(3))**2       00221320
  1229.       EF= DSQRT(EF/2.)                                                  00221330
  1230.       IF ((BB.EQ.0.0).AND.(SIG(4).EQ.0.0)) GO TO 110                    00221340
  1231.       SIG(7)=28.648* DATAN2(SIG(4),BB)                                  00221350
  1232.   110 WRITE(6,140)MM,L,(SIG (I),I=1,7),EF                               00221360
  1233.       WRITE(35,1235)MM,MTYP,L,(SIG(I),I=1,7),EF                         00221370
  1234.       IF(NSTR.GT.0) WRITE(NSTR,1234) L,SIG(5),SIG(6),EF,(SIG(I),I=1,4)  00221380
  1235.  1234 FORMAT(3X,1H7,I2,4H12 4 ,7G10.4)                                  00221390
  1236.  1235 FORMAT(3I5,10E10.3)                                               00221400
  1237.   120 FORMAT (I4,I2,2H12,6F9.0)                                         00221410
  1238.       NTAG=1                                                            00221420
  1239.       RETURN                                                            00221430
  1240.   130 FORMAT(32H1  AXISYMMETRIC ELEMENT STRESSES //                     00221440
  1241.      $          12H0EL.NO. LOAD,7X,8HR-STRESS,7X,8HZ-STRESS,7X,         00221450
  1242.      $ 8HT-STRESS,6X,9HRZ-STRESS,5X,10HMAX-STRESS,5X,10HMIN-STRESS,     00221460
  1243.      $3X,5HANGLE,5X,6HSIG-EF/)                                          00221470
  1244.   140 FORMAT(2I6,6E15.5,F8.3,E12.5)                                     00221480
  1245.       END                                                               00221490
  1246.       SUBROUTINE ELBSTR                                                 00076740
  1247.       IMPLICIT REAL*8(A-H,O-Z)                                          00076750
  1248.       COMMON /JUNK/ SIG(39),EXR(161),MM,L,K,NTAG,RRJUNK(25)             R0076760
  1249.       COMMON / OUT / N,NSTR,NDIS,NBMSTR,NROUT(6)                        R0076770
  1250.       IF(NTAG.EQ.0) WRITE(6,100)                                        00076780
  1251.       IF(NTAG.EQ.0 .AND. NBMSTR.EQ.1)WRITE(6,125)                       00076790
  1252.       IF(NTAG.EQ.0)WRITE(6,126)                                         00076800
  1253.   126 FORMAT(1X)                                                        00076810
  1254.   100 FORMAT(85H1E L B O W - F O R C E S,      M O M E N T S,         A 00076820
  1255.      XN D  S T R E S S E S                         //                   00076830
  1256.      X1X,7HELEMENT,2X,4HLOAD,2X,7HSTATION,15X,5HAXIAL,2(6X,5HSHEAR),    00076840
  1257.      X4X,9HTORSION  ,2(5X,13HB E N D I N G ,4X)/                        00076850
  1258.      X2X,6HNUMBER,2X,4HCASE,11X,5HFORCE,                                00076860
  1259.      X   11X,2HRX,9X,2HRY,9X,2HRZ,9X,2HMX,20X,2HMY,20X,2HMZ)            00076870
  1260.   125 FORMAT(                                                           00076880
  1261.      X25X,6HSTRESS,7X,5HRX/A1,3X,8HAT Q3/B3,4X,8HAT Q2/B2,5X,4H- - ,1X, 00076890
  1262.      X2X,9H   AT +C3,2X,9H   AT -C3,                                    00076900
  1263.      X2X,9H   AT +C2,2X,9H   AT -C2   )                                 00076910
  1264.       NS=EXR(161)                                                       00076920
  1265.       IF(NS.GT.18)                                                      00076930
  1266.      XWRITE(6,120)MM,L,(SIG(I1),I1= 1, 6),                              00076940
  1267.      X               (SIG(I2),I2=19,25),                                00076950
  1268.      X               (SIG(I3),I3= 7,12),                                00076960
  1269.      X               (SIG(I4),I4=26,32),                                00076970
  1270.      X               (SIG(I5),I5=13,18),                                00076980
  1271.      X               (SIG(I6),I6=33,39)                                 00076990
  1272.       IF(NS.LE.18)                                                      00077000
  1273.      XWRITE(6,140)MM,L,(SIG(I1),I1= 1,18)                               00077010
  1274.       NTAG=1                                                            00077020
  1275.       IF(NSTR.GT.0) WRITE(NSTR,1234) NS,L,(SIG(I),I=1,NS)               00077030
  1276.  1234 FORMAT(I4,I2,2X,2H 9,7G10.4/(8G10.4))                             00077040
  1277.   120 FORMAT(4X,I4,2X,I4,4X,                                            00077050
  1278.      X    5HEND-I, 2X,6HFORCE ,2X,1P4E12.4,12X,1PE12.4,12X,1PE12.4/     00077060
  1279.      X23X,2X,6HSTRESS,2X,1P3E12.4,12X,1P4E12.4/                         00077070
  1280.      X18X,6HCENTER,3X,6HFORCE ,2X,1P4E12.4,12X,1PE12.4,12X,1PE12.4/     00077080
  1281.      X23X,2X,6HSTRESS,2X,1P3E12.4,12X,1P4E12.4/                         00077090
  1282.      X18X,5HEND-J, 2X,6HFORCE ,2X,1P4E12.4,12X,1PE12.4,12X,1PE12.4/     00077100
  1283.      X23X,2X,6HSTRESS,2X,1P3E12.4,12X,1P4E12.4)                         00077110
  1284.   140 FORMAT(4X,I4,2X,I4,4X,                                            00077120
  1285.      X    5HEND-I, 2X,6HFORCE ,2X,1P4E12.4,12X,1PE12.4,12X,1PE12.4/     00077130
  1286.      X18X,6HCENTER,2X,6HFORCE ,2X,1P4E12.4,12X,1PE12.4,12X,1PE12.4/     00077140
  1287.      X18X,5HEND-J, 2X,6HFORCE ,2X,1P4E12.4,12X,1PE12.4,12X,1PE12.4)     00077150
  1288.       RETURN                                                            00077160
  1289.       END                                                               00077170
  1290.       SUBROUTINE MXMN1(STRESS,P1,P2,AG,EF)                              00151810
  1291.       IMPLICIT REAL*8 (A-H,O-Z)                                         00151820
  1292.       DIMENSION STRESS(1)                                               00151830
  1293.       CC = (STRESS(1)+STRESS(2)) * 0.5E0                                00151840
  1294.       BB = (STRESS(1)-STRESS(2)) * 0.5E0                                00151850
  1295.       CR =   DSQRT(BB**2 + STRESS(3)**2)                                00151860
  1296.       P1 =  CC+CR                                                       00151870
  1297.       P2 =  CC-CR                                                       00151880
  1298.       AG=45.0E0                                                         00151890
  1299.       IF( DABS(BB).LT.1.0E-8) GO TO 100                                 00151900
  1300.       AG =  28.648E0*  DATAN2(STRESS(3),BB)                             00151910
  1301.   100 EF=(P1-P2)**2+(P2-STRESS(4))**2+(STRESS(4)-P1)**2                 00151920
  1302.       EF= DSQRT(EF/2.0)                                                 00151930
  1303.       RETURN                                                            00151940
  1304.       END                                                               00151950
  1305.