home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 9 / 09.iso / e / e003 / 10.ddi / STEPT.FOR < prev   
Encoding:
Text File  |  1987-04-23  |  89.7 KB  |  1,121 lines

  1.       SUBROUTINE STEP                                                   00266470
  2.       IMPLICIT REAL*8 (A-H,O-Z)                                         00266480
  3.       COMMON /ELPAR/ XPAR(14),NUMNP,MBAND,NELTYP,N1,N2,N3,N4,N5,MTOT,NEQ00266490
  4.      $ ,N2P,N3P,NMRI,NTRI,N1P,NUMEL,NUMEL2,KZ(20,2),NEMN                00266500
  5.       COMMON /JUNK/  KK1,KK2,ISP1,ISP2,NSD,NSS,NBL,LAST,JUM(40),        00266510
  6.      $     NUA(100),DUM(1),NRJUNK(304)                                  R0266520
  7.       COMMON /DYN2/IFPR,IFSS,NITEM,NFO,RTOL,COFQ,DT,ALFA,BETA,NFN,NGM,  00266530
  8.      $NAT,NT,NOT,NRDYN2(9)                                              R0266540
  9.       COMMON /MISC/  NBLOCK,NEQB,LL,NF,LB                               R0266550
  10.         COMMON/DYN4/KSET(3),NCWT,NRDYN4                                 R0266560
  11.       COMMON /OUT/MZ(2),NDIS,NROUT(7)                                   R0266570
  12.       COMMON /EXTRA/ MODEX,NT8,N10SV,NT10,KEQB,NUMEX,T(10)              00266580
  13.       DIMENSION      PT(7)                                              00266590
  14.       COMMON         A(1)                                               00266600
  15.         CALL FILES(17)                                                  00266610
  16.       PT(1) = T(9)                                                      00266620
  17.       N1=1                                                              00266630
  18.       NELTYP=1                                                          00266640
  19.       N10SV=0                                                           00266650
  20.       NT10=0                                                            00266660
  21.         NDIS=0                                                          00266670
  22.         IF(NCWT.GT.0) NDIS=14                                           00266680
  23.       IF(NDIS.GT.0) N10SV=-MZ(2)                                        00266690
  24.       IF(NDIS.GT.0.AND.N10SV.EQ.0) N10SV=1                              00266700
  25.       IF(NDIS.GT.0) N10SV=1000000*N10SV+1000*N10SV+N10SV                00266710
  26.       IF(NDIS.GT.0) NT10=NDIS                                           00266720
  27.       IF(NAT.EQ.0) NAT=1                                                00266730
  28.       N2=N1+3*NUMNP                                                     00266740
  29.       N3=N2+NEQ                                                         00266750
  30.       N4=N3+NEQB                                                        00266760
  31.       IF(N4.GT.MTOT) CALL ERROR (N4-MTOT)                               00266770
  32.       IF(MODEX.EQ.0)                                                    00266780
  33.      $CALL ADDMAS (A(N2),A(N3),NEQ,NEQB,NBLOCK)                         00266790
  34.       IF(NFN.GE.1) GO TO 100                                            00266800
  35.       WRITE (6,250)                                                     00266810
  36.       MODEX=1                                                           00266820
  37.   100 N3=N1+NFN*NEQ                                                     00266830
  38.       N4=N3+NFN*NEQ                                                     00266840
  39.       IF(N4.GT.MTOT)  CALL ERROR(N4-MTOT)                               00266850
  40.       IF(N2+NUMNP.GT.MTOT) CALL ERROR(N2+NUMNP-MTOT)                    00266860
  41.       CALL PLOAD (A(N1),A(N1),A(N3),NUMNP,NEQ,NFN,A(N2))                00266870
  42.       IF(NGM.EQ.0)  GO TO 110                                           00266880
  43.       IF(MODEX.EQ.0)                                                    00266890
  44.      $CALL EMIDS (A(N1),A(N2),NUMNP,NEQ)                                00266900
  45.       N2=N1+NEQ*NFN                                                     00266910
  46.       N3=N2+NEQ*NFN                                                     00266920
  47.       N4=N3+NEQ                                                         00266930
  48.       N5=N4+NEQ                                                         00266940
  49.       IF(N5.GT.MTOT)  CALL ERROR (N5-MTOT)                              00266950
  50.       CALL GROUND (A(N1),A(N2),A(N3),A(N4),NEQ,NFN)                     00266960
  51.   110 N2=N1+NEQ*NFN                                                     00266970
  52.       N3=N2+NEQ*NFN                                                     00266980
  53.       N4=N3+NAT                                                         00266990
  54.       IF(N4.GT.MTOT)  CALL ERROR (N4-MTOT)                              00267000
  55.       CALL INDLY (A(N1),A(N2),A(N3),NEQ,NFN,NAT,MAXD)                   00267010
  56.       N2=N1+NFN                                                         00267020
  57.       KN=2*NFN                                                          00267030
  58.       CALL INTHIS (A(N1),A(N2),NFN,MXLP,KN)                             00267040
  59.       N3=N2+KN*MXLP                                                     00267050
  60.       N4=N3+NEQ                                                         00267060
  61.       N5=N4+NFN*NEQ                                                     00267070
  62.       N6=N5+NFN*NEQ                                                     00267080
  63.       N7=N6+NEQ                                                         00267090
  64.       IF(N7.GT.MTOT) CALL ERROR (N7-MTOT)                               00267100
  65.       IF(MODEX.EQ.1) GO TO 120                                          00267110
  66.       CALL LOADV (A(N1),A(N2),A(N3),A(N4),A(N5),A(N6),NEQ,NFN,KN)       00267120
  67.   120 CALL SECOND (PT(2))                                               00267130
  68.       N2=N1+NEQ                                                         00267140
  69.       N3=N2+NEQ+1                                                       00267150
  70.       N4=N2+3*NUMNP                                                     00267160
  71.       IF(NUMNP+N4.GT.MTOT) CALL ERROR(NUMNP+N4-MTOT)                    00267170
  72.       CALL INOUT (A(N1),A(N2),A(N2),NUMNP,A(N3),A(N4))                  00267180
  73.       CALL SECOND (PT(3))                                               00267190
  74.       N2 = N1+NSD                                                       00267200
  75.       N3 = N2+NSS                                                       00267210
  76.       N4 = N3+NEQ                                                       00267220
  77.       IF(MODEX.EQ.1) GO TO 130                                          00267230
  78.       REWIND 3                                                          00267240
  79.       MM = N4-1                                                         00267250
  80.       READ (3) (A(K),K=N3,MM)                                           00267260
  81.   130 CONTINUE                                                          00267270
  82.       K1 = NEQB*(2*MBAND+1)+MBAND+N4                                    00267280
  83.       K2 = 4*NEQ+NSD+NSS+NEQB*(MBAND+1)+MBAND+N4                        00267290
  84.       K = K1                                                            00267300
  85.       IF(K2.GT.K1) K = K2                                               00267310
  86.       IF(K.GT.MTOT)                                                     00267320
  87.      $CALL ERROR (K-MTOT)                                               00267330
  88.       NTB = (MBAND-2)/NEQB +1                                           00267340
  89.       IF(NTB.GE.NBLOCK) NTB = NBLOCK -1                                 00267350
  90.       WRITE (6,240) NEQ,MBAND,NEQB,NBLOCK,NTB                           00267360
  91.       MI = NEQB+MBAND-1                                                 00267370
  92.       NWA = NEQB*MBAND                                                  00267380
  93.       N6=N4+NWA                                                         00267390
  94.       N5=N6+MI                                                          00267400
  95.       N7=N5+NWA                                                         00267410
  96.       IF(N7.GT.MTOT) CALL ERROR (N7-MTOT)                               00267420
  97.       IF(MODEX.EQ.1) GO TO 140                                          00267430
  98.       CALL TRIFAC (A(N4),A(N5),A(N6),NEQB,MBAND,NBLOCK,NWA,NTB,NEQ,MI)  00267440
  99.   140 CALL SECOND (PT(4))                                               00267450
  100.       N5 = N4+NEQ                                                       00267460
  101.       N6 = N5+NEQ                                                       00267470
  102.       N7 = N6+NEQ                                                       00267480
  103.       N8 = N7+NEQ                                                       00267490
  104.       N9 = N8+NWA                                                       00267500
  105.       N10= N9+MI                                                        00267510
  106.       MM = MTOT-N10                                                     00267520
  107.       NN = NSD+NSS                                                      00267530
  108.       IF(NN.GT.MM) CALL ERROR (NN-MM)                                   00267540
  109.       MM = MM/NN                                                        00267550
  110.       NPT = NT/NOT                                                      00267560
  111.       IF(MM.GT.NPT) MM=NPT                                              00267570
  112.       N11= N10+MM*NSD                                                   00267580
  113.       IF(MODEX.EQ.1) GO TO 150                                          00267590
  114.       CALL SOLSTP (A(N1),A(N2),A(N3),A(N4),A(N5),A(N6),A(N7),A(N8),     00267600
  115.      $             A(N9),A(N10),A(N11),NSD,NSS,NEQ,NEQB,MBAND,NWA,MI,   00267610
  116.      $             MM,NBLOCK)                                           00267620
  117.   150 CALL SECOND (PT(5))                                               00267630
  118.       REWIND 9                                                          00267640
  119.       IF(MODEX.EQ.1) GO TO 180                                          00267650
  120.       DT = FLOAT(NOT)* DT                                               00267660
  121.       IF(NPT.LT.1) GO TO 180                                            00267670
  122.       NBL = (NPT-1)/MM +1                                               00267680
  123.       IF(NSD.LT.1) GO TO 180                                            00267690
  124.       NUM = (NSD-1)/8 +1                                                00267700
  125.       IF(NBL.EQ.1) GO TO 160                                            00267710
  126.       N2 = N1+MM*NSD                                                    00267720
  127.       MREM = MTOT-N2                                                    00267730
  128.       MMX  = MREM/NSD                                                   00267740
  129.       MMX = MMX/MM                                                      00267750
  130.       MMX = MMX*MM                                                      00267760
  131.       K   = NBL*MM                                                      00267770
  132.       IF(MMX.GT.K) MMX = K                                              00267780
  133.       NK  = 2*MM                                                        00267790
  134.       IF(MMX.GE.NK) GO TO 170                                           00267800
  135.   160 CONTINUE                                                          00267810
  136.       N2 = N1                                                           00267820
  137.       MMX= MM                                                           00267830
  138.   170 CALL SDSPLY (A(N1),A(N2),MMX,MM,NSD,NUM,1,KK1,2,ISP1,NPT,4)       00267840
  139.   180 CALL SECOND(PT(6))                                                00267850
  140.       IF(MODEX.EQ.1) GO TO 210                                          00267860
  141.       IF(NPT.LT.1) GO TO 210                                            00267870
  142.       IF(NSS.LT.1) GO TO 210                                            00267880
  143.       IF(NBL.EQ.1) GO TO 190                                            00267890
  144.       N2 = N1+MM*NSS                                                    00267900
  145.       MREM = MTOT-N2                                                    00267910
  146.       MMX  = MREM/NSS                                                   00267920
  147.       MMX  = MMX/MM                                                     00267930
  148.       MMX  = MMX*MM                                                     00267940
  149.       K    = NBL*MM                                                     00267950
  150.       IF(MMX.GT.K) MMX = K                                              00267960
  151.       NK   = 2*MM                                                       00267970
  152.       IF(MMX.GT.NK) GO TO 200                                           00267980
  153.   190 CONTINUE                                                          00267990
  154.       N2 = N1                                                           00268000
  155.       MMX= MM                                                           00268010
  156.   200 CALL SDSPLY (A(N1),A(N2),MMX,MM,NSS,NUA,NELTYP,KK2,1,ISP2,NPT,10) 00268020
  157.   210 CALL SECOND (PT(7))                                               00268030
  158.       DUM(1) = 0.0E0                                                    00268040
  159.       DO 220 I=1,6                                                      00268050
  160.       PT(I) = PT(I+1)-PT(I)                                             00268060
  161.   220 DUM(1) = DUM(1)+PT(I)                                             00268070
  162.       PT(7) = DUM(1)                                                    00268080
  163.       WRITE (6,230) PT                                                  00268090
  164.   230 FORMAT (41H1T I M E   L O G    (PARTICULAR SOLUTION), //          00268100
  165.      $  5X,29HFORM DYNAMIC LOADS          =,F9.2 /                      00268110
  166.      $  5X,29HPROCESS OUTPUT REQUESTS     =,F9.2 /                      00268120
  167.      $  5X,29HMATRIX DECOMPOSITION        =,F9.2 /                      00268130
  168.      $  5X,29HSTEP-BY-STEP INTEGRATION    =,F9.2 /                      00268140
  169.      $  5X,29HDISPLACEMENT OUTPUT         =,F9.2 /                      00268150
  170.      $  5X,29HELEMENT STRESS OUTPUT       =,F9.2 //                     00268160
  171.      $  5X,29HTOTAL STEP-BY-STEP ANALYSIS =,F9.2 //// 1X)               00268170
  172.   240 FORMAT (38H1E Q U A T I O N   P A R A M E T E R S, //             00268180
  173.      $        5X,33HTOTAL NUMBER OF EQUATIONS       =, I5 /             00268190
  174.      $        5X,33H1/2 EQUATION BANDWIDTH          =, I5 /             00268200
  175.      $        5X,33HNUMBER OF EQUATIONS PER BLOCK   =, I5 /             00268210
  176.      $        5X,33HTOTAL NUMBER OF EQUATION BLOCKS =, I5 /             00268220
  177.      $        5X,33HNUMBER OF COUPLING BLOCKS       =, I5 // 1X)        00268230
  178.   250 FORMAT (42H0*** ERROR   NO DYNAMIC FUNCTIONS (INPUTS), / 1X)      00268240
  179.       RETURN                                                            00268250
  180.       END                                                               00268260
  181.       SUBROUTINE ADDMAS (TMASS,BLKMAS,NEQ,NEQB,NBLOCK)                  00010850
  182.       IMPLICIT REAL*8 (A-H,O-Z)                                         00010860
  183.       DIMENSION      TMASS(NEQ),BLKMAS(NEQB)                            00010870
  184.       NT3 = 3                                                           00010880
  185.       REWIND NT3                                                        00010890
  186.       NT9 = 9                                                           00010900
  187.       REWIND NT9                                                        00010910
  188.       KSHIFT = 0                                                        00010920
  189.       DO 110 K=1,NBLOCK                                                 00010930
  190.       READ (NT9) BLKMAS                                                 00010940
  191.       K1 = KSHIFT                                                       00010950
  192.       DO 100 L=1,NEQB                                                   00010960
  193.       K1 = K1+1                                                         00010970
  194.       IF(K1.GT.NEQ) GO TO 120                                           00010980
  195.       TMASS(K1) = BLKMAS(L)                                             00010990
  196.   100 CONTINUE                                                          00011000
  197.       KSHIFT = KSHIFT+NEQB                                              00011010
  198.   110 CONTINUE                                                          00011020
  199.   120 WRITE (NT3) TMASS                                                 00011030
  200.       RETURN                                                            00011040
  201.       END                                                               00011050
  202.       SUBROUTINE PLOAD(ID,FF,IFF,NUMNP,NEQ,NFN,ISIR)                    00169970
  203.       IMPLICIT REAL*8 (A-H,O-Z)                                         00169980
  204.       INTEGER*2 ISIR                                                    00169990
  205.       REAL*8  ID                                                        00170000
  206.       COMMON /EXTRA/ MODEX,NT8,NREXTR(24)                               R0170010
  207.       DIMENSION ISIR(NUMNP)                                             00170020
  208.       COMMON /BAND/ KOPT,NRBAND(7)                                      R0170030
  209.       DIMENSION ID(NUMNP,3),FF(NEQ,NFN),IFF(NEQ,NFN)                    00170040
  210.       RDN=0.01745329251                                                 00170050
  211.       NT=2                                                              00170060
  212.       REWIND NT                                                         00170070
  213.       REWIND 8                                                          00170080
  214.       KT=10                                                             00170090
  215.       LT=17                                                             00170100
  216.       MT=18                                                             00170110
  217.       REWIND MT                                                         00170120
  218.       IF(MODEX.EQ.1) GO TO 5                                            00170130
  219.       IF(KOPT.GT.0) REWIND LT                                           00170140
  220.       IF(KOPT.GT.0) READ(LT)                                            00170150
  221.       IF(KOPT.GT.0) READ (LT) ISIR                                      00170160
  222.     5 CONTINUE                                                          00170170
  223.       WRITE(6,220)                                                      00170180
  224.       KOUNT=0                                                           00170190
  225.    50 READ(5,60)NP,IC,IFN,IAT,P,THET,PHI,KN                             00170200
  226.    60 FORMAT(4I5,3F10.0,I5)                                             00170210
  227.       ICI=IC                                                            00170220
  228.       IF(IAT.EQ.0)IAT=1                                                 00170230
  229.       DPH=0.0                                                           00170240
  230.       DTH=0.0                                                           00170250
  231.       DP =0.0                                                           00170260
  232.       I=1                                                               00170270
  233.       IF(KN.EQ.0) GO TO 80                                              00170280
  234.       IF(MOD((NP-NPL),KN).NE.0) KN=0                                    00170290
  235.       IF(KN.EQ.0) MODEX=1                                               00170300
  236.       IF(KN.EQ.0) WRITE(6,20)NP                                         00170310
  237.    20 FORMAT(/20X,45HTHE GENERATION PARAMETER IS INCORRECT ON NODE,I5/) 00170320
  238.       IF(KN.EQ.0) GO TO 80                                              00170330
  239.       I=(NP-NPL)/KN                                                     00170340
  240.       DTH=(THET-THETL)/I                                                00170350
  241.       DPH=(PHI-PHIL)/I                                                  00170360
  242.       DP=(P-PL)/I                                                       00170370
  243.       NP=NPL                                                            00170380
  244.       THET=THETL                                                        00170390
  245.       PHI=PHIL                                                          00170400
  246.        P= PL                                                            00170410
  247.    80 DO 90 J=1,I                                                       00170420
  248.       NP=NP+KN                                                          00170430
  249.       IF(NP.LE.0) GO TO 100                                             00170440
  250.       IF(NP.LE.NUMNP) GO TO 81                                          00170450
  251.       WRITE(6,250)NP                                                    00170460
  252.       MODEX=1                                                           00170470
  253.       GO TO 50                                                          00170480
  254.    81 CONTINUE                                                          00170490
  255.       IF(IC.GT.0.AND.IC.LT.7) GO TO 82                                  00170500
  256.       WRITE(6,260)IC                                                    00170510
  257.       MODEX=1                                                           00170520
  258.       GO TO 50                                                          00170530
  259.    82 CONTINUE                                                          00170540
  260.       IF(IFN.GT.0.AND.IFN.LE.NFN) GO TO 83                              00170550
  261.       WRITE(6,270)IFN                                                   00170560
  262.       MODEX=1                                                           00170570
  263.    83 CONTINUE                                                          00170580
  264.       P=P+DP                                                            00170590
  265.       PHI=PHI+DPH                                                       00170600
  266.       THET=THET+DTH                                                     00170610
  267.       K=1                                                               00170620
  268.       KI=1                                                              00170630
  269.       IF(THET.NE.0.0.OR.PHI.NE.0.0)  K=3                                00170640
  270.       IF(THET.NE.0.0.AND.PHI.EQ.90.0)  K=2                              00170650
  271.       IF(THET.EQ.90.0.AND.PHI.NE.0.0) KI=2                              00170660
  272.       DO 90 L=KI,K                                                      00170670
  273.       IF(L.EQ.1) PX=P*DSIN(PHI*RDN)*DCOS(THET*RDN)                      00170680
  274.       IF(L.EQ.2) PX=P*DSIN(PHI*RDN)*DSIN(THET*RDN)                      00170690
  275.       IF(L.EQ.3) PX=P*DCOS(PHI*RDN)                                     00170700
  276.       IF(K.EQ.1) PX=P                                                   00170710
  277.       IC=ICI                                                            00170720
  278.       IF(K.NE.1) IC=L                                                   00170730
  279.       WRITE(6,230)NP,IC,IFN,IAT,PX                                      00170740
  280.       NODE=NP                                                           00170750
  281.       IF(KOPT.GT.0) NODE=ISIR(NP)                                       00170760
  282.       KOUNT=KOUNT+1                                                     00170770
  283.       WRITE (MT) NODE,IC,IFN,IAT,PX                                     00170780
  284.    90 CONTINUE                                                          00170790
  285.       THETL=THET                                                        00170800
  286.       PHIL=PHI                                                          00170810
  287.       PL=P                                                              00170820
  288.       NPL=NP                                                            00170830
  289.       GO TO 50                                                          00170840
  290.   100 IF(KOUNT.EQ.0) GO TO 116                                          00170850
  291.       IF(MODEX.EQ.1) RETURN                                             00170860
  292.       READ (8) ID                                                       00170870
  293.       REWIND MT                                                         00170880
  294.       REWIND KT                                                         00170890
  295.       DO 110 I=1,KOUNT                                                  00170900
  296.       READ (MT) NODE,IC,IFN,IAT,P                                       00170910
  297.       CALL UNPKID(ID,NUMNP,W,WX,2,NODE,IC)                              00170920
  298.       IC=W                                                              00170930
  299.       IF(IC.GT.0) GO TO 110                                             00170940
  300.       WRITE(6,115)NODE                                                  00170950
  301.   110 WRITE (KT) IC,IFN,IAT,P                                           00170960
  302.   115 FORMAT(/20X,4HNODE,I5,35H WAS GIVEN A LOAD ON A DOF THAT WAS,     00170970
  303.      $11HCONSTRAINED/20X,40HIF THE GEOMETRY HAS BEEN RENUMBERED, THE,   00170980
  304.      $36H NODE NO. IS THE RENUMBERED NODE NO.//)                        00170990
  305.       IF(MODEX.EQ.1) RETURN                                             00171000
  306.   116 CONTINUE                                                          00171010
  307.       NNN=NEQ*NFN                                                       00171020
  308.       CALL MEMSET(0.0E0,FF(1,1),NNN)                                    00171030
  309.       DO 120 I=1,NEQ                                                    00171040
  310.       DO 120 J=1,NFN                                                    00171050
  311.   120 IFF(I,J)=1                                                        00171060
  312.       IF(KOUNT.EQ.0) GO TO 150                                          00171070
  313.       REWIND KT                                                         00171080
  314.       DO 140 I=1,KOUNT                                                  00171090
  315.       READ (KT) IC,IFN,IAT,P                                            00171100
  316.       FF(IC,IFN)=P                                                      00171110
  317.   140 IFF(IC,IFN)=IAT                                                   00171120
  318.   150 CONTINUE                                                          00171130
  319.       WRITE (NT) FF,IFF                                                 00171140
  320.       REWIND 8                                                          00171150
  321.       READ (8) ID                                                       00171160
  322.       RETURN                                                            00171170
  323.   210 FORMAT (4I5,F10.2)                                                00171180
  324.   220 FORMAT (36H1D Y N A M I C   L O A D   I N P U T, // 3X,4HNODE,3X, 00171190
  325.      $        9HDEGREE OF,3X,8HFUNCTION,3X,12HARRIVAL TIME,5X,          00171200
  326.      $        8HFUNCTION,/ 7H NUMBER,5X,7HFREEDOM,2X,9HREFERENCE,9X,    00171210
  327.      $        6HNUMBER,3X,10HMULTIPLIER, / 1X)                          00171220
  328.   230 FORMAT (I7,7X,I5,6X,I5,10X,I5,E13.4)                              00171230
  329.   240 FORMAT (46H0*** ERROR   LOAD APPLIED TO A CONSTRAINED DOF, /      00171240
  330.      $        13X,6HNODE (,I5,14H)  COMPONENT (,I5,1H), / 1X)           00171250
  331.   250 FORMAT (19H0*** ERROR   NODE (,I5,15H) OUT OF RANGE., / 1X)       00171260
  332.   260 FORMAT (24H0*** ERROR   COMPONENT (,I5,13H) IS ILLEGAL., / 1X)    00171270
  333.   270 FORMAT (33H0*** ERROR   FUNCTION REFERENCE (,I5,9H) IS BAD., / 1X)00171280
  334.       END                                                               00171290
  335.       SUBROUTINE EMIDS(ID,MASS,NUMNP,NEQ)                               00086030
  336.       IMPLICIT REAL*8 (A-H,O-Z)                                         00086040
  337.       REAL*8  ID                                                        00086050
  338.       REAL*8  MASS                                                      00086060
  339.       DIMENSION  ID(NUMNP,3),MASS(NEQ)                                  00086070
  340.       NT=10                                                             00086080
  341.       REWIND NT                                                         00086090
  342.       DO 50 N=1,NEQ                                                     00086100
  343.    50 MASS(N)=0.0D0                                                     00086110
  344.       DO 130 N=1,NUMNP                                                  00086120
  345.       DO 120 I=1,3                                                      00086130
  346.       CALL UNPKID(ID,NUMNP,W,WX,2,N,I)                                  00086140
  347.       NN=W                                                              00086150
  348.       IF(NN.LE.0) GO TO 120                                             00086160
  349.       MASS(NN)=I                                                        00086170
  350.   120 CONTINUE                                                          00086180
  351.   130 CONTINUE                                                          00086190
  352.       WRITE (NT) MASS                                                   00086200
  353.       RETURN                                                            00086210
  354.       END                                                               00086220
  355.       SUBROUTINE GROUND (FF,IFF,XM,MASS,NEQ,NFN)                        00109960
  356.       IMPLICIT REAL*8 (A-H,O-Z)                                         00109970
  357.       REAL*8  MASS                                                      00109980
  358.       COMMON /JUNK/  JFN(3),JAT(3),RRJUNK(224)                          R0109990
  359.       COMMON /EXTRA/ MODEX,NT8,NREXTR(24)                               R0110000
  360.       DIMENSION FF(NEQ,NFN),IFF(NEQ,NFN),XM(NEQ),MASS(NEQ)              00110010
  361.       IF(MODEX.EQ.1) GO TO 100                                          00110020
  362.       NT=3                                                              00110030
  363.       IT=2                                                              00110040
  364.       KT=10                                                             00110050
  365.       REWIND NT                                                         00110060
  366.       REWIND KT                                                         00110070
  367.       REWIND IT                                                         00110080
  368.   100 READ (5,140) JFN,JAT                                              00110090
  369.       DO 120 I=1,3                                                      00110100
  370.       IF(JAT(I)) 110,110,120                                            00110110
  371.   110 JAT(I)=1                                                          00110120
  372.   120 CONTINUE                                                          00110130
  373.       WRITE (6,150) JFN,JAT                                             00110140
  374.       IF(MODEX.EQ.1) RETURN                                             00110150
  375.       READ (KT) MASS                                                    00110160
  376.       READ (NT) XM                                                      00110170
  377.       READ (IT) FF,IFF                                                  00110180
  378.       REWIND IT                                                         00110190
  379.       DO 130 I=1,NEQ                                                    00110200
  380.       J=MASS(I)                                                         00110210
  381.       IF(J.EQ.0)  GO TO 130                                             00110220
  382.       JJ=JFN(J)                                                         00110230
  383.       IF(JJ.LE.0)  GO TO 130                                            00110240
  384.       FF(I,JJ) =-XM(I)                                                  00110250
  385.       IFF(I,JJ)=JAT(J)                                                  00110260
  386.   130 CONTINUE                                                          00110270
  387.       WRITE (IT) FF,IFF                                                 00110280
  388.       RETURN                                                            00110290
  389.   140 FORMAT (6I5)                                                      00110300
  390.   150 FORMAT (38H1G R O U N D   M O T I O N   I N P U T, // 21X,        00110310
  391.      $        9HDIRECTION, / 21X,1HX,3X,1HY,3X,1HZ, /                   00110320
  392.      $        19H FUNCTION NUMBERS =, I3,2I4 /                          00110330
  393.      $        19H ARRIVAL TIMES    =, I3,2I4 // 1X)                     00110340
  394.       END                                                               00110350
  395.       SUBROUTINE INDLY (FF,IFF,AT,NEQ,NFN,NAT,MAXD)                     00114500
  396.       IMPLICIT REAL*8 (A-H,O-Z)                                         00114510
  397.       COMMON /DYN2/IFPR,IFSS,NITEM,NFO,RTOL,COFQ,DT,RRDYN2(9)           R0114520
  398.       COMMON /EXTRA/ MODEX,NT8,NREXTR(24)                               R0114530
  399.       DIMENSION      FF(NEQ,NFN),IFF(NEQ,NFN),AT(NAT)                   00114540
  400.       IF(MODEX.EQ.1) GO TO 100                                          00114550
  401.       KT=2                                                              00114560
  402.       REWIND KT                                                         00114570
  403.   100 READ  (5,140) (  AT(I),I=1,NAT)                                   00114580
  404.       WRITE (6,150) (I,AT(I),I=1,NAT)                                   00114590
  405.       MAXD=0                                                            00114600
  406.       IF(MODEX.EQ.1) RETURN                                             00114610
  407.       DO 110 I=1,NAT                                                    00114620
  408.   110 AT(I)=AT(I)/DT                                                    00114630
  409.       READ (KT)  FF,IFF                                                 00114640
  410.       REWIND KT                                                         00114650
  411.       DO 130 NF=1,NFN                                                   00114660
  412.       DO 120 N=1,NEQ                                                    00114670
  413.       J=IFF(N,NF)                                                       00114680
  414.       JAT=AT(J)                                                         00114690
  415.       IF((AT(J)-JAT).GE.0.5E0)  JAT=JAT+1                               00114700
  416.       JAT=JAT+1                                                         00114710
  417.       IF(JAT.GT.MAXD)  MAXD=JAT                                         00114720
  418.   120 IFF(N,NF) = JAT                                                   00114730
  419.   130 CONTINUE                                                          00114740
  420.       WRITE (KT) FF,IFF                                                 00114750
  421.       RETURN                                                            00114760
  422.   140 FORMAT (8F10.2)                                                   00114770
  423.   150 FORMAT (//// 38H A R R I V A L   T I M E   V A L U E S, //        00114780
  424.      $        6H INPUT,5X,12HARRIVAL TIME,/ 6H ORDER,12X,5HVALUE, //    00114790
  425.      $        (I6,E17.4) )                                              00114800
  426.       END                                                               00114810
  427.       SUBROUTINE INTHIS (NLP,P,NFN,MXLP,KN)                             00120450
  428.       IMPLICIT REAL*8 (A-H,O-Z)                                         00120460
  429.       DIMENSION      NLP(NFN),P(KN,1)                                   00120470
  430.       COMMON /ELPAR/ XPAR(14),NUMNP,MBAND,NELTYP,N1,N2,N3,N4,N5,MTOT,NEQ00120480
  431.      & ,RRELPA(24)                                                      R0120481
  432.       COMMON /JUNK/  HED(8),RRJUNK(219)                                 R0120490
  433.       COMMON /EXTRA/ MODEX,NT8,NREXTR(24)                               R0120500
  434.       MXLP=0                                                            00120510
  435.       NF=1                                                              00120520
  436.       WRITE (6,180)                                                     00120530
  437.   100 NF2=2*NF                                                          00120540
  438.       NF1=NF2-1                                                         00120550
  439.         READ(5,140)NLP(NF),SFTR,HED,IFOR                                00120560
  440.       IF( DABS(SFTR).LT.1.0D-8) SFTR = 1.0D0                            00120570
  441.       IF(NLP(NF).GT.MXLP) MXLP = NLP(NF)                                00120580
  442.       WRITE (6,160) NF,NLP(NF),SFTR,HED                                 00120590
  443.       N3 = N2+KN*MXLP                                                   00120600
  444.       IF(N3.GT.MTOT) CALL ERROR (N3-MTOT)                               00120610
  445.       NN=NLP(NF)                                                        00120620
  446.         IU=5                                                            00120630
  447.         IF(IFOR.EQ.2.OR.IFOR.EQ.3) IU=11                                00120640
  448.         IF(IFOR.GT.0) READ(IU, 145)(P(NF1,L),P(NF2,L),L=1,NN)           00120650
  449.         IF(IFOR.EQ.0) READ(5,150)(P(NF1,L),P(NF2,L),L=1,NN)             00120660
  450.         IF(IFOR.NE.3) WRITE(6, 170)(L,P(NF1,L),P(NF2,L),L=1,NN)         00120670
  451.       IF(MODEX.EQ.1) GO TO 120                                          00120680
  452.       DO 110 K=1,NN                                                     00120690
  453.   110 P(NF2,K) = P(NF2,K)* SFTR                                         00120700
  454.   120 IF( DABS(P(NF1,1)) .LT. 1.0D-8) GO TO 130                         00120710
  455.       WRITE (6,190) NF                                                  00120720
  456.       MODEX=1                                                           00120730
  457.   130 CONTINUE                                                          00120740
  458.       NF=NF+1                                                           00120750
  459.       IF(NF.LE.NFN)  GO TO 100                                          00120760
  460.       RETURN                                                            00120770
  461. 140     FORMAT(I5,F10.0,8A8,I1)                                         00120780
  462. 145     FORMAT(6F12.0,8X)                                               00120790
  463.   150 FORMAT (12F6.0)                                                   00120800
  464.   160 FORMAT (// 26H  TIME FUNCTION NUMBER = (,I3,1H), //               00120810
  465.      $        5X,21HNUMBER OF POINTS  = (, I3,    1H), /                00120820
  466.      $        5X,21HSCALE FACTOR      = (,E12.4,  1H), /                00120830
  467.      $        5X,21HDESCRIPTION       = (,  8A8,  1H), //               00120840
  468.      $        8X,5HINPUT,8X,4HTIME,4X,8HFUNCTION, / 8X,5HORDER,         00120850
  469.      $        2(7X,5HVALUE), / 1X)                                      00120860
  470.   170 FORMAT (8X,I5,2E12.4)                                             00120870
  471.   180 FORMAT (36H1T I M E   F U N C T I O N   D A T A, / 1X)            00120880
  472.   190 FORMAT (30H0*** ERROR   FUNCTION NUMBER (,I4,10H) DOES NOT,       00120890
  473.      $        20H BEGIN AT TIME ZERO., / 1X)                            00120900
  474.       END                                                               00120910
  475.       SUBROUTINE INOUT (IDIS,ID,ISTR,NUMNP,SA,ISIR)                     00116550
  476.       IMPLICIT REAL*8 (A-H,O-Z)                                         00116560
  477.       INTEGER*2 ISIR                                                    00116570
  478.       REAL*8  IDIS,ISTR                                                 00116580
  479.       REAL*8  ID                                                        00116590
  480.       DIMENSION      IDIS(1),ID(NUMNP,3),ISTR(1)                        00116600
  481.       DIMENSION SA(1)                                                   00116610
  482.       DIMENSION ISIR(NUMNP)                                             00116620
  483.       COMMON /BAND/ KOPT,NRBAND(7)                                      R0116630
  484.       COMMON /JUNK/  KK1,KK2,ISP1,ISP2,NSD,NSS,IC(6),KD(2,8),IS(12),    00116640
  485.      $               MUM(8),NUM(100),RRJUNK(153)                        R0116650
  486.       COMMON /ELPAR/ XPAR(14),IDUM1,MBAND,NELTYP,N1,N2,N3,N4,N5,MTOT,NEQ00116660
  487.      $ ,N2P,N3P,NMRI,NTRI,N1P,NUMEL,NUMEL2,KZ(20,2),NEMN                00116670
  488.       COMMON /QTSARG/ SSA(8,60),KLM(8,60),RRQTSA(280)                   R0116680
  489.       COMMON /EXTRA/ MODEX,NT8,NREXTR(24)                               R0116690
  490.       NT1=1                                                             00116700
  491.       CALL RDWRT(NT1,SA,1,6,J)                                          00116710
  492.       REWIND 8                                                          00116720
  493.       REWIND 9                                                          00116730
  494.       IF(MODEX.EQ.1) GO TO 5                                            00116740
  495.       LT=17                                                             00116750
  496.       IF(KOPT.GT.0) REWIND LT                                           00116760
  497.       IF(KOPT.GT.0) READ(LT)                                            00116770
  498.       IF(KOPT.GT.0) READ (LT) (ISIR(II),II=1,NUMNP)                     R0116780
  499.     5 CONTINUE                                                          00116790
  500.       READ (8) ID                                                       00116800
  501.       REWIND 8                                                          00116810
  502.   100 L=0                                                               00116820
  503.       K=0                                                               00116830
  504.       WRITE (6,300)                                                     00116840
  505.       READ  (5,320) KK1,ISP1                                            00116850
  506.       WRITE (6,360) KK1,ISP1                                            00116860
  507.       WRITE (6,310)                                                     00116870
  508.   110 READ  (5,320) NP,IC                                               00116880
  509.       IF(NP.GT.0) WRITE(6,330)NP,IC                                     00116890
  510.       IF(NP.GT.0) GO TO 120                                             00116900
  511.       IF(L.EQ.0) GO TO 180                                              00116910
  512.       IF(MODEX.EQ.0)                                                    00116920
  513.      $WRITE (9) KD,L                                                    00116930
  514.       GO TO 180                                                         00116940
  515.   120 IF(NP.LE.NUMNP) GO TO 140                                         00116950
  516.       WRITE (6,130) NP                                                  00116960
  517.   130 FORMAT (19H0*** ERROR   NODE (,I5,15H) IS TOO LARGE., / 1X)       00116970
  518.       MODEX=1                                                           00116980
  519.   140 DO 170 I=1,6                                                      00116990
  520.       II=IC(I)                                                          00117000
  521.       IF(II.EQ.0 .OR. II.GT.6) GO TO 110                                00117010
  522.       K=K+1                                                             00117020
  523.       L=L+1                                                             00117030
  524.       KD(1,L)=NP                                                        00117040
  525.       N=NP                                                              00117050
  526.       IF(KOPT.GT.0) NP=ISIR(N)                                          00117060
  527.       KD(2,L)=II                                                        00117070
  528.       CALL UNPKID(ID,NUMNP,W,WX,2,NP,II)                                00117080
  529.       NP=N                                                              00117090
  530.       JJ=W                                                              00117100
  531.       IF(JJ.GT.0) GO TO 150                                             00117110
  532.       L = L-1                                                           00117120
  533.       K=K-1                                                             00117130
  534.       GO TO 160                                                         00117140
  535.   150 IDIS(K)=JJ                                                        00117150
  536.   160 IF(L.LT.8) GO TO 170                                              00117160
  537.       IF(MODEX.EQ.0)                                                    00117170
  538.      $WRITE (9) KD,L                                                    00117180
  539.       L=0                                                               00117190
  540.   170 CONTINUE                                                          00117200
  541.       GO TO 110                                                         00117210
  542.   180 NSD=K                                                             00117220
  543.       WRITE (6,340)                                                     00117230
  544.       READ  (5,320) KK2,ISP2                                            00117240
  545.       WRITE (6,360) KK2,ISP2                                            00117250
  546.       K = 1                                                             00117260
  547.       ISTR(1) = 0                                                       00117270
  548.       N=1                                                               00117280
  549.       WRITE(6,350)                                                      00117290
  550.       READ  (5,320) NEL,IS                                              00117300
  551.       IF(NEL.GT.0) WRITE(6,330)NEL,IS                                   00117310
  552.       NUME=NUMEL+NUMEL2                                                 00117320
  553.       L=0                                                               00117330
  554.       NUM(N)=0                                                          00117340
  555.       MTYPL=0                                                           00117350
  556.       NDL=0                                                             00117360
  557.       DO 250 M=1,NUME                                                   00117370
  558.       IF(MODEX.EQ.0)                                                    00117380
  559.      $CALL RDWRT(NT1,SA,NEMN,0,KOUNT)                                   00117390
  560.       IF(NEL.NE.M)  GO TO 250                                           00117400
  561.       MTYPE=SA(KOUNT)                                                   00117410
  562.       IF(MTYPE.EQ.7.AND.M.LE.NUMEL) GO TO 240                           00117420
  563.       NS=SA(KOUNT-1)                                                    00117430
  564.       ND=SA(KOUNT-2)                                                    00117440
  565.       IF(L.EQ.0)                       GO TO 190                        00117450
  566.       IF(MTYPL.EQ.MTYPE.AND.ND.EQ.NDL) GO TO 190                        00117460
  567.       WRITE (9) KD,L                                                    00117470
  568.       WRITE (8)NDL,((SSA(II,JJ),II=1,8),JJ=1,NDL),                      00117480
  569.      $             ((KLM(II,JJ),II=1,8),JJ=1,NDL),MTYPL                 00117490
  570.       L=0                                                               00117500
  571.       NUM(N) = NUM(N) + 1                                               00117510
  572.   190 CONTINUE                                                          00117520
  573.       MTYPL=MTYPE                                                       00117530
  574.       NDL=ND                                                            00117540
  575.       KS = NS                                                           00117550
  576.       IF(KS.GT.12) KS = 12                                              00117560
  577.       DO 230 I=1,KS                                                     00117570
  578.       II=IS(I)                                                          00117580
  579.       IF(II.EQ.0)  GO TO 240                                            00117590
  580.       IF(II.GT.NS) GO TO 230                                            00117600
  581.       L=L+1                                                             00117610
  582.       KD(1,L)=NEL                                                       00117620
  583.       KD(2,L)=II                                                        00117630
  584.       NPN=ND+II                                                         00117640
  585.       DO 210 J=1,ND                                                     00117650
  586.       NELM=NPN+(J-1)*NS                                                 00117660
  587.       IF(MODEX.EQ.0)                                                    00117670
  588.      $SSA(L,J) = SA(NELM)                                               00117680
  589.       KLM(L,J)=0                                                        00117690
  590.       JJ=SA(J)                                                          00117700
  591.       IF(JJ.LE.0) GO TO 210                                             00117710
  592.       DO 200 NK=1,K                                                     00117720
  593.       ISTRNK=ISTR(NK)                                                   00117730
  594.       IF(ISTRNK  .NE.JJ)  GO TO 200                                     00117740
  595.       KLM(L,J)=NK                                                       00117750
  596.       GO TO 210                                                         00117760
  597.   200 CONTINUE                                                          00117770
  598.       ISTR(K)=JJ                                                        00117780
  599.       KLM(L,J)=K                                                        00117790
  600.       K=K+1                                                             00117800
  601.       ISTR(K)=0                                                         00117810
  602.   210 CONTINUE                                                          00117820
  603.       IF(L.LT.8)  GO TO 230                                             00117830
  604.       IF(MODEX.EQ.1) GO TO 220                                          00117840
  605.       WRITE (9) KD,L                                                    00117850
  606.       WRITE (8) ND,((SSA(II,JJ),II=1,8),JJ=1,ND),                       00117860
  607.      $             ((KLM(II,JJ),II=1,8),JJ=1,ND),MTYPE                  00117870
  608.   220 L=0                                                               00117880
  609.       NUM(N)=NUM(N)+1                                                   00117890
  610.   230 CONTINUE                                                          00117900
  611.   240 READ  (5,320) NEL,IS                                              00117910
  612.       IF(NEL.GT.0) WRITE(6,330)NEL,IS                                   00117920
  613.       IF(NEL.EQ.0) GO TO 260                                            00117930
  614.   250 CONTINUE                                                          00117940
  615.   260 CONTINUE                                                          00117950
  616.       IF(L.EQ.0)  GO TO 280                                             00117960
  617.       IF(MODEX.EQ.1) GO TO 270                                          00117970
  618.       WRITE (9) KD,L                                                    00117980
  619.       WRITE (8) ND,((SSA(II,JJ),II=1,8),JJ=1,ND),                       00117990
  620.      $             ((KLM(II,JJ),II=1,8),JJ=1,ND),MTYPE                  00118000
  621.   270 NUM(N) = NUM(N) + 1                                               00118010
  622.   280 CONTINUE                                                          00118020
  623.       NSS=K-1                                                           00118030
  624.       IF(NSS.LT.1) RETURN                                               00118040
  625.       DO 290 L=1,NSS                                                    00118050
  626.       J = NSD+L                                                         00118060
  627.   290 IDIS(J) = ISTR(L)                                                 00118070
  628.       RETURN                                                            00118080
  629.   300 FORMAT (44H1D I S P L A C E M E N T   C O M P O N E N T,3X,       00118090
  630.      $        29HO U T P U T   R E Q U E S T S, // 1X)                  00118100
  631.   310 FORMAT (4X,4HNODE,2X,22HDISPLACEMENT COMPONENT, / 2X,6HNUMBER,    00118110
  632.      $        6(3X,1H*), / 1X)                                          00118120
  633.   320 FORMAT (13I5)                                                     00118130
  634.   330 FORMAT (I8,12I4)                                                  00118140
  635.   340 FORMAT (46H1S T R E S S   C O M P O N E N T   O U T P U T,3X,     00118150
  636.      $        15HR E Q U E S T S, // 1X)                                00118160
  637.   350 FORMAT (//                                                        00118170
  638.      $        8H ELEMENT,9X,33HDESIRED ELEMENT STRESS COMPONENTS, /     00118180
  639.      $        8H  NUMBER,12(3X,1H*), / 1X)                              00118190
  640.   360 FORMAT (// 25H CODE FOR OUTPUT TYPE   =, I2 /                     00118200
  641.      $           3X,19HEQ.1, HISTORY TABLE,       /                     00118210
  642.      $           3X,18HEQ.2, PRINTER PLOT,        /                     00118220
  643.      $           3X,17HEQ.3, MAXIMA ONLY,         /                     00118230
  644.      $           25H PRINTER PLOT SPACING   =, I2 / 1X)                 00118240
  645.       END                                                               00118250
  646.       SUBROUTINE LOADV (NLP,P,B,FF,IFF,LDOF,NEQ,NFN,KN)                 00128800
  647.       IMPLICIT REAL*8 (A-H,O-Z)                                         00128810
  648.       DIMENSION      NLP(NFN),P(KN,1),B(NEQ),FF(NEQ,NFN),IFF(NEQ,NFN),  00128820
  649.      $               LDOF(NEQ)                                          00128830
  650.       COMMON /DYN2/IFPR,IFSS,NITEM,NFO,RTOL,COFQ,DT,ALFA,BETA,NFX,NGM,  00128840
  651.      $NAT,NT,NOT,MIND,TLAST,NRDYN2(6)                                   R0128850
  652.       COMMON /EXTRA/ MODEX,NREXTR(25)                                   R0128860
  653.       KT=2                                                              00128870
  654.       REWIND KT                                                         00128880
  655.       READ (KT) FF,IFF                                                  00128890
  656.       REWIND KT                                                         00128900
  657.       TETA=1.4E0                                                        00128910
  658.       DEL=TETA*DT-DT                                                    00128920
  659.         IF(MIND.GT.0)DEL=0.0D0                                          00128930
  660.       KLOAD = 0                                                         00128940
  661.       DO 110 K=1,NEQ                                                    00128950
  662.       B(K) = 0.0E0                                                      00128960
  663.       DUM = 0.0E0                                                       00128970
  664.       IDUM = 0                                                          00128980
  665.       DO 100 I=1,NFN                                                    00128990
  666.       IF(IFF(K,I).GT.NT) GO TO 100                                      00129000
  667.       IDUM = IDUM +1                                                    00129010
  668.   100 DUM = DUM +  DABS(FF(K,I))                                        00129020
  669.       IF(DUM.LT.1.0E-8) GO TO 110                                       00129030
  670.       IF(IDUM.LT.1)     GO TO 110                                       00129040
  671.       KLOAD = KLOAD +1                                                  00129050
  672.       LDOF(KLOAD) = K                                                   00129060
  673.   110 CONTINUE                                                          00129070
  674.       IF(KLOAD.GT.0) GO TO 130                                          00129080
  675.       WRITE (6,120)                                                     00129090
  676.   120 FORMAT (32H0*** ERROR   SOLUTION TERMINATED, /                    00129100
  677.      $        13X,35HNO FORCES APPLIED TO THE STRUCTURE., / 1X)         00129110
  678.       MODEX=1                                                           00129120
  679.       RETURN                                                            00129130
  680.   130 CONTINUE                                                          00129140
  681.       TT = 0.0E0                                                        00129150
  682.       DO 200 KK=1,NT                                                    00129160
  683.       TT = TT+DT                                                        00129170
  684.       DO 190 KD=1,KLOAD                                                 00129180
  685.       KEQ = LDOF(KD)                                                    00129190
  686.       B(KEQ) = 0.0E0                                                    00129200
  687.       DO 180 KF=1,NFN                                                   00129210
  688.       IF( DABS(FF(KEQ,KF)).LT.1.0D-8) GO TO 180                         00129220
  689.       I = IFF(KEQ,KF) -1                                                00129230
  690.       IF(I.GT.KK) GO TO 180                                             00129240
  691.       TR = TT - FLOAT(I)* DT                                            00129250
  692.       J = NLP(KF)                                                       00129260
  693.       TF = P(2*KF-1,J)                                                  00129270
  694.       IF(TF.LT.TR) GO TO 180                                            00129280
  695.       NF2 = 2*KF                                                        00129290
  696.       NF1 = NF2-1                                                       00129300
  697.       DO 160 L=2,J                                                      00129310
  698.       IF(TR.GT.P(NF1,L)) GO TO 160                                      00129320
  699.       RT = P(NF1,L)-P(NF1,L-1)                                          00129330
  700.       IF(RT.GT.1.0E-8) GO TO 150                                        00129340
  701.       M = L-1                                                           00129350
  702.       WRITE (6,140) M,L,KF                                              00129360
  703.   140 FORMAT (53H0*** ERROR   ZERO OR NEGATIVE TIME DIFFERENCE BETWEEN, 00129370
  704.      $        9H POINTS (,I3,7H) AND (,I3,1H), / 13X,8HFUNCTION,        00129380
  705.      $        9H NUMBER (,I3,1H), / 1X)                                 00129390
  706.       MODEX=1                                                           00129400
  707.       RETURN                                                            00129410
  708.   150 RF = P(NF2,L)-P(NF2,L-1)                                          00129420
  709.       FV = P(NF2,L-1) + (TR-P(NF1,L-1)+DEL)* RF/ RT                     00129430
  710.         IF(MIND.EQ.0) GO TO 170                                         00129440
  711.         IF(FV.EQ.0.0)FV=1.0D-14                                         00129450
  712.       GO TO 170                                                         00129460
  713.   160 CONTINUE                                                          00129470
  714.   170 B(KEQ) = B(KEQ) + FF(KEQ,KF)* FV                                  00129480
  715.   180 CONTINUE                                                          00129490
  716.   190 CONTINUE                                                          00129500
  717.       WRITE (KT) (B(II),II=1,NEQ)                                       R0129510
  718.   200 CONTINUE                                                          00129520
  719.       RETURN                                                            00129530
  720.       END                                                               00129540
  721.       SUBROUTINE TRIFAC (A,B,MAXA,NEQB,MA,NBLOCK,NWA,NTB,NEQ,MI)        00314610
  722.       IMPLICIT REAL*8 (A-H,O-Z)                                         00314620
  723.       REAL*8  MAXA                                                      00314630
  724.       DIMENSION      A(NWA),B(NWA),MAXA(MI)                             00314640
  725.       DIMENSION ICOO(10),IFORM(4)                                       00314650
  726.       COMMON /TAPES/ NSTIF,NRED,NL,NR,NT,NMASS                          R0314660
  727.       COMMON /EXTRA/ MODEX,NREXTR(25)                                   R0314670
  728.       COMMON /SQZ/ ISQZ,NRSQZ(5)                                        R0314680
  729.       DATA ICOO /3H001,3H013,3H025,3H037,3H049,3H061,3H073,3H085,3H097, 00314690
  730.      $           3H109/                                                 00314700
  731.       DATA IFORM(1),IFORM(3),IFORM(4) /4H(1H+,4HX,F7,4H.2) /            00314710
  732.       NWANM=NWA+MI                                                      00314720
  733.        MA2=MA - 2                                                       00314730
  734.       IF(MA2.EQ.0) MA2 = 1                                              00314740
  735.        INC=NEQB - 1                                                     00314750
  736.       NSTIF = 4                                                         00314760
  737.       NRED  = 3                                                         00314770
  738.       NL    = 1                                                         00314780
  739.       NR=10                                                             00314790
  740.        N1=NL                                                            00314800
  741.        N2=NR                                                            00314810
  742.       CALL RDWRT(NSTIF,A,1,6,I)                                         00314820
  743.       CALL RDWRT(NRED ,A,1,6,I)                                         00314830
  744.       CALL RDWRT(N1   ,A,1,6,I)                                         00314840
  745.       CALL RDWRT(N2   ,A,1,6,I)                                         00314850
  746.       WRITE(6,80)                                                       00314860
  747.    80 FORMAT(1H1)                                                       00314870
  748.       WRITE(6,90)                                                       00314880
  749.    90 FORMAT( // 10X,48HTHE LAST NUMBER PRINTED IS THE PERCENT OF THE FO00314890
  750.      $       ,40HRWARD REDUCTION THAT HAS BEEN COMPLETED.//)            00314900
  751.       ICO=1                                                             00314910
  752.        DO 420 NJ=1,NBLOCK                                               00314920
  753.        IF (NJ.NE.1) GO TO 100                                           00314930
  754.       CALL EXPAND(A,NWA,NSTIF)                                          00314940
  755.        GO TO 110                                                        00314950
  756.   100  IF (NTB.EQ.1) GO TO 110                                          00314960
  757.       CALL RDWRT(N1   ,A,1,6,I)                                         00314970
  758.       CALL RDWRT(N2   ,A,1,6,I)                                         00314980
  759.       CALL EXPAND(A,NWA,N1)                                             00314990
  760.   110  KU=1                                                             00315000
  761.        KM=MIN0(MA,NEQB)                                                 00315010
  762.        MAXA(1)=1                                                        00315020
  763.        DO 170 N=2,MI                                                    00315030
  764.        IF (N-MA) 120,120,130                                            00315040
  765.   120  KU=KU + NEQB                                                     00315050
  766.        KK=KU                                                            00315060
  767.       MM = MIN0(N,KM)                                                   00315070
  768.        GO TO 150                                                        00315080
  769.   130  KU=KU + 1                                                        00315090
  770.        KK=KU                                                            00315100
  771.        IF (N-NEQB) 150,150,140                                          00315110
  772.   140  MM=MM - 1                                                        00315120
  773.   150  DO 160 K=1,MM                                                    00315130
  774.        IF (A(KK)) 170,160,170                                           00315140
  775.   160  KK=KK - INC                                                      00315150
  776.   170  MAXA(N)=KK                                                       00315160
  777.       IF(A(1)) 190,180,200                                              00315170
  778.   180 KK = (NJ-1)*NEQB +1                                               00315180
  779.       IF(KK.GT.NEQ) GO TO 390                                           00315190
  780.       WRITE (6,430) KK                                                  00315200
  781.       MODEX=1                                                           00315210
  782.       RETURN                                                            00315220
  783.   190 KK = (NJ-1)*NEQB +1                                               00315230
  784.       WRITE (6,440) KK                                                  00315240
  785.       WRITE(6,90)                                                       00315250
  786.       ICO=1                                                             00315260
  787.   200  DO 280 N=2,NEQB                                                  00315270
  788.        NH=MAXA(N)                                                       00315280
  789.        IF (NH-N) 280,280,210                                            00315290
  790.   210  KL=N + INC                                                       00315300
  791.        KU=NH                                                            00315310
  792.        K=N                                                              00315320
  793.        D=0.E0                                                           00315330
  794.        DO 220 KK=KL,KU,INC                                              00315340
  795.        K=K - 1                                                          00315350
  796.        C=A(KK)/A(K)                                                     00315360
  797.        D=D + C*A(KK)                                                    00315370
  798.   220  A(KK)=C                                                          00315380
  799.        A(N)=A(N) - D                                                    00315390
  800.        IF (A(N)) 240,230,250                                            00315400
  801.   230  KK=(NJ-1)*NEQB + N                                               00315410
  802.        IF (KK.GT.NEQ) GO TO 390                                         00315420
  803.       WRITE (6,430) KK                                                  00315430
  804.       MODEX=1                                                           00315440
  805.       RETURN                                                            00315450
  806.   240 KK = (NJ-1)*NEQB +N                                               00315460
  807.       WRITE (6,440) KK                                                  00315470
  808.       WRITE(6,90)                                                       00315480
  809.       ICO=1                                                             00315490
  810.   250  IC=NEQB                                                          00315500
  811.        DO 270 J=1,MA2                                                   00315510
  812.        MJ=MAXA(N+J) - IC                                                00315520
  813.        IF (MJ-N) 270,270,260                                            00315530
  814.   260  KU=MIN0(MJ,NH)                                                   00315540
  815.        KN=N + IC                                                        00315550
  816.        C=0.E0                                                           00315560
  817.       CONST=C                                                           00315570
  818.       CALL QVDOT(C,A(KL),A(KL+IC),       (KU-KL)/INC+1,INC,INC)         00315580
  819.       C=CONST-C                                                         00315590
  820.       A(KN)=A(KN)+C                                                     00315600
  821.   270  IC=IC + NEQB                                                     00315610
  822.   280  CONTINUE                                                         00315620
  823.       IF(NJ.EQ.NBLOCK) CALL SQEEZE(A,NWANM,NRED,ISQZ)                   00315630
  824.       IF(NJ.EQ.NBLOCK) GO TO 400                                        00315640
  825.   290  DO 380 NK=1,NTB                                                  00315650
  826.        IF ((NK+NJ).GT.NBLOCK) GO TO 380                                 00315660
  827.        NI=N1                                                            00315670
  828.        IF ((NJ.EQ.1).OR.(NK.EQ.NTB)) NI=NSTIF                           00315680
  829.       CALL EXPAND(B,NWA,NI)                                             00315690
  830.        ML=NK*NEQB + 1                                                   00315700
  831.        MR=MIN0((NK+1)*NEQB,MI)                                          00315710
  832.       MD = MI-ML                                                        00315720
  833.        KL=NEQB + (NK-1)*NEQB*NEQB                                       00315730
  834.        N=1                                                              00315740
  835.        DO 360 M=ML,MR                                                   00315750
  836.        NH=MAXA(M)                                                       00315760
  837.        KL=KL + NEQB                                                     00315770
  838.       IF(NH-KL) 350,300,300                                             00315780
  839.   300  KU=NH                                                            00315790
  840.        K=NEQB                                                           00315800
  841.        D=0.E0                                                           00315810
  842.        DO 310 KK=KL,KU,INC                                              00315820
  843.        C=A(KK)/A(K)                                                     00315830
  844.        D=D + C*A(KK)                                                    00315840
  845.        A(KK)=C                                                          00315850
  846.   310  K=K - 1                                                          00315860
  847.        B(N)=B(N) - D                                                    00315870
  848.        IF (MD) 360,360,320                                              00315880
  849.   320  IC=NEQB                                                          00315890
  850.        DO 340 J=1,MD                                                    00315900
  851.        MJ=MAXA(M+J) - IC                                                00315910
  852.        IF (MJ-KL) 340,330,330                                           00315920
  853.   330  KU=MIN0(MJ,NH)                                                   00315930
  854.        KN=N + IC                                                        00315940
  855.        C=0.E0                                                           00315950
  856.       CONST=C                                                           00315960
  857.       CALL QVDOT(C,A(KL),A(KL+IC),       (KU-KL)/INC+1,INC,INC)         00315970
  858.       C=CONST-C                                                         00315980
  859.       B(KN)=B(KN)+C                                                     00315990
  860.   340  IC=IC + NEQB                                                     00316000
  861.   350 MD = MD-1                                                         00316010
  862.   360  N=N + 1                                                          00316020
  863.        IF (NTB.NE.1) GO TO 370                                          00316030
  864.       CALL SQEEZE(A,NWANM,NRED,ISQZ)                                    00316040
  865.       CALL MEMOVE(B(1),A(1),NWA)                                        00316050
  866.        GO TO 400                                                        00316060
  867.   370 CALL SQEEZE(B,NWA,N2,ISQZ)                                        00316070
  868.   380  CONTINUE                                                         00316080
  869.        M=N1                                                             00316090
  870.        N1=N2                                                            00316100
  871.        N2=M                                                             00316110
  872.   390 CALL SQEEZE(A,NWANM,NRED,ISQZ)                                    00316120
  873.   400  CONTINUE                                                         00316130
  874.       PER=NJ*100.0/NBLOCK                                               00316140
  875.       IFORM(2)=ICOO(ICO)                                                00316150
  876.       WRITE (6,IFORM) PER                                               00316160
  877.       ICO=ICO+1                                                         00316170
  878.       IF(ICO.LT.11) GO TO 420                                           00316180
  879.       WRITE(6,410)                                                      00316190
  880.   410 FORMAT(1H )                                                       00316200
  881.       ICO=1                                                             00316210
  882.   420 CONTINUE                                                          00316220
  883.   430 FORMAT (44H0STOP.  ZERO PIVOT ENCOUNTERED AT EQUATION (,I5,1H) )  00316230
  884.   440 FORMAT (52H0WARNING.   NEGATIVE PIVOT ENCOUNTERED DURING MATRIX,  00316240
  885.      $        35H DECOMPOSITION AT EQUATION NUMBER (,I5,1H), 1X)        00316250
  886.       WRITE(6,450)                                                      00316260
  887.   450 FORMAT(////20X,37(1H*)/20X,37HFORWARD REDUCTION HAS BEEN COMPLETED00316270
  888.      $./20X,37(1H*))                                                    00316280
  889.        RETURN                                                           00316290
  890.       END                                                               00316300
  891.       SUBROUTINE SOLSTP (IDIS,ISTR,MASS,B,X0,X1,X2,A,MAXA,SDIS,SSTR,    00246870
  892.      $                   NSD,NSS,NEQ,NEQB,MBAND,NWA,MI,MM,NBLOCK)       00246880
  893.       IMPLICIT REAL*8 (A-H,O-Z)                                         00246890
  894.       REAL*8  IDIS,ISTR                                                 00246900
  895.       REAL*8  MASS,MAXA                                                 00246910
  896.       DIMENSION      IDIS(NSD),ISTR(NSS),MASS(NEQ),B(NEQ),X0(NEQ),      00246920
  897.      $               X1(NEQ),X2(NEQ),A(NWA),MAXA(MI),SDIS(MM,NSD),      00246930
  898.      $               SSTR(MM,NSS),ISAVE(3)                              00246940
  899.       COMMON /DYN2/IFPR,IFSS,NITEM,NFO,RTOL,COFQ,DT,ALFA,BETA,NFN,NGM,  00246950
  900.      $NAT,NT,NOT,MIND,TLAST,NRDYN2(6)                                   R0246960
  901.       COMMON /EXTRA/ MODEX,NT8,N10SV,NT10,NREXTR(22)                    R0246970
  902.       JT = 4                                                            00246980
  903.       IT=10                                                             00246990
  904.       KT = 2                                                            00247000
  905.       REWIND JT                                                         00247010
  906.       REWIND KT                                                         00247020
  907.       REWIND IT                                                         00247030
  908.       IF(N10SV.GT.0) REWIND NT10                                        00247040
  909.       I = N10SV                                                         00247050
  910.       L = 4                                                             00247060
  911.       DO 100 K=1,3                                                      00247070
  912.       L = L-1                                                           00247080
  913.       ISAVE(L) = I - I/1000*1000                                        00247090
  914.   100 I = I/1000                                                        00247100
  915.       DO 110 I=1,NEQ                                                    00247110
  916.       X0(I)=0.0E0                                                       00247120
  917.       X1(I)=0.0E0                                                       00247130
  918.   110 X2(I)=0.0E0                                                       00247140
  919.         IF(TLAST.EQ.0.0) GO TO 114                                      00247150
  920.         NT14=14                                                         00247160
  921.         REWIND NT14                                                     00247170
  922.         NREC=3*((NEQ-1)/5+1)                                            00247180
  923. 111     READ (NT14,140,END=112) TIME                                    00247190
  924. 901     IF(DABS(TIME-TLAST).LT.1.0D-8) GO TO 115                        00247200
  925.         DO 905 I=1,NREC                                                 00247210
  926.         READ (NT14,140,END=112)X0                                       00247220
  927.         READ (NT14,140,END=112)X1                                       00247230
  928.         READ (NT14,140,END=112)X2                                       00247240
  929. 905     CONTINUE                                                        00247250
  930.         GO TO 111                                                       00247260
  931. 115     READ(NT14,140,END=112) X0                                       00247270
  932. 902     READ(NT14,140,END=112) X1                                       00247280
  933. 903     READ(NT14,140,END=112) X2                                       00247290
  934. 904     REWIND NT14                                                     00247300
  935.         GO TO 114                                                       00247310
  936. 112     WRITE(6,113)TLAST                                               00247320
  937. 113     FORMAT(//10X,47HTHE RESTART TAPE ENDED BEFORE FINDING THE RIGHT/00247330
  938.      $  10X,49HTIME REQUESTED FOR A RESTART, EXECUTION WILL STOP/       00247340
  939.      $  10X,37HTHE LAST TIME FOUND ON THE TAPE WAS =,E16.10//)          00247350
  940.         MODEX=1                                                         00247360
  941.         RETURN                                                          00247370
  942. 114     CONTINUE                                                        00247380
  943.       DELT=DT                                                           00247390
  944.       TETA=1.4E0                                                        00247400
  945.       DELT1=TETA*DELT                                                   00247410
  946.       DELT2=DELT1**2                                                    00247420
  947.       A0=(6.E0+3.E0*ALFA*DELT1)/(DELT2+3.E0*BETA*DELT1)                 00247430
  948.       B0=ALFA-BETA*A0                                                   00247440
  949.       A1=6.E0/DELT2+3.E0*B0/DELT1                                       00247450
  950.       A2=6.E0/DELT1+B0+B0                                               00247460
  951.       A3=2.E0+B0*DELT1/2.E0                                             00247470
  952.       A4=6.E0/(3.E0*BETA*DELT1+DELT2)/TETA                              00247480
  953.       B1=BETA*A4                                                        00247490
  954.       A5=3.E0*B1/DELT1-6.E0/DELT2/TETA                                  00247500
  955.       A6=2.E0*B1-6.E0/DELT1/TETA                                        00247510
  956.       A7=.5E0*B1*DELT1+1.E0-3.E0/TETA                                   00247520
  957.       A8=0.5E0*DELT                                                     00247530
  958.       A9=DELT**2/3.0E0                                                  00247540
  959.       A10=0.5E0*A9                                                      00247550
  960.       IK=0                                                              00247560
  961.       KINC=NT*20/100                                                    00247570
  962.       IF(KINC.LT.1) KINC=1                                              00247580
  963.       DO 240 K=1,NT                                                     00247590
  964.       TIME=DT*K                                                         00247600
  965.       READ (KT) B                                                       00247610
  966.         IF(MIND.EQ.0) GO TO 124                                         00247620
  967.         DO 121 I=1,NEQ                                                  00247630
  968.         IF(B(I).EQ.0.0) GO TO 120                                       00247640
  969.         IF(K.EQ.1) GO TO 119                                            00247650
  970.         GO TO 121                                                       00247660
  971. 119     MASS(I)=MASS(I)*A0                                              00247670
  972.         MASS(I)=-MASS(I)                                                00247680
  973.         IF(MASS(I).EQ.0.0) MASS(I)=-1.0D-20                             00247690
  974.         GO TO 121                                                       00247700
  975.   120 B(I)=B(I)+MASS(I)*(A1*X0(I)+A2*X1(I)+A3*X2(I))                    00247710
  976. 121     CONTINUE                                                        00247720
  977.         GO TO 126                                                       00247730
  978. 124     DO 125 I=1,NEQ                                                  00247740
  979. 125     B(I)=B(I)+MASS(I)*(A1*X0(I)+A2*X1(I)+A3*X2(I))                  00247750
  980. 126     CONTINUE                                                        00247760
  981.       CALL REDVK (A,B,MAXA,NEQB,NWA,NEQ,NBLOCK,MI,MBAND,K)              00247770
  982.         DO 131 I=1,NEQ                                                  00247780
  983.       ACC=A4*B(I)+A5*X0(I)+A6*X1(I)+A7*X2(I)                            00247790
  984.       X0(I)=X0(I)+DELT*X1(I)+A9*X2(I)+A10*ACC                           00247800
  985.       X1(I)=X1(I)+A8*(X2(I)+ACC)                                        00247810
  986.   130 X2(I)=ACC                                                         00247820
  987.         IF(MASS(I).LT.0.0) X0(I)=B(I)                                   00247830
  988. 131     CONTINUE                                                        00247840
  989.       IF(N10SV.LT.1) GO TO 170                                          00247850
  990.       IF(ISAVE(1).LT.1) GO TO 150                                       00247860
  991.       I = K -K/ISAVE(1)*ISAVE(1)                                        00247870
  992.   140 FORMAT(5E16.9)                                                    00247880
  993.       IF(I.EQ.0) WRITE (NT10,140) TIME                                  00247890
  994.       IF(I.EQ.0) WRITE (NT10,140) X0                                    00247900
  995.   150 IF(ISAVE(2).LT.1) GO TO 160                                       00247910
  996.       I = K -K/ISAVE(2)*ISAVE(2)                                        00247920
  997.       IF(I.EQ.0) WRITE (NT10,140) X1                                    00247930
  998.   160 IF(ISAVE(3).LT.1) GO TO 170                                       00247940
  999.       I = K -K/ISAVE(3)*ISAVE(3)                                        00247950
  1000.       IF(I.EQ.0) WRITE (NT10,140) X2                                    00247960
  1001.   170 CONTINUE                                                          00247970
  1002.       L = K - K/NOT*NOT                                                 00247980
  1003.       IF(L.NE.0) GO TO 220                                              00247990
  1004.       IK=IK+1                                                           00248000
  1005.       IF(NSD.LT.1) GO TO 190                                            00248010
  1006.       DO 180 I=1,NSD                                                    00248020
  1007.       J=IDIS(I)                                                         00248030
  1008.   180 SDIS(IK,I)=X0(J)                                                  00248040
  1009.   190 IF(NSS.LT.1) GO TO 210                                            00248050
  1010.       DO 200 I=1,NSS                                                    00248060
  1011.       J=ISTR(I)                                                         00248070
  1012.   200 SSTR(IK,I)=X0(J)                                                  00248080
  1013.   210 IF(IK.NE.MM) GO TO 220                                            00248090
  1014.       IK=0                                                              00248100
  1015.       IF(NSD.GT.0) WRITE (JT) SDIS                                      00248110
  1016.       IF(NSS.GT.0) WRITE (IT) SSTR                                      00248120
  1017.   220 CONTINUE                                                          00248130
  1018.       PER=K*100.0/NT                                                    00248140
  1019.       KPR= MOD(K,KINC)                                                  00248150
  1020.       IF(KPR.EQ.0) WRITE(6,230)PER                                      00248160
  1021.   230 FORMAT(/20X,F7.2, 47H PERCENT OF THE INTEGRATION HAS BEEN COMPLETE00248170
  1022.      $D./)                                                              00248180
  1023.   240 CONTINUE                                                          00248190
  1024.         IF(NT10.EQ.14.AND.N10SV.GE.1)ENDFILE NT10                       00248200
  1025.       WRITE(6,250)                                                      00248210
  1026.   250 FORMAT(/20X, 31HINTEGRATION HAS BEEN COMPLETED.//)                00248220
  1027.       IF(IK.EQ.0) RETURN                                                00248230
  1028.       IF(NSD.GT.0) WRITE (JT) SDIS                                      00248240
  1029.       IF(NSS.GT.0) WRITE (IT) SSTR                                      00248250
  1030.       RETURN                                                            00248260
  1031.       END                                                               00248270
  1032.       SUBROUTINE REDVK (A,VV,MAXA,NEQB,NWA,NEQ,NBLOCK,MI,MA,NCALL)      00202770
  1033.       IMPLICIT REAL*8 (A-H,O-Z)                                         00202780
  1034.       REAL*8  MAXA                                                      00202790
  1035.       DIMENSION      A(NWA),VV(NEQ),MAXA(MI)                            00202800
  1036.       COMMON /TAPES/ NSTIF,NRED,NL,NR,NT,NMASS                          R0202810
  1037.       COMMON /SQZ/ ISQZ,NRSQZ(5)                                        R0202820
  1038.       NWANM=NWA+MI                                                      00202830
  1039.        INC=NEQB - 1                                                     00202840
  1040.       MA1 = MA-1                                                        00202850
  1041.       IF(NBLOCK.EQ.1  .AND.  NCALL.GT.1) GO TO 100                      00202860
  1042.       CALL RDWRT(NRED ,A,1,6,I)                                         00202870
  1043.       CALL EXPAND(A,NWANM,NRED)                                         00202880
  1044.   100 ISA = 1                                                           00202890
  1045.       KSTART = 2                                                        00202900
  1046.       KEND = NEQB                                                       00202910
  1047.   110 N = 1                                                             00202920
  1048.       DO 130 K=KSTART,KEND                                              00202930
  1049.       N = N+1                                                           00202940
  1050.        KL=N + INC                                                       00202950
  1051.        KU=MAXA(N)                                                       00202960
  1052.        IF (KU-KL) 130,120,120                                           00202970
  1053.   120 CONST=VV(K)                                                       00202980
  1054.       CALL QVDOT(VV(K  ),A(KL),VV(K-1),  (KU-KL)/INC+1,INC,-1)          00202990
  1055.       VV(K  )=CONST-VV(K  )                                             00203000
  1056.   130  CONTINUE                                                         00203010
  1057.       IF(ISA.EQ.NBLOCK) GO TO 160                                       00203020
  1058.       KL = NEQB                                                         00203030
  1059.       ML = KEND+1                                                       00203040
  1060.       MR = MIN0(KEND+MA1,NEQ)                                           00203050
  1061.       N = NEQB                                                          00203060
  1062.       DO 150 K=ML,MR                                                    00203070
  1063.       N = N+1                                                           00203080
  1064.        KL=KL + NEQB                                                     00203090
  1065.        KU=MAXA(N)                                                       00203100
  1066.        IF (KU-KL) 150,140,140                                           00203110
  1067.   140 CONST=VV(K)                                                       00203120
  1068.       CALL QVDOT(VV(K  ),A(KL),VV(KEND), (KU-KL)/INC+1,INC,-1)          00203130
  1069.       VV(K  )=CONST-VV(K  )                                             00203140
  1070.   150  CONTINUE                                                         00203150
  1071.   160 KST = KSTART-1                                                    00203160
  1072.       N = 0                                                             00203170
  1073.       DO 180 K=KST,KEND                                                 00203180
  1074.       N = N+1                                                           00203190
  1075.       C = A(N)                                                          00203200
  1076.        IF (C) 170,180,170                                               00203210
  1077.   170 VV(K) = VV(K)/C                                                   00203220
  1078.   180  CONTINUE                                                         00203230
  1079.   190 IF(ISA.EQ.NBLOCK) GO TO 200                                       00203240
  1080.       CALL EXPAND(A,NWANM,NRED)                                         00203250
  1081.        ISA=ISA+1                                                        00203260
  1082.       KSTART = KSTART+NEQB                                              00203270
  1083.       KEND = MIN0(KEND+NEQB,NEQ)                                        00203280
  1084.        GO TO 110                                                        00203290
  1085.   200 IF(ISA.GT.1)                                                      00203300
  1086.      $CALL RDWRT(NRED ,A,1,2,I)                                         00203310
  1087.        ISA=1                                                            00203320
  1088.       NN = NEQ-(NBLOCK-1)*NEQB                                          00203330
  1089.       KEND = NEQ                                                        00203340
  1090.       GO TO 240                                                         00203350
  1091.   210 KEND = KEND-NN                                                    00203360
  1092.       NN = NEQB                                                         00203370
  1093.        KL=NEQB                                                          00203380
  1094.       MR = MIN0(NEQ,KEND+MA1)                                           00203390
  1095.       ML = KEND+1                                                       00203400
  1096.       N = NEQB                                                          00203410
  1097.       DO 230 K=ML,MR                                                    00203420
  1098.       N = N+1                                                           00203430
  1099.        KL=KL+NEQB                                                       00203440
  1100.        KU=MAXA(N)                                                       00203450
  1101.        IF (KU-KL) 230,220,220                                           00203460
  1102.   220 CALL QMR2(VV(KEND),VV(KEND),VV(K ),A(KL),(KU-KL)/INC+1,-1,-1,INC) 00203470
  1103.   230  CONTINUE                                                         00203480
  1104.   240 N = NN                                                            00203490
  1105.       K = KEND                                                          00203500
  1106.       DO 270 L=2,NN                                                     00203510
  1107.        KL=N + INC                                                       00203520
  1108.        KU=MAXA(N)                                                       00203530
  1109.        IF (KU-KL) 260,250,250                                           00203540
  1110.   250 CALL QMR2(VV(K-1 ),VV(K-1 ),VV(K ),A(KL),(KU-KL)/INC+1,-1,-1,INC) 00203550
  1111.   260  N=N - 1                                                          00203560
  1112.   270 K = K-1                                                           00203570
  1113.        IF (ISA.EQ.NBLOCK) GO TO 280                                     00203580
  1114.       CALL RDWRT(NRED ,A,1,2,I)                                         00203590
  1115.       CALL EXPAND(A,NWANM,NRED)                                         00203600
  1116.       CALL RDWRT(NRED ,A,1,2,I)                                         00203610
  1117.        ISA=ISA+1                                                        00203620
  1118.        GO TO 210                                                        00203630
  1119.   280  RETURN                                                           00203640
  1120.       END                                                               00203650
  1121.