home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 9 / 09.iso / e / e003 / 9.ddi / SAP6PC5.FOR < prev   
Encoding:
Text File  |  1987-06-23  |  101.9 KB  |  1,280 lines

  1.       PROGRAM SAP6P5                                                    R0001101
  2.       IMPLICIT REAL*8(A-H,O-Z)                                          00001100
  3.       LOGICAL ELPRT,ELPCH,GENPRT,GENPCH,DEFPCH,GEOST                    00001110
  4.       COMMON/BMDATA/IAISC,ILDTYP,ILDMUL,IBMSEC,NLWAVE,ILOCAL            00001120
  5.       COMMON/EQUILB/NEQIL,NX43                                          00001130
  6.       COMMON/CTL/ELPRT,ELPCH,GENPRT,GENPCH                              00001140
  7.       COMMON / JUNK / DUK(227)                                          00001150
  8.       REAL*8  NPAR                                                      00001160
  9.       COMMON /QTSARG/ QQQ(1000)                                         00001170
  10.       COMMON/DYN3/ NEIG,NAD,ANORM,NVV,NFO                               00001180
  11.       COMMON /DYN4/KDYN,NRESS,NCRD,NCWT,NRESS1                          00001190
  12.       COMMON /DYN5/FRSHFT,FRINIT,FREND,MODEFR,NOSS                      00001200
  13.        COMMON /TAPES/NSTIF,NRED,NL,NR,NT,NMASS                          00001210
  14.       COMMON /EXTRA/MODEX,NT8,N10SV,NT10,KEQB,NY,T(10)                  00001220
  15.       COMMON/GEOSTF/GEOST,NELGEO                                        00001230
  16.       COMMON/MASS/LMASS                                                 00001240
  17.       COMMON/MATL/MATLCO                                                R0001241
  18.       COMMON/SIZE/NDMX,MXDF,NSMX,NTERM,NADND                            00001250
  19.       COMMON/SLVE/NSLAVE                                                00001260
  20.       COMMON /ELPAR/ NPAR(14),NUMNP,MBAND,NELTYP,N1,N2,N3,N4,N5,MTOT,NEQ00001270
  21.      $ ,N2P,N3P,NMRI,NTRI,N1P,NUMEL,NUMEL2,KZ(20,2),NEMN                00001280
  22.       COMMON / MISC / NBLOCK,NEQB,LL,NFREQ,LB                           00001290
  23.       COMMON/AMB/ GRAV,REFT,JROT                                        00001300
  24.       COMMON /PREP/ XMX,XAD,KSKIP,NDYN,I1,I99,POS,PRTCOD                00001310
  25.      $              ,POSSAV,PRTOFF,PRTON,PRTDUM,IDIRC                   00001320
  26.       COMMON /DYN/ IFIL1(11),IFIL2                                      00001330
  27.       COMMON/ELARRY/NELAR(4,20)                                         00001340
  28.       COMMON /ELTEMP/ SET1(103)                                         00001350
  29.      $       /OUT/KSET2(6),KELRST,MAXDF,IFIL3(2)                        00001360
  30.      $       /SQZ/    SET3,LIST,LISTC,LISTB,LISTA                       00001370
  31.      $       /TRASH/  SET4(490)                                         00001380
  32.      $       /GPS/    SET5(10)                                          00001390
  33.      $       /CG/     SET6(4),RFIL1(2)                                  00001400
  34.      $       /TAPES/ SET7(6)                                            00001410
  35.      $       /DYN2/KSET8(3),NFVC,SET8(12)                               00001420
  36.       COMMON /WORDS/ NWDS(30,2)                                         00001430
  37.       COMMON /BAND/  NRNM(3),IRSK,IFIL4(4)                              00001440
  38.       COMMON /HEADIN/TITLE1(20),TITLE2(5),TITLE3(10)                    00001450
  39.       COMMON /SUPEL/ NSELEM,NEQL,NODESE                                 00001460
  40.      $,KSET(3)                                                          00001470
  41.       COMMON/FORCE/ NLC,NELD                                            00001480
  42.         COMMON/DAPG/NQ1,NQX,DUMY(210)                                   00001490
  43.       COMMON/VAXPLT/IVPLT,XVB(6),XVA(4),MINX,MINY,LEN                   00001500
  44.       COMMON /ICM/ICOMP,MMRI,MTRI,M1P,M2P,M3P                           00001510
  45.       COMMON/PLOTH/IPLT,IPLWRT                                          00001520
  46.       COMMON/COMMT/NTYP,NNRRC,NNRRC1                                    R0001521
  47.       COMMON/COMMT1/NDSSS,KDSSS,NTY,NSLDM,NBLANK,MDYN,NE2B,KRK1,MCB,MLT R0001522
  48.       DIMENSION KZN(20),ZD(31)                                          00001530
  49.       DIMENSION NEXPDT(2),NOWDTE(4)                                     00001540
  50.       COMMON A(1)                                                       00001550
  51.       DATA KZN/2,7,1,2,7,7,10,7,21,1177,6,51,10,21,9,7,8,5,0,0/         00001560
  52.       DATA NEXPDT/78,222/                                               00001570
  53.       WRITE (*,990)                                                     R0001611
  54.   990 FORMAT (5X,'********** PROGRAM SAP6PC5 STARTING *********')       R0001612
  55.       CALL SIZER5                                                       R0001612
  56.       MTOTR = MTOT                                                      R0001613
  57.       CALL COMMRW(1)                                                    R0001612
  58.       MTOT  = MTOTR                                                     R0001613
  59.       WRITE (6,1099) MTOT
  60.  1099 FORMAT (5X,'**** MTOT IN SAP6PC5 ****',3X,I5/)
  61.       IF (NNRRC .EQ. 330) GO TO 330                                     R0001613
  62.       IF (NDYN .GT. 11) GO TO 330                                       R0001614
  63.       IF (NDYN .EQ. 8)  GO TO 330                                       R0001617
  64.       IF (MDYN .EQ. 5) GO TO 350                                        R0001621
  65.       IF (MDYN .EQ. 6) GO TO 360                                        R0001622
  66.       IF (MDYN .EQ. 7 .OR. MDYN .EQ. 13) GO TO 410                      R0001623
  67.       IF (MDYN .EQ. 8) GO TO 460                                        R0001634
  68.       IF (NDYN .LE.1 .AND. KSKIP .EQ. 1) GO TO 330                      R0001635
  69.       IF (NDYN .NE. 11 .AND. NELGEO .NE. 1) GO TO 1410                  R0001636
  70.       CALL ADDGEO(A(N1),A(NN2),A(NN3),A(NN4),A(NN5),A(NN6),NUMET,NBLOCK,00006140
  71.      $NE2B,LL,MBAND,NEQB,NEMN,ANORM,NVV,MGA)                            00006150
  72.       CALL SECOND(T(8))                                                 00006160
  73.       TT1=T(5)                                                          00006170
  74.       TT2=T(8)                                                          00006180
  75.       DO 1340 I=5,7                                                     00006190
  76.  1340 T(I)=T(I+1)-T(I)                                                  00006200
  77.       T(8)=T(5)+T(6)+T(7)                                               00006210
  78.       WRITE(6,560)(T(I),I=5,8)                                          00006220
  79.       T(5)=TT1                                                          00006230
  80.       T(6)=TT2                                                          00006240
  81.       IF(NDYN.GT.3.AND.NDYN.LT.7) GO TO 1360                            00006250
  82.       LMASS=1                                                           00006260
  83.       NMASS=25                                                          00006270
  84.       GO TO 355                                                         00006280
  85.  1360 CONTINUE                                                          00006290
  86.       IF(NDYN.EQ.4) GO TO 355                                           00006300
  87.       IF(NDYN.EQ.5) GO TO 365                                           00006310
  88.       IF(NDYN.EQ.6) GO TO 415                                           00006320
  89.  1410 CONTINUE                                                          00006330
  90.       IF(NDYN.EQ.2) CALL HISTRY                                         00006340
  91.       IF(NDYN.EQ.3) CALL RESPEC                                         00006350
  92.         IF(NDYN.EQ.10) CALL PASS                                        00006360
  93.   330 CALL SECOND (T(7))                                                00006370
  94.       DO 340 I=1,6                                                      00006380
  95.   340 T(I)=T(I+1)-T(I)                                                  00006390
  96.       T(7)=T(1)+T(2)+T(3)+T(4)+T(5)+T(6)                                00006400
  97.       WRITE(6,520)(T(I),I=1,7)                                          00006410
  98.       GO TO 500                                                         00006420
  99.   350 T(6) = T(5)                                                       00006430
  100.   355 CONTINUE                                                          00006440
  101.         IF(KSKIP.EQ.0) CALL EIGEN                                       00006450
  102.       CALL SECOND (T(7))                                                00006460
  103.       T(8) = T(7)                                                       00006470
  104.       T(9) = T(7)                                                       00006480
  105.       T(10)= T(7)                                                       00006490
  106.       GO TO 480                                                         00006500
  107.   360 T(6) = T(5)                                                       00006510
  108.   365 CONTINUE                                                          00006520
  109.       IF(KDYN.LT.0) GO TO 370                                           00006530
  110.       CALL EIGEN                                                        00006540
  111.       CALL SECOND (T(7))                                                00006550
  112.       KSKIP=MODEX                                                       00006560
  113.       GO TO 400                                                         00006570
  114.   370 DO 380 I=1,6                                                      00006580
  115.   380 T(I+1)=T(I)                                                       00006590
  116.       IF(NRESS.EQ.0) REWIND NCRD                                        00006600
  117.       READ(NCRD)NEQ,NBLOCK,NEQB,MBAND,N1,NF,(QQQ(I),I=1,NF)             00006610
  118.       NWW=NEQB*NF                                                       00006620
  119.       CALL RDWRT(NCRD,A(N1),NF,14,I)                                    00006630
  120.       CALL RDWRT(NT,A(N1),NF,6,I)                                       00006640
  121.       CALL RDWRT(NT,A(N1),NF,13,I)                                      00006650
  122.       DO 390 L=1,NBLOCK                                                 00006660
  123.       CALL RDWRT(NCRD,A(N1),NWW,14,I)                                   00006670
  124.       CALL RDWRT(NT,A(N1),NWW,13,I)                                     00006680
  125.   390 CONTINUE                                                          00006690
  126.       WRITE(6,395)NCRD,NF                                               00006700
  127.   395 FORMAT(55H  A PREVIOUSLY GENERATED EIGEN-SOLUTIONS HAVE BEEN READ,00006710
  128.      $8HOFF TAPE/                                                       00006720
  129.      $       13H UNIT NUMBER=,I5/                                       00006730
  130.      $       30H  NUMBER OF FREQUENCIES FOUND=,I5//)                    00006740
  131.   400 CALL HISTRY                                                       00006750
  132.       MODEX=KSKIP                                                       00006760
  133.       CALL SECOND (T(8))                                                00006770
  134.       T(9) = T(8)                                                       00006780
  135.       T(10)= T(8)                                                       00006790
  136.       GO TO 480                                                         00006800
  137.   410 T(6) = T(5)                                                       00006810
  138.   415 CONTINUE                                                          00006820
  139.       IF(KDYN.LT.0) GO TO 420                                           00006830
  140.         IF(KSKIP.EQ.0) CALL EIGEN                                       00006840
  141.       CALL SECOND (T(7))                                                00006850
  142.       T(8) = T(7)                                                       00006860
  143.       KSKIP=MODEX                                                       00006870
  144.       GO TO 450                                                         00006880
  145.   420 DO 430 I=1,7                                                      00006890
  146.   430 T(I+1)=T(I)                                                       00006900
  147.       IF(NRESS.EQ.0) REWIND NCRD                                        00006910
  148.       READ(NCRD)NEQ,NBLOCK,NEQB,MBAND,N1,NF,(QQQ(I),I=1,NF)             00006920
  149.       NWW=NEQB*NF                                                       00006930
  150.       CALL RDWRT(NCRD,A(N1),NF,14,I)                                    00006940
  151.       CALL RDWRT(NT,A(N1),NF,6,I)                                       00006950
  152.       CALL RDWRT(NT,A(N1),NF,13,I)                                      00006960
  153.       DO 440 L=1,NBLOCK                                                 00006970
  154.       CALL RDWRT(NCRD,A(N1),NWW,14,I)                                   00006980
  155.       CALL RDWRT(NT,A(N1),NWW,13,I)                                     00006990
  156.   440 CONTINUE                                                          00007000
  157.       WRITE(6,395)NCRD,NF                                               00007010
  158. 450     CONTINUE                                                        00007020
  159.         IF(NDSSS.EQ.6)CALL RESPEC                                       00007030
  160.         IF(NDSSS.EQ.12)CALL FRFREQ                                      00007040
  161.         MODEX=KSKIP                                                     00007050
  162.       CALL SECOND (T(9))                                                00007060
  163.       T(10)= T(9)                                                       00007070
  164.       GO TO 480                                                         00007080
  165.   460 DO 470 I=6,9                                                      00007090
  166.   470 T(I) = T(5)                                                       00007100
  167.       CALL STEP                                                         00007110
  168.       CALL SECOND (T(10))                                               00007120
  169.   480 TT = 0.0                                                          00007130
  170.       DO 490 I=1,9                                                      00007140
  171.       T(I) = T(I+1)-T(I)                                                00007150
  172.       TT = TT + T(I)                                                    00007160
  173.   490 CONTINUE                                                          00007170
  174.         T(10)=0.                                                        00007180
  175.         IF(NDSSS.EQ.12)T(10)=T(8)                                       00007190
  176.         IF(NDSSS.EQ.12)T(8)=0.                                          00007200
  177.       WRITE (6,530) (T(K),K=1,10),TT                                    00007210
  178.       KSKIP=MODEX                                                       00007220
  179.   500 CALL RDWRT(1,A(1),1,12,I)                                         00007230
  180.       N1=1                                                              00007240
  181.       NF=NFREQ                                                          00007250
  182.       IF(NDYN.GT.0.AND.NDYN.LT.8) LL=NF                                 00007260
  183.       N2=N1+NEQB*LL                                                     00007270
  184.       N3=MAXDF*LL+MAXDF+2                                               00007280
  185.       N4=N2+N3+10                                                       00007290
  186.       LB=(MTOT-N4)/NEQ                                                  00007300
  187.       IF(LB.GT.LL)  LB=LL                                               00007310
  188.       N4=N2+NEQ*LB                                                      00007320
  189.       N3=MTOT-N3-1+MAXDF+2                                              00007330
  190.       IF(KELRST.EQ.1) GO TO 505                                         00007340
  191.       CALL RECUVR (A(N1),A(N2),A(N4),A(N3),A(N1),LB,LL,NEQ,NEQB,NBLOCK, 00007350
  192.      $MAXDF)                                                            00007360
  193.   505 CONTINUE                                                          00007370
  194.         KSKIP1=KSKIP                                                    00007380
  195.       IF (KSKIP.EQ.0)KSKIP=10                                           00007390
  196. CCR   IF(IPLT.NE.0) CALL SAPLOT(LL,NFREQ,MDYN,NEQB,NEQ,NBLOCK,IPLT      00007400
  197. CCR  &,KSKIP1)                                                          00007410
  198.       CALL COMMRW (0)                                                   R0007411
  199.       WRITE (*,1095)                                                    R0007411
  200.  1095 FORMAT (5X,'************ SAP6PC TOTILE FINISHED ***********')     R0007420
  201.   520 FORMAT ( 12H1OVERALL LOG //                                       00007470
  202.      $         33H  F.E. MODEL INPUT.............. ,F8.2//              00007480
  203.      $         33H  FORM ELEMENT STIFFNESSES...... ,F8.2//              00007490
  204.      $         33H  INPUT NODAL LOADS............. ,F8.2//              00007500
  205.      $         33H  FORM TOTAL STIFFNESS.......... ,F8.2//              00007510
  206.      $         33H  EQUATION SOLVING.............. ,F8.2//              00007520
  207.      $         33H  PARTICULAR SOLUTION(ABOVE).... ,F8.2///             00007530
  208.      $         33H  TOTAL SOLUTION TIME........... ,F8.2)               00007540
  209.   530 FORMAT (1X ,31HO V E R A L L   T I M E   L O G, //                00007550
  210.      $ 5X,30HF.E. MODEL INPUT             =, F8.2 /                     00007560
  211.      $ 5X,30HELEMENT STIFFNESS FORMATION  =, F8.2 /                     00007570
  212.      $ 5X,30HNODAL LOAD INPUT             =, F8.2 /                     00007580
  213.      $ 5X,30HTOTAL STIFFNESS FORMATION    =, F8.2 /                     00007590
  214.      $ 5X,30HSTATIC ANALYSIS              =, F8.2 /                     00007600
  215.      $ 5X,30HEIGENVALUE EXTRACTION        =, F8.2 /                     00007610
  216.      $ 5X,30HFORCED RESPONSE ANALYSIS     =, F8.2 /                     00007620
  217.      $ 5X,30HRESPONSE SPECTRUM ANALYSIS   =, F8.2 /                     00007630
  218.      $ 5X,30HSTEP-BY-STEP INTEGRATION     =, F8.2 /                     00007640
  219.      &  5X,30HSINUSOIDAL FREQUENCY ANALYSIS=,F8.2//                     00007650
  220.      $ 5X,30HTOTAL SOLUTION TIME          =, F8.2 /)                    00007660
  221.   560 FORMAT( 25H1STATIC SOLUTION TIME LOG,//,                          00007730
  222.      $ 5X,51HEQUATION SOLVING...................................,F8.2/, 00007740
  223.      $ 5X,51HSTRESS AND ELEMENT GEOMETRIC MATRIX COMPUTATION....,F8.2/, 00007750
  224.      $ 5X,51HFORM TOTAL GEOMETRIC STIFFNESS.....................,F8.2//,00007760
  225.      $ 5X,51HTOTAL SOLUTION TIME (SUM OF THE ABOVE).............,F8.2//)00007770
  226.       STOP                                                              R0007771
  227.       END                                                               00007780
  228.       SUBROUTINE SECOND(T)                                              00234270
  229.       IMPLICIT REAL*8 (A-H,O-Z)                                         00234280
  230.       CALL GETTIM(NA,NB,NC,ND)                                          R0234281
  231.       AA = NA * 100.0                                                   R0234282
  232.       CC = NC                                                           R0234283
  233.       CC = CC / 100.0                                                   R0234284
  234.       T  = AA + NB + CC                                                 R0234285
  235.       RETURN                                                            00234300
  236.       END                                                               R0234286
  237.       SUBROUTINE ERROR(I)                                               00086230
  238.       IMPLICIT REAL*8(A-H,O-Z)                                          00086240
  239.       REAL*8  X                                                         00086250
  240.       COMMON /EXTRA/ MODEX,NREXTR(25)                                   R0086260
  241.       COMMON /PREP/ X(2),KSKIP,RRPREP(8)                                R0086270
  242.       KSKIP=1                                                           00086280
  243.       MODEX=1                                                           00086290
  244.       WRITE(6,100)I                                                     00086300
  245.   100 FORMAT (1H0//1X,30HALLOCATED STORAGE EXCEEDED BY   ,I7,6H WORDS)  00086310
  246.       WRITE(6,110)                                                      00086320
  247.   110 FORMAT(/1X, 29HNO EXECUTION WILL BE ALLOWED./)                    00086330
  248.       RETURN                                                            00086340
  249.       END                                                               00086350
  250.       SUBROUTINE RDWRT(JT,A,NUM,N,J)                                    00199630
  251.       IMPLICIT REAL*8(A-H,O-Z)                                          00199640
  252.       REAL*8 A                                                          00199650
  253.       COMMON /WORDS/ NWDS(30,2)                                         00199660
  254.       DIMENSION A(NUM)                                                  00199670
  255.       DIMENSION IUNIT(41)                                               00199680
  256.       DATA                                                              00199690
  257.      $    IUNIT/21,22,23,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,     00199700
  258.      $20,1,62,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41/ R0199710
  259.       NT=IUNIT(JT)                                                      00199720
  260.       K=N+1                                                             00199730
  261.       LNTRC=NUM*8                                                       00199740
  262.       GO TO (100,110,120,130,230,140,150,                               00199750
  263.      $230,230,230,230,                                                  00199760
  264.      $160,180,210,220),K                                                00199770
  265.   100 CONTINUE
  266. CC    WRITE (6,109) NT,J,K,JT,N
  267. C109  FORMAT (5X,'****** NT,J,K,JT,N  ******* =', 5I5)
  268.       READ (NT) J                                                       R0199780
  269.       CALL RDA(NT,A,J)                                                  00199790
  270.       RETURN                                                            00199800
  271.  110  CONTINUE                                                          R0199801
  272. CC    WRITE (6,1009) NT,J,K,JT,N,NUM
  273. C1009 FORMAT (5X,'****** WRITE (NT,J,K,JT,N) ******* =', 6I5)
  274.       WRITE (NT) NUM                                                    R0199810
  275.       WRITE (NT) A                                                      00199820
  276.       NWDS(NT,1)=NWDS(NT,1)+NUM                                         00199830
  277.       RETURN                                                            00199840
  278.   120 CONTINUE                                                          R0199841
  279. CC    WRITE (6,1008) NT,J,K,JT,N
  280. C1008 FORMAT (5X,'****** BACKSPACE (NT,J,K,JT,N) ******* =', 5I5)
  281.       BACKSPACE NT                                                      R0199850
  282.       BACKSPACE NT                                                      00199860
  283.       RETURN                                                            00199870
  284.   130 READ (NT)                                                         00199880
  285.       READ (NT)                                                         00199890
  286.       RETURN                                                            00199900
  287.   140 READ (NT) J,A                                                     00199910
  288.       RETURN                                                            00199920
  289.   150 REWIND NT                                                         00199930
  290.       IF(NWDS(NT,1).GT.NWDS(NT,2)) NWDS(NT,2)=NWDS(NT,1)                00199940
  291.          NWDS(NT,1)=0                                                   00199950
  292.       RETURN                                                            00199960
  293.   160 DO 170 I=1,20                                                     00199970
  294.       DO 170 J=1,2                                                      00199980
  295.   170 NWDS(I,J)=0                                                       00199990
  296.       RETURN                                                            00200000
  297.   180 DO 200 I=1,20                                                     00200010
  298.       J=NWDS(I,1)                                                       00200020
  299.       IF(NWDS(I,2).GT.J) J=NWDS(I,2)                                    00200030
  300.       IF(J.GT.0) WRITE(6,190)I,J                                        00200040
  301.   190 FORMAT(//20X,13HDISK FILE NO.,I3,25H  WAS REQUIRED TO STORE A,    00200050
  302.      $12H  MAXIMUM OF,1X,I9,18H WORDS OF STORAGE./)                     00200060
  303.   200 CONTINUE                                                          00200070
  304.       RETURN                                                            00200080
  305.   210 WRITE(NT) A                                                       00200090
  306.       NWDS(NT,1)=NWDS(NT,1)+NUM                                         00200100
  307.       RETURN                                                            00200110
  308.  220  READ(NT)A                                                         00200120
  309.   230 RETURN                                                            00200130
  310.       END                                                               00200140
  311.       SUBROUTINE  RDA(NT,A,NUM)                                         00196460
  312.       REAL*8 A                                                          00196470
  313.       DIMENSION A(NUM)                                                  00196480
  314.       READ (NT) A                                                       00196490
  315.       RETURN                                                            00196500
  316.       END                                                               00196510
  317.       SUBROUTINE FILES(NN)
  318.       RETURN
  319.       END
  320.       BLOCKDATA                                                         00007790
  321.       IMPLICIT REAL*8(A-H,O-Z)                                          00007800
  322.         COMMON/HEADIN/TITLE1(20),TITLE2(5),TITLE3(10)                   00007810
  323.       COMMON/ELARRY/NELAR(4,20)                                         00007820
  324.       COMMON /GASS/ XK(4,4),WGT(4,4),IPERM(3)                           00007830
  325.       COMMON/GASS2/A5(7,2),W5(7)                                        00007840
  326.       COMMON /PREP/XMX,XAD,KSKIP,NDYN,I1,I99,POS,PRTCOD                 00007850
  327.      1,POSSAV,PRTOFF,PRTON,PRTDUM,IDIRC                                 00007860
  328.       DATA XK /     0.D0,     0.D0,               0.D0,            0.D0,00007870
  329.      $ -.5773502691896D0, .5773502691896D0,     0.D0,              0.D0,00007880
  330.      $ -.7745966692415D0, .0000000000000D0, .7745966692415D0,      0.D0,00007890
  331.      $ -.8611363115941D0,-.3399810435849D0, .3399810435849D0,           00007900
  332.      $.8611363115941D0/                                                 00007910
  333.       DATA WGT / 2.000D0,     0.D0,          0.D0,           0.D0,      00007920
  334.      $ 1.0000000000000D0,1.0000000000000D0,  0.D0,           0.D0,      00007930
  335.      $  .5555555555556D0, .8888888888889D0, .5555555555556D0,0.D0,      00007940
  336.      $  .3478548451375D0, .6521451548625D0, .6521451548625D0,           00007950
  337.      $  .3478548451375D0/                                               00007960
  338.       DATA IPERM / 2,3,1 /                                              00007970
  339.       DATA  A5(1,1)/-0.333333333333D0/,A5(2,1)/-0.88056825640D0/        00007980
  340.       DATA  A5(3,1)/-0.05971587178D0/,A5(4,1)/-0.05971587178D0/         00007990
  341.       DATA  A5(5,1)/ 0.59485397070D0/, A5(6,1)/-0.79742698530D0/        00008000
  342.       DATA  A5(7,1)/-0.79742698530D0/, A5(1,2)/-0.333333333333D0/       00008010
  343.       DATA  A5(2,2)/-0.05971587178D0/, A5(3,2)/-0.88076825640D0/        00008020
  344.       DATA  A5(4,2)/-0.05971587178D0/ ,A5(5,2)/-0.79742698530D0/        00008030
  345.       DATA  A5(6,2)/ 0.59485397070D0/ ,A5(7,2)/-0.79742698530D0/        00008040
  346.       DATA    W5(1)/ 0.225        D0/,  W5(2)/ 0.13239415   D0/         00008050
  347.       DATA    W5(3)/ 0.13239415   D0/,  W5(4)/ 0.13239415   D0/         00008060
  348.       DATA    W5(5)/ 0.12593918   D0/,  W5(6)/ 0.12593918   D0/         00008070
  349.       DATA    W5(7)/ 0.12593918   D0/                                   00008080
  350.       DATA NELAR /                                                      00008090
  351.      $   2,   2,   6,   2,                                              00008100
  352.      $   3,   2,  12,  28,                                              00008110
  353.      $   4,   4,  12,   8,                                              00008120
  354.      $   4,   4,   8,   4,                                              00008130
  355.      $   8,   8,  33,  54,                                              00008140
  356.      $   4,   4,  42,  24,                                              00008150
  357.      $   1,   1,   1,   1,                                              00008160
  358.      $   4,   4,   8,   4,                                              00008170
  359.      $   3,   2,  12,  39,                                              00008180
  360.      $  20,  20,  60,  54,                                              00008190
  361.      $   8,   8,  16,  52,                                              00008200
  362.      $   8,   8,  16,  52,                                              00008210
  363.      $   8,   8,  16,  52,                                              00008220
  364.      $   4,   1,   6,   6,                                              00008230
  365.      $   8,   8,  48,   6,                                              00008240
  366.      $   20*0/                                                          00008250
  367.       DATA TITLE2/4H    ,4HSAP6,4H    ,4HVER.,4H 2.0/                   00008260
  368.       DATA TITLE3(3)/4H LPI/,TITLE3(4)/4HAUTO/,TITLE3(5)/54./           00008330
  369.       DATA POS/3H   /,PRTCOD/3H   /                                     00008340
  370.       DATA POSSAV/3H   /,PRTOFF/3HOFF/,PRTON/3HON-/,PRTDUM/3HDUM/       00008350
  371.       DATA IDIRC/0/                                                     00008360
  372.       END                                                               00008370
  373.       SUBROUTINE RECUVR(B,D,SA,DISP,DISP2,LB,LL,NEQ,NEQB,NBLKS,MAXDF)   00200150
  374.       IMPLICIT REAL*8(A-H,O-Z)                                          00200160
  375.        DIMENSION D(NEQ,LB),B(NEQB,LL)                                   00200170
  376.      &,SA(1),DISP(1),DISP2(1),IU(11)                                    00200180
  377.       COMMON /PREP/XZ(2),KSKIP,NDYN,NRPREP(15)                          R0200190
  378.       COMMON /ELPAR/ XP(14),IDUM(15),NUMEL,NUMEL2,NRELPA(41)            R0200200
  379.       COMMON /SUPEL/NSELEM,NRSUPE(5)                                    R0200210
  380.       DATA IU/15,10,-1, 2,10,-1, 2,-1,-1,15,2/                          00200220
  381.         CALL FILES(6)                                                   00200230
  382.       IF(KSKIP.EQ.1) RETURN                                             00200240
  383.       IF(NSELEM.LE.0) RETURN                                            00200250
  384.       NT=IU(NDYN+1)                                                     00200260
  385.       IF(NT.LE.0) RETURN                                                00200270
  386.       NUMET=NUMEL+NUMEL2                                                00200280
  387.       NEMN=MAXDF+2                                                      00200290
  388.       NT1=1                                                             00200300
  389.       N18=18                                                            00200310
  390.       N17=17                                                            00200320
  391.       N27=27                                                            00200330
  392.       N1=N18                                                            00200340
  393.       N2=N17                                                            00200350
  394.       LH=0                                                              00200360
  395.       MT=(LL-1)/LB+1                                                    00200370
  396.       REWIND N1                                                         00200380
  397.       REWIND N2                                                         00200390
  398.       REWIND NT                                                         00200400
  399.       DO 190 II=1,MT                                                    00200410
  400.       LT=LH+1                                                           00200420
  401.       LLT=1-LT                                                          00200430
  402.       LH=LT+LB-1                                                        00200440
  403.       IF(LH.GT.LL) LH=LL                                                00200450
  404.       IF(NT.EQ.15) GO TO 120                                            00200460
  405.       REWIND NT                                                         00200470
  406.       NQ=NEQB*NBLKS                                                     00200480
  407.       NWRDS=LL*4                                                        00200490
  408.       READ (NT)                                                         00200500
  409.       DO 110 NN=1,NBLKS                                                 00200510
  410.       READ (NT) B                                                       00200520
  411.       N=NEQB                                                            00200530
  412.       IF(NN.EQ.1) N=NEQ-NQ+NEQB                                         00200540
  413.       NQ=NQ-NEQB                                                        00200550
  414.       DO 110 J=1,N                                                      00200560
  415.       I=NQ+J                                                            00200570
  416.       DO 110 L=LT,LH                                                    00200580
  417.       K=LLT+L                                                           00200590
  418.   110 D(I,K)=B(J,L)                                                     00200600
  419.       GO TO 140                                                         00200610
  420.   120 DO 130 L=LT,LH                                                    00200620
  421.       K=L+LLT                                                           00200630
  422.   130 READ(NT) (D(I,K),I=1,NEQ)                                         00200640
  423.   140 CALL RDWRT(NT1,SA,1,6,J)                                          00200650
  424.       DO 150 I=1,NUMET                                                  00200660
  425.   150 CALL RDWRT(NT1,SA,1,3,KOUNT)                                      00200670
  426.       DO 180 I=1,NSELEM                                                 00200680
  427.       IF(II.EQ.1) GO TO 160                                             00200690
  428.       READ (N1)M,N,ND,LX                                                00200700
  429.       NWD=ND*LX                                                         00200710
  430.       READ (N1) (DISP(J),J=1,NWD)                                       00200720
  431.   160 CONTINUE                                                          00200730
  432.       CALL RDWRT(NT1,SA,NEMN,0,KOUNT)                                   00200740
  433.       ND=SA(KOUNT)                                                      00200750
  434.       M= SA(KOUNT-1)                                                    00200760
  435.       DO 170 J=1,ND                                                     00200770
  436.       JJ=SA(J)                                                          00200780
  437.       DO 170 L=LT,LH                                                    00200790
  438.       K=L+LLT                                                           00200800
  439.       NWD=J+ND*(L-1)                                                    00200810
  440.   170 DISP(NWD)=D(JJ,K)                                                 00200820
  441.       WRITE (N2) M,I,ND,LL                                              00200830
  442.       NWD=ND*LL                                                         00200840
  443.       WRITE (N2)  (DISP(N),N=1,NWD)                                     00200850
  444.   180 CONTINUE                                                          00200860
  445.       IF(II.EQ.MT) GO TO 190                                            00200870
  446.       REWIND N1                                                         00200880
  447.       REWIND N2                                                         00200890
  448.       LX=N1                                                             00200900
  449.       N1=N2                                                             00200910
  450.       N2=LX                                                             00200920
  451.   190 CONTINUE                                                          00200930
  452.       REWIND N27                                                        00200940
  453.       NEL=0                                                             00200950
  454.   200 READ (N27,END=220) M,N,ND,LX                                      00200960
  455.   210 IF(M.LE.0) GO TO 220                                              00200970
  456.       NEL=NEL+1                                                         00200980
  457.       WRITE(N2) M,N,ND,LX                                               00200990
  458.       NWD=ND*LX                                                         00201000
  459.       READ (N27)  (DISP2(J),J=1,NWD)                                    00201010
  460.       WRITE(N2)   (DISP2(J),J=1,NWD)                                    00201020
  461.       GO TO 200                                                         00201030
  462.   220 REWIND N27                                                        00201040
  463.       REWIND N2                                                         00201050
  464.       IF(NEL.EQ.0) GO TO 240                                            00201060
  465.       DO 230 I=1,NEL                                                    00201070
  466.       READ (N2) M,N,ND,LX                                               00201080
  467.       WRITE(N27)M,N,ND,LX                                               00201090
  468.       NWD=ND*LX                                                         00201100
  469.       READ (N2)   (DISP2(J),J=1,NWD)                                    00201110
  470.   230 WRITE(N27)  (DISP2(J),J=1,NWD)                                    00201120
  471.   240 DO 250 I=1,NSELEM                                                 00201130
  472.       READ (N2) M,N,ND,LX                                               00201140
  473.       WRITE(N27)M,N,ND,LX                                               00201150
  474.       NWD=ND*LX                                                         00201160
  475.       READ (N2)   (DISP2(J),J=1,NWD)                                    00201170
  476.   250 WRITE(N27)  (DISP2(J),J=1,NWD)                                    00201180
  477.       RETURN                                                            00201190
  478.       END                                                               00201200
  479.       SUBROUTINE UNPKID(ID,NUMNP,X,COORD,MODE,N,IDOF)                   00317660
  480.       IMPLICIT REAL*8 (A-H ,O-Z)                                        00317670
  481.       REAL*8  ID                                                        00317680
  482.       DIMENSION ID(NUMNP,3)                                             00317690
  483.       COMMON /PREP/XMX,XAD,J1(2),I1,RRPREP(7)                           R0317700
  484.       GO TO (100,110),MODE                                              00317710
  485.   100 X=ID(N,IDOF)                                                      00317720
  486.       K=X                                                               00317730
  487.       IF(X.LT.0.0) K=K-1                                                00317740
  488.       COORD=(X-K-XAD)*XMX                                               00317750
  489.       RETURN                                                            00317760
  490.   110 JJ=IDOF                                                           00317770
  491.       IF(IDOF.GE.4) GO TO 120                                           00317780
  492.       NNN=ID(N,JJ)                                                      00317790
  493.       IF(NNN.LT.0) GO TO 115                                            00317800
  494.       NNN= MOD(NNN,I1)                                                  00317810
  495.       GO TO 117                                                         00317820
  496.   115 CONTINUE                                                          00317830
  497.       IF(IABS(NNN).GT.I1) GO TO 116                                     00317840
  498.       NNN=MOD(NNN,I1)                                                   00317850
  499.       IF(NNN.LT.0) NNN=0                                                00317860
  500.       GO TO 117                                                         00317870
  501.   116 NNN=1-NNN                                                         00317880
  502.       NNN=MOD(NNN,I1)                                                   00317890
  503.       GO TO 117                                                         00317900
  504.   117 X=NNN                                                             00317910
  505.       RETURN                                                            00317920
  506.   120 JJ=JJ-3                                                           00317930
  507.       NNN=ID(N,JJ)                                                      00317940
  508.                                                                         00317950
  509.       IF(NNN.GE.0) GO TO 130                                            00317960
  510.       IF(IABS(NNN).LT.I1) GO TO 130                                     00317970
  511.       NN2=NNN/I1                                                        00317980
  512.       NNN=-NN2                                                          00317990
  513.       GO TO 140                                                         00318000
  514.   130 CONTINUE                                                          00318010
  515.       NN2=MOD(NNN,I1)                                                   00318020
  516.       NNN=NNN/I1                                                        00318030
  517.       IF(NNN.GT.0) NNN=NNN+NN2                                          00318040
  518.       IF(NN2.LT.0) NNN=1-NN2                                            00318050
  519.   140 CONTINUE                                                          00318060
  520.       X=NNN                                                             00318070
  521.       RETURN                                                            00318080
  522.       END                                                               00318090
  523.       SUBROUTINE QVCOPY(FROM,TO,N)                                      00193850
  524.       REAL*8 FROM,TO                                                    00193860
  525.       DIMENSION FROM(1),TO(1)                                           00193870
  526.       DO 100 I=1,N                                                      00193880
  527.   100 TO(I)=FROM(I)                                                     00193890
  528.       RETURN                                                            00193900
  529.       END                                                               00193910
  530.       SUBROUTINE QMR2(C,D,FAC,B,N,JC,KC,JB)                             00186840
  531.       IMPLICIT REAL*8(A-H,O-Z)                                          00186850
  532.       DIMENSION B(1),C(1),D(1)                                          00186860
  533.       IB=1                                                              00186870
  534.       IC=1                                                              00186880
  535.       DO 100 I=1,N                                                      00186890
  536.       C(IC)=D(IC)-FAC*B(IB)                                             00186900
  537.       IB=IB+JB                                                          00186910
  538.   100 IC=IC+JC                                                          00186920
  539.       RETURN                                                            00186930
  540.       END                                                               00186940
  541.       SUBROUTINE QVSET(C,AAB,N)                                         00194580
  542.       IMPLICIT REAL*8 (A-H,O-Z)                                         R0194581
  543.       REAL*8 C,AAB                                                      00194590
  544.       DIMENSION AAB(N)                                                  00194600
  545.       DO 100 I=1,N                                                      00194610
  546.       AAB(I)=C                                                          00194620
  547.   100 CONTINUE                                                          R0194621
  548.       RETURN                                                            00194630
  549.       END                                                               00194640
  550.       SUBROUTINE SQEEZE(A,NUM,NT,KOD)                                   00254540
  551.       IMPLICIT REAL*8(A-H,O-Z)                                          00254550
  552.       REAL*8  A                                                         00254560
  553.       DIMENSION A(1)                                                    00254570
  554.       IF(KOD.GT.0) GO TO 100                                            00254580
  555.       CALL  SQISH(A,NUM,N)                                              00254590
  556.       CALL RDWRT(NT,A,N,1,K)                                            00254600
  557.       RETURN                                                            00254610
  558.   100 CALL RDWRT(NT,A,NUM,1,K)                                          00254620
  559.       RETURN                                                            00254630
  560.       END                                                               00254640
  561.       SUBROUTINE EXPAND(A,NUM,NT)                                       00086360
  562.       IMPLICIT REAL*8(A-H,O-Z)                                          00086370
  563.       REAL*8  A                                                         00086380
  564.       DIMENSION A(1)                                                    00086390
  565.       CALL RDWRT(NT,A,NUM,0,J)                                          00086400
  566.       IF(J.EQ.NUM) RETURN                                               00086410
  567.       RETURN                                                            00086420
  568.       END                                                               00086430
  569.       SUBROUTINE MEMSET (KONST,IARRAY,NWDS)                             00135760
  570.       REAL*8 IARRAY, KONST                                              00135770
  571.       DIMENSION IARRAY(1)                                               00135780
  572.       DO 100 I=1,NWDS                                                   00135790
  573.   100 IARRAY(I)=KONST                                                   00135800
  574.       RETURN                                                            00135810
  575.       END                                                               00135820
  576.       SUBROUTINE QVDOT(C,A,B,N,JA,JB)                                   00193990
  577.       REAL*8 A,B,C                                                      00194000
  578.       DIMENSION A(1),B(1)                                               00194010
  579.       IA=1                                                              00194020
  580.       IB=1                                                              00194030
  581.       C=0.0                                                             00194040
  582.       DO 100 I=1,N                                                      00194050
  583.       C=C+A(IA)*B(IB)                                                   00194060
  584.       IA=IA+JA                                                          00194070
  585.   100 IB=IB+JB                                                          00194080
  586.       RETURN                                                            00194090
  587.       END                                                               00194100
  588.       SUBROUTINE QVMPY1(A,B,C,N,INCA,INCB,INCC)                         00194240
  589.       IMPLICIT REAL*8(A-H,O-Z)                                          00194250
  590.       DIMENSION A(1),B(1)                                               00194260
  591.       JA=1                                                              00194270
  592.       JB=1                                                              00194280
  593.       DO 100 I=1,N                                                      00194290
  594.       A(JA)=B(JB)*C                                                     00194300
  595.       JA=JA+INCA                                                        00194310
  596.   100 JB=JB+INCB                                                        00194320
  597.       RETURN                                                            00194330
  598.       END                                                               00194340
  599.       SUBROUTINE MEMOVE (IFROM,ITO,NWDS)                                00135690
  600.       REAL*8 IFROM, ITO                                                 00135700
  601.       DIMENSION IFROM(1),ITO(1)                                         00135710
  602.       DO 100 I=1,NWDS                                                   00135720
  603.   100 ITO(I)=IFROM(I)                                                   00135730
  604.       RETURN                                                            00135740
  605.       END                                                               00135750
  606.       FUNCTION GETWRD(GET001)                                           00105400
  607.       INTEGER SECT,POINT,BEGIN,GETSEC,EPOINT,BLANK,AGET,AGETW           00105410
  608.       LOGICAL EOL,EOS,EOF,ERROR,INDEX,GETWRD,IGET,RGET,ERR1             00105420
  609.       COMMON  /FRECNT/ LINE(80),SECT,EOL,EOS,EOF,                       00105430
  610.      1ERROR,BLANK,ICOMMA,POINT,BEGIN,LENGTH,                            00105440
  611.      2EPOINT,NSECT,LINENM,MAXSTR,KUNIT,JUNIT,IUNIT                      00105450
  612.       GETWRD = .FALSE.                                                  00105460
  613.       LENGTH = 0                                                        00105470
  614.       IF (EOL) RETURN                                                   00105480
  615.       DO 100 BEGIN = POINT,80                                           00105490
  616.       IF (LINE(BEGIN).NE.BLANK) GO TO 110                               00105500
  617. 100   CONTINUE                                                          00105510
  618.       EOL = .TRUE.                                                      00105520
  619.       POINT = 80                                                        00105530
  620.       RETURN                                                            00105540
  621. 110   DO 170 POINT = BEGIN,80                                           00105550
  622.       IF (LINE(POINT).EQ.BLANK.OR.LINE(POINT).EQ.ICOMMA)                00105560
  623.      1GO TO 180                                                         00105570
  624.       LENGTH = POINT - BEGIN + 1                                        00105580
  625.       MAXSTR = LENGTH                                                   00105590
  626. 170   CONTINUE                                                          00105600
  627.       GETWRD = .TRUE.                                                   00105610
  628.       EOL = .TRUE.                                                      00105620
  629.       RETURN                                                            00105630
  630. 180   IP = POINT                                                        00105640
  631.       DO 200 POINT = POINT,80                                           00105650
  632.       IF (LINE(POINT).EQ.ICOMMA) GO TO 210                              00105660
  633.       IF (LINE(POINT).NE.BLANK) GO TO 190                               00105670
  634. 200   CONTINUE                                                          00105680
  635.       GETWRD = .TRUE.                                                   00105690
  636.       EOL =.TRUE.                                                       00105700
  637.       RETURN                                                            00105710
  638. 190   POINT = IP                                                        00105720
  639.       GETWRD = .TRUE.                                                   00105730
  640.       RETURN                                                            00105740
  641. 210   POINT = POINT + 1                                                 00105750
  642.       GETWRD = .TRUE.                                                   00105760
  643.       RETURN                                                            00105770
  644.       END                                                               00105780
  645.       SUBROUTINE ADDGEO(A,B,TMASS,A2,B2,TMASS2,NUMEL,NBLOCK,NE2B,LL,    00008380
  646.      $MBAND,NEQB,NEMN,ANORM,NVV,MMA)                                    00008390
  647.       IMPLICIT REAL*8(A-H,O-Z)                                                  
  648.       LOGICAL ELPRT,ELPCH,GENPRT,GENPCH,GEOST                           00008410
  649.       COMMON STIF(1)                                                    00008420
  650.       DIMENSION  A(NEQB,MBAND), B(NEQB,LL), TMASS(NEQB,MMA)             00008430
  651.       DIMENSION A2(NEQB,MBAND),B2(NEQB,LL),TMASS2(NEQB,MMA)             00008440
  652.       DIMENSION ICOO(10),IFORM(4)                                       00008450
  653.       COMMON/CTL/ELPRT,ELPCH,GENPRT,GENPCH                              00008460
  654.       COMMON/MASS/LMASS                                                 00008470
  655.       COMMON /SQZ/ ISQZ,NRSQZ(5)                                        R0008480
  656.       COMMON/PREP/XMX,XAD,KSKIP,NDYN,I1,RRPREP(7)                       R0008490
  657.       COMMON /DYN5/FRSHFT,FRINIT,FREND,MODEFR,NOSS                      R0008500
  658.       COMMON /FORCE/ NLC,NELD                                           00008510
  659.       COMMON/GEOSTF/GEOST,NELGEO                                        00008520
  660.       COMMON/ELPAR/ XPAR(14),KDUM(9),KEQ,RRELPA(24)                     R0008530
  661.       COMMON /DYN2/IFPR,IFSS,NITEM,NFO,RTOL,COFQ,DT,ALFA,BETA,NFN,NGM,  00008540
  662.      $NAT,NT,NOT,NRDYN2(9)                                              R0008550
  663.       DATA ICOO / 3H001,3H013,3H025,3H037,3H049,3H061,3H073,3H085,3H097,00008560
  664.      $            3H109/                                                00008570
  665.       DATA IFORM(1),IFORM(3),IFORM(4)/4H(1H+,4HX,F7,4H.2) /             00008580
  666.       KX(I,J,ND1)=MIN0(I,J)*(2*ND1+1-MIN0(I,J))/2-ND1+MAX0(I,J)+ND1     00008590
  667.       ZER=0.0D0                                                         00008600
  668.       NWDS=NEQB*(MBAND+LL)                                              00008610
  669.       NWA=MBAND*NEQB                                                    00008620
  670.       IF(NDYN.GT.3.AND.NDYN.LE.7) NWDS=NWA                              00008630
  671.       IF(NDYN.EQ.11.OR.NELGEO.EQ.1) NWDS=NWA                            00008640
  672.       NWB=   LL*NEQB                                                    00008650
  673.       NTA=4                                                             00008660
  674.       LLF=LL                                                            00008670
  675.       IF(NELD.EQ.0) LLF=0                                               00008680
  676.       NTD=25                                                            00008690
  677.       NT1=41                                                            00008700
  678.       NT2=10                                                            00008710
  679.       K=NEQB+1                                                          00008720
  680.       X=NBLOCK                                                          00008730
  681.       NFLG=0                                                            00008740
  682. CC    WRITE(6,100)                                                      00008750
  683. CC100 FORMAT (1H1)                                                      00008760
  684.       MB= DSQRT(X)                                                      00008770
  685.       MB=MB/2+1                                                         00008780
  686.       NEBB=MB*NE2B                                                      00008790
  687.       MM=1                                                              00008800
  688.       NSHIFT=0                                                          00008810
  689.       AMIN=1.0D30                                                       00008820
  690.       AMAX=-AMIN                                                        00008830
  691.       NTB=18                                                            00008840
  692.       NWDSB=NWB+NEQB                                                    00008850
  693.       CALL RDWRT(NTB,B,1,6,INUM)                                        00008860
  694.       CALL RDWRT(NTA,A,1,6,INUM)                                        00008870
  695.       ANORM=0.0                                                         00008880
  696.       NDEG=0                                                            00008890
  697.       NVV=0                                                             00008900
  698.       IF(NDYN.NE.7) GO TO 110                                           00008910
  699.       TETA=1.4                                                          00008920
  700.       DT1=TETA*DT                                                       00008930
  701.       DT2=DT1*DT1                                                       00008940
  702.       A0=(6.+3*ALFA*DT1)/(DT2+3*BETA*DT1)                               00008950
  703.   110 CONTINUE                                                          00008960
  704.       REWIND NTD                                                        00008970
  705.       WRITE(6,115)                                                      00008980
  706.   115 FORMAT(//,10X,48HTHE LAST NUMBER PRINTED IS THE PERCENT OF THE MA,00008990
  707.      $       55HSTER (CONVENTIONAL AND GEOMETRIC) STIFFNESS AND LOAD MA,00009000
  708.      $        6HTRICES,/,10X,42X,24HTHAT HAS BEEN ASSEMBLED.,//)        00009010
  709.       ICO = 1                                                           00009020
  710.       DO 310 M=1,NBLOCK ,2                                              00009030
  711.       CALL MEMSET (ZER,A2(1,1),NWA)                                     00009040
  712.       CALL MEMSET (ZER, A(1,1),NWA)                                     00009050
  713.       NMWA=NEQB*MMA                                                     00009060
  714.       CALL MEMSET (ZER,TMASS2(1,1),NMWA)                                00009070
  715.       CALL MEMSET (ZER,TMASS (1,1),NMWA)                                00009080
  716.       CALL MEMSET (ZER,B2(1,1),NWB)                                     00009090
  717.       CALL MEMSET (ZER, B(1,1),NWB)                                     00009100
  718.       CALL RDWRT(NT1,STIF,1,6,N)                                        00009110
  719.       CALL RDWRT(NT2,STIF,1,6,N)                                        00009120
  720.       NA=NT2                                                            00009130
  721.       NUME=NUM7                                                         00009140
  722.       IF (MM.NE.1) GO TO 140                                            00009150
  723.       NA=NT1                                                            00009160
  724.       NUME=NUMEL                                                        00009170
  725.       NUM7 =0                                                           00009180
  726.   140 DO 240 N=1,NUME                                                   00009190
  727.       CALL RDWRT(NA,STIF,NEMN,0,KOUNT)                                  00009200
  728.       ND1=STIF(KOUNT)                                                   00009210
  729.       NTOT=(ND1*ND1-ND1)/2+ND1                                          00009220
  730.       KSTXM=LLF*ND1+NTOT+ND1+ND1                                        00009230
  731.       IF(LMASS.EQ.1) KSTXM=KSTXM+NTOT-ND1                               00009240
  732.       DO 210 I=1,ND1                                                    00009250
  733.       LMN=1-STIF(I)                                                     00009260
  734.       II=STIF(I)-NSHIFT                                                 00009270
  735.       IF (II.LE.0.OR.II.GT.NE2B) GO TO 210                              00009280
  736.       IF(II.GT.NEQB)GO TO 180                                           00009290
  737.       IF(NELD.EQ.0) GO TO 155                                           00009300
  738.       KSTP=NTOT+I                                                       00009310
  739.       DO 150 L=1,LL                                                     00009320
  740.       KSTP=KSTP+ND1                                                     00009330
  741.   150 B(II,L)=B(II,L)+STIF(KSTP)                                        00009340
  742.   155 CONTINUE                                                          00009350
  743.       DO 170 J=1,ND1                                                    00009360
  744.       JJ=STIF(J)+LMN                                                    00009370
  745.       IF(JJ) 170,170,160                                                00009380
  746.   160 KSTS=KX(I,J,ND1)                                                  00009390
  747.       A(II,JJ)=A(II,JJ)+STIF(KSTS)                                      00009400
  748.       KSTM=KX(I,J,ND1)-ND1                                              00009410
  749.       IF((KSTXM+KSTM).GE.KOUNT) GO TO 170                               00009420
  750.       TMASS(II,JJ)=TMASS(II,JJ)-STIF(KSTXM+KSTM)                        00009430
  751.       IF(NELGEO.EQ.1) A(II,JJ)=A(II,JJ)+STIF(KSTXM+KSTM)                00009440
  752.   170 CONTINUE                                                          00009450
  753.       GO TO 210                                                         00009460
  754.   180 II=II-NEQB                                                        00009470
  755.       IF(NELD.EQ.0) GO TO 195                                           00009480
  756.       KSTP=NTOT+I                                                       00009490
  757.       DO 190 L=1,LL                                                     00009500
  758.       KSTP=KSTP+ND1                                                     00009510
  759.   190 B2(II,L)=B2(II,L)+STIF(KSTP)                                      00009520
  760.   195 CONTINUE                                                          00009530
  761.       DO 200 J=1,ND1                                                    00009540
  762.       JJ=STIF(J)+LMN                                                    00009550
  763.       IF(JJ.LE.0) GO TO 200                                             00009560
  764.       KSTS=KX(I,J,ND1)                                                  00009570
  765.       A2(II,JJ)=A2(II,JJ)+STIF(KSTS)                                    00009580
  766.       KSTM=KX(I,J,ND1)-ND1                                              00009590
  767.       IF((KSTXM+KSTM).GE.KOUNT) GO TO 200                               00009600
  768.       TMASS2(II,JJ)=TMASS2(II,JJ)-STIF(KSTXM+KSTM)                      00009610
  769.       IF(NELGEO.EQ.1) A2(II,JJ)=A2(II,JJ)+STIF(KSTXM+KSTM)              00009620
  770.   200 CONTINUE                                                          00009630
  771.   210 CONTINUE                                                          00009640
  772.       IF (MM.GT.1) GO TO 240                                            00009650
  773.       DO 220 I=1,ND1                                                    00009660
  774.       II=STIF(I)-NSHIFT                                                 00009670
  775.       IF(II.GT.NE2B.AND.II.LE.NEBB) GO TO 230                           00009680
  776.   220 CONTINUE                                                          00009690
  777.       GO TO 240                                                         00009700
  778.   230 CALL RDWRT(NT2,STIF,KOUNT,1,I)                                    00009710
  779.       NUM7=NUM7+1                                                       00009720
  780.   240 CONTINUE                                                          00009730
  781.       DO 250 I=1,NEQB                                                   00009740
  782.       D=A(I,1)                                                          00009750
  783.       ANORM=ANORM+D                                                     00009760
  784.       IF(D.NE.0.0) NDEG=NDEG+1                                          00009770
  785.       IF(D.NE.0.0D0.AND.D.LT.AMIN) AMIN=D                               00009780
  786.       IF(D.GT.AMAX) AMAX=D                                              00009790
  787.       IF(TMASS(I,1).NE.0) NVV=NVV+1                                     00009800
  788.       IF(M.EQ.NBLOCK) GO TO 250                                         00009810
  789.       D=A2(I,1)                                                         00009820
  790.       ANORM=ANORM+D                                                     00009830
  791.       IF(D.NE.0.0) NDEG=NDEG+1                                          00009840
  792.       IF(D.NE.0.0D0.AND.D.LT.AMIN) AMIN=D                               00009850
  793.       IF(D.GT.AMAX) AMAX=D                                              00009860
  794.       IF(TMASS2(I,1).NE.0.0) NVV=NVV+1                                  00009870
  795.   250 CONTINUE                                                          00009880
  796.   260 CONTINUE                                                          00009890
  797.       IF(.NOT.GENPRT) GO TO 1200                                        00009900
  798.       WRITE(6,1500)M                                                    00009910
  799.       DO 1020 I=1,NEQB                                                  00009920
  800.       IF(GENPCH)WRITE(7,1510)(A(I,J),J=1,MBAND)                         00009930
  801.  1020 WRITE(6,1520)(A(I,J),J=1,MBAND)                                   00009940
  802.       WRITE(6,1530)                                                     00009950
  803.       DO 1030 I=1,NEQB                                                  00009960
  804.       IF(GENPCH) WRITE(7,1510)(B(I,J),J=1,LL)                           00009970
  805.  1030 WRITE(6,1520)(B(I,J),J=1,LL)                                      00009980
  806.       WRITE(6,1540)                                                     00009990
  807.  2170 DO 2180 I=1,NEQB                                                  00010000
  808.       IF(GENPCH) WRITE(7,1510)(TMASS(I,J),J=1,MBAND)                    00010010
  809.  2180 WRITE(6,1520)(TMASS(I,J),J=1,MBAND)                               00010020
  810.       IF(M.EQ.NBLOCK) GO TO 1200                                        00010030
  811.       MP1=M+1                                                           00010040
  812.       WRITE(6,1500)MP1                                                  00010050
  813.       DO 1060 I=1,NEQB                                                  00010060
  814.       IF(GENPCH)WRITE(7,1510)(A2(I,J),J=1,MBAND)                        00010070
  815.  1060 WRITE(6,1520)(A2(I,J),J=1,MBAND)                                  00010080
  816.       WRITE(6,1530)                                                     00010090
  817.       DO 1070 I=1,NEQB                                                  00010100
  818.       IF(GENPCH) WRITE(7,1510)(B2(I,J),J=1,LL)                          00010110
  819.  1070 WRITE(6,1520)(B2(I,J),J=1,LL)                                     00010120
  820.       WRITE(6,1540)                                                     00010130
  821.  2200 DO 2210 I=1,NEQB                                                  00010140
  822.       IF(GENPCH)WRITE(7,1510)(TMASS2(I,J),J=1,MBAND)                    00010150
  823.  2210 WRITE(6,1520)(TMASS2(I,J),J=1,MBAND)                              00010160
  824.  1200 CONTINUE                                                          00010170
  825.       IF(MODEFR.GT.0) GO TO 247                                         00010180
  826.       DO 246 I=1,NEQB                                                   00010190
  827.       D=A(I,1)                                                          00010200
  828.       IF(D.GT.0.0) GO TO 243                                            00010210
  829.       NJ=NEQB*(M-1)+I                                                   00010220
  830.       IF(NJ.GT.KEQ) GO TO 246                                           00010230
  831.       NFLG=1                                                            00010240
  832.       WRITE(6,242)NJ,D                                                  00010250
  833.   242 FORMAT(/10X,9HEQUATION ,I5,26H HAS A SINGULAR DIAGONAL = ,E10.4)  00010260
  834.       WRITE(6,115)                                                      00010270
  835.       ICO=1                                                             00010280
  836.   243 D=A2(I,1)                                                         00010290
  837.       IF(D.GT.0.0) GO TO 246                                            00010300
  838.       NJ=NEQB*M+I                                                       00010310
  839.       IF(NJ.GT.KEQ) GO TO 246                                           00010320
  840.       NFLG=1                                                            00010330
  841.       WRITE(6,242)NJ,D                                                  00010340
  842.   246 CONTINUE                                                          00010350
  843.   247 CONTINUE                                                          00010360
  844.       WRITE (NTD) TMASS,(A(I,1),I=1,NEQB)                               00010370
  845.       CALL SQEEZE(A ,NWDS,NTA,ISQZ)                                     00010380
  846.       IF(M.EQ.NBLOCK) GO TO 310                                         00010390
  847.       WRITE (NTD) TMASS2,(A2(I,1),I=1,NEQB)                             00010400
  848.       CALL SQEEZE(A2,NWDS,NTA,ISQZ)                                     00010410
  849.       IF (MM.EQ.MB) MM=0                                                00010420
  850.       MM=MM+1                                                           00010430
  851.       PER=(M+1)*100.0/X                                                 00010440
  852.       IFORM(2) = ICOO(ICO)                                              00010450
  853.       WRITE(6,IFORM) PER                                                00010460
  854.       ICO = ICO + 1                                                     00010470
  855.       IF ( ICO .LT. 11 ) GO TO 310                                      00010480
  856.       WRITE(6,295)                                                      00010490
  857.   295 FORMAT(1H )                                                       00010500
  858.       ICO = 1                                                           00010510
  859.   310 NSHIFT=NSHIFT+NE2B                                                00010520
  860.       WRITE(6,320)                                                      00010530
  861.   320 FORMAT(////20X,98(1H*)/20X,34HTHE MASTER STIFFNESS (CONVENTIONAL, 00010540
  862.      148H AND GEOMETRIC) STIFFNESS AND LOAD MATRICES HAVE,              00010550
  863.      216H BEEN ASSEMBLED./20X,98(1H*))                                  00010560
  864.       IF(NFLG.EQ.1) KSKIP=1                                             00010570
  865.       IF(NDEG.GT.0) GO TO 340                                           00010580
  866.       WRITE(6,330)                                                      00010590
  867.   330 FORMAT(51H0STRUCTURE WITH NO DEGREES OF FREEDOM CHECK DATA   )    00010600
  868.       KSKIP =1                                                          00010610
  869.       RETURN                                                            00010620
  870.   340 CONTINUE                                                          00010630
  871.       IF(NDEG.GT.0) ANORM= (ANORM/NDEG)*1.0E-08                         00010640
  872.       IF(NDYN.EQ.11) WRITE(6,1550)                                      00010650
  873.       IF(NDYN.NE.11) WRITE(6,1560)                                      00010660
  874.       RATIO=1.0D30                                                      00010670
  875.       IF(AMIN.NE.0.0D0) RATIO=AMAX/AMIN                                 00010680
  876.       WRITE(6,1570)AMIN,AMAX,RATIO                                      00010690
  877.       RETURN                                                            00010700
  878.  1500 FORMAT(17H OVERALL MATRICES,1X,5HBLOCK,I3,//,                     00010710
  879.      117H STIFFNESS MATRIX)                                             00010720
  880.  1510 FORMAT((1P8E10.3))                                                00010730
  881.  1520 FORMAT (  (1H ,1P10E13.4))                                        00010740
  882.  1530 FORMAT(///,12H LOAD MATRIX)                                       00010750
  883.  1540 FORMAT(///,23H GEOMETRIC MATRIX (-KG))                            00010760
  884.  1550 FORMAT(5X,37HGEOMETRIC STIFFNESS MATRIX PARAMETERS)               00010770
  885.  1560 FORMAT(15X,43HSTIFFNESS MATRIX PARAMETERS AFTER INCLUSION,        00010780
  886.      1       1X,26HOF THE GEOMETRIX STIFFNESS)                          00010790
  887.  1570 FORMAT(//,                                                        00010800
  888.      1 15X,34HMINIMUM NON-ZERO DIAGONAL ELEMENT=,1PD10.3,/,             00010810
  889.      2 15X,34HMAXIMUM DIAGONAL ELEMENT         =,  D10.3,/,             00010820
  890.      3 15X,34HMAXIMUM/MINIMUM                  =,  D10.3)               00010830
  891.       END                                                               00010840
  892.       SUBROUTINE QMR3(C,D,FAC,B,N,JC,KC,JB,NWA)                         00186950
  893.       IMPLICIT REAL*8(A-H,O-Z)                                          00186960
  894.       DIMENSION B(1),C(1),D(1)                                          00186970
  895.       MBAND=NWA/N                                                       00186980
  896.       IB=1                                                              00186990
  897.       IC=1                                                              00187000
  898.       DO 100 I=1,N                                                      00187010
  899.       DO 90 J=1,MBAND                                                   00187020
  900.       KB=N*(J-1)+IB                                                     00187030
  901.       KCC=N*(J-1)+IC                                                    00187040
  902.       C(KCC)=D(KCC)-FAC*B(KB)                                           00187050
  903.   90  CONTINUE                                                          00187060
  904.       IB=IB+JB                                                          00187070
  905.   100 IC=IC+JC                                                          00187080
  906.   210 FORMAT(5X,10E10.3)                                                00187090
  907.       RETURN                                                            00187100
  908.       END                                                               00187110
  909.       SUBROUTINE QVCPY1(FROM,TO,N)                                      00193920
  910.       REAL*8 FROM,TO                                                    00193930
  911.       DIMENSION FROM(N,1),TO(1)                                         00193940
  912.       DO 100 I=1,N                                                      00193950
  913.   100 TO(I)=FROM(I,1)                                                   00193960
  914.       RETURN                                                            00193970
  915.       END                                                               00193980
  916.       SUBROUTINE DISPLY (X,F,NF,NDS,NUM,NN,KKK,ISD,ISP)                 00059680
  917.       IMPLICIT REAL*8(A-H,O-Z)                                          00059690
  918.       REAL*8  NPAR                                                      00059700
  919.       DIMENSION NTAPE(4),X(NF,NDS,3),F(8,NF),NUM(NN)                    00059710
  920.       COMMON / JUNK /TM(8),DM(8),D(8),KD(3,8),RRJUNK(191)               R0059720
  921.       COMMON / DYN / NT,NOT,DAMP,DT,RRDYN(3)                            R0059730
  922.       COMMON / ELPAR / NPAR(14),RRELPA(29)                              R0059740
  923.         DATA NTAPE/48,45,46,47/                                         00059750
  924.       REWIND 3                                                          00059760
  925.       REWIND 4                                                          00059770
  926.         NT45=NTAPE(ISD)                                                 00059780
  927.         REWIND NT45                                                     00059790
  928.       READ (4) X                                                        00059800
  929.       DO 320 N=1,NN                                                     00059810
  930.       REWIND 2                                                          00059820
  931.       REWIND 9                                                          00059830
  932.       MM=NUM(N)                                                         00059840
  933.         MMM=3                                                           00059850
  934.         IF(ISD.EQ.3)MMM=2                                               00059860
  935.         IF(ISD.EQ.4)MMM=1                                               00059870
  936.   100 IF(MM.EQ.0) GO TO 320                                             00059880
  937.       DO 270 M=1,MM                                                     00059890
  938.       READ (3) L,KD,F                                                   00059900
  939.       GO TO (110,160,140),KKK                                           00059910
  940. 110     GO TO (120,111,112,114),ISD                                     00059920
  941. 111      WRITE (6,330) M                                                00059930
  942.       GO TO 130                                                         00059940
  943. 112     WRITE(6,331)M                                                   00059950
  944.         GO TO 130                                                       00059960
  945. 114     WRITE(6,332)M                                                   00059970
  946.         GO TO 130                                                       00059980
  947.   120 WRITE (6,390) M                                                   00059990
  948.   130 WRITE (6,400) (KD(1,I),KD(2,I),I=1,L)                             00060000
  949.       GO TO 160                                                         00060010
  950.   140 IF(M.GT.1) GO TO 160                                              00060020
  951.         GO TO (150,141,142,143),ISD                                     00060030
  952. 141      WRITE (6,340)                                                  00060040
  953.       WRITE (6,450)                                                     00060050
  954.       GO TO 160                                                         00060060
  955. 142     WRITE(6,341)                                                    00060070
  956.         WRITE(6,451)                                                    00060080
  957.         GO TO 160                                                       00060090
  958. 143     WRITE(6,342)                                                    00060100
  959.         WRITE(6,452)                                                    00060110
  960.         GO TO 160                                                       00060120
  961.   150 WRITE (6,410)                                                     00060130
  962.       WRITE (6,430)                                                     00060140
  963.   160 DO 170 I=1,L                                                      00060150
  964.       TM(I)=0.                                                          00060160
  965.   170 DM(I)=0.                                                          00060170
  966.       TIME=0.                                                           00060180
  967.       DO 230 K=1,NDS                                                    00060190
  968.       TIME=TIME + DT                                                    00060200
  969.       DO 200 I=1,L                                                      00060210
  970.       DD=0.                                                             00060220
  971.       DO 180 J=1,NF                                                     00060230
  972.   180 DD = DD + F(I,J)*X(J,K,MMM)                                       00060240
  973.       AD= DABS(DD)                                                      00060250
  974.       IF(AD-DM(I)) 200,200,190                                          00060260
  975.   190 DM(I)=AD                                                          00060270
  976.       TM(I)=TIME                                                        00060280
  977.   200 D(I)=DD                                                           00060290
  978.         WRITE(NT45,1000)TIME,M,(D(I),I=1,L)                             00060300
  979.       GO TO (210,220,230),KKK                                           00060310
  980.   210 WRITE (6,350) TIME,(D(I),I=1,L)                                   00060320
  981.       GO TO 230                                                         00060330
  982.   220 WRITE (9) D                                                       00060340
  983.   230 CONTINUE                                                          00060350
  984.       GO TO (240,250,260),KKK                                           00060360
  985.   240 WRITE (6,360) (DM(I),I=1,L)                                       00060370
  986.       WRITE (6,370) (TM(I),I=1,L)                                       00060380
  987.       GO TO 270                                                         00060390
  988.   250 WRITE (2) KD,DM,TM,L                                              00060400
  989.       GO TO 270                                                         00060410
  990.   260 WRITE (6,380) (KD(1,I),KD(2,I),DM(I),TM(I),I=1,L)                 00060420
  991.   270 CONTINUE                                                          00060430
  992.       IF(KKK.NE.2) GO TO 320                                            00060440
  993.       REWIND 2                                                          00060450
  994.       REWIND 9                                                          00060460
  995.       DO 310 M=1,MM                                                     00060470
  996.       GO TO (280,290,291,292),ISD                                       00060480
  997.   280 WRITE (6,420) M                                                   00060490
  998.       WRITE (6,430)                                                     00060500
  999.       GO TO 300                                                         00060510
  1000.   290 WRITE (6,440) M                                                   00060520
  1001.       WRITE (6,450)                                                     00060530
  1002.         GO TO 300                                                       00060540
  1003. 291     WRITE(6,441)M                                                   00060550
  1004.         WRITE(6,451)                                                    00060560
  1005.         GO TO 300                                                       00060570
  1006. 292     WRITE(6,442)M                                                   00060580
  1007.         WRITE(6,452)                                                    00060590
  1008.   300 CALL PLOTDY (2,9,NDS,ISP)                                         00060600
  1009.   310 CONTINUE                                                          00060610
  1010.   320 CONTINUE                                                          00060620
  1011.       RETURN                                                            00060630
  1012.   330 FORMAT (50H1TIME HISTORY FOR SELECTED DISPLACEMENT COMPONENTS ,   00060640
  1013.      $ 5H..... ,I3//10X,40HNODE NUMBERS AND DISPLACEMENT COMPONENTS )   00060650
  1014.   340 FORMAT (59H1MAXIMUM DISPLACEMENT VALUES FROM DYNAMIC RESPONSE ANAL00060660
  1015.      $YSIS //)                                                          00060670
  1016.   350 FORMAT (F8.3,2X,1P8E12.3)                                         00060680
  1017.   360 FORMAT ( /24H MAXIMUM ABSOLUTE VALUES //                          00060690
  1018.      $ 10H MAXIMUM   ,1P8E12.3)                                         00060700
  1019.   370 FORMAT (10H TIME      ,1P8E12.3)                                  00060710
  1020.   380 FORMAT (I6,I13,1PE18.3,E12.3,5X,2HNA)                             00060720
  1021.   390 FORMAT (  44H1TIME HISTORY FOR SELECTED STRESS COMPONENTS ,       00060730
  1022.      $ 5H..... , I3//10X,37H ELEMENT AND STRESS COMPONENT NUMBERS )     00060740
  1023.   400 FORMAT (8H    TIME , 2X, 8(I8,1H-,I2,1X))                         00060750
  1024.   410 FORMAT (                                                          00060760
  1025.      $ 53H1MAXIMUM STRESS VALUES FROM DYNAMIC RESPONSE ANALYSIS //)     00060770
  1026.   420 FORMAT (                                                          00060780
  1027.      $ 39H1NORMALISED PLOT OF STRESS HISTORIES...,I3/)                  00060790
  1028.   430 FORMAT(58H  ELEMENT      STRESS       MAXIMUM      TIME AT     PLO00060800
  1029.      $T / 58H  NUMBER     COMPONENT       VALUE       MAXIMUM    SYMBOL)00060810
  1030.   440 FORMAT (46H1NORMALISED PLOT OF DISPLACEMENT HISTORIES....,I3/)    00060820
  1031.   450 FORMAT(58H   NODE     DISPLACEMENT    MAXIMUM      TIME AT     PLO00060830
  1032.      $T / 58H  NUMBER     COMPONENT       VALUE       MAXIMUM    SYMBOL)00060840
  1033.   331 FORMAT (50H1TIME HISTORY FOR SELECTED VELOCITY     COMPONENTS ,   00060850
  1034.      $ 5H..... ,I3//10X,40HNODE NUMBERS AND VELOCITY     COMPONENTS )   00060860
  1035.   332 FORMAT (50H1TIME HISTORY FOR SELECTED ACCELERATION COMPONENTS ,   00060870
  1036.      $ 5H..... ,I3//10X,40HNODE NUMBERS AND ACCELERATION COMPONENTS )   00060880
  1037.   341 FORMAT (59H1MAXIMUM VELOCITY     VALUES FROM DYNAMIC RESPONSE ANAL00060890
  1038.      $YSIS //)                                                          00060900
  1039.   342 FORMAT (59H1MAXIMUM ACCELERATION VALUES FROM DYNAMIC RESPONSE ANAL00060910
  1040.      $YSIS //)                                                          00060920
  1041.   451 FORMAT(58H   NODE     VELOCITY        MAXIMUM      TIME AT     PLO00060930
  1042.      $T / 58H  NUMBER     COMPONENT       VALUE       MAXIMUM    SYMBOL)00060940
  1043.   452 FORMAT(58H   NODE     ACCELERATION    MAXIMUM      TIME AT     PLO00060950
  1044.      $T / 58H  NUMBER     COMPONENT       VALUE       MAXIMUM    SYMBOL)00060960
  1045.   441 FORMAT (46H1NORMALISED PLOT OF VELOCITY     HISTORIES....,I3/)    00060970
  1046.   442 FORMAT (46H1NORMALISED PLOT OF ACCELERATION HISTORIES....,I3/)    00060980
  1047. 1000    FORMAT(E13.5,I5,8E13.5)                                         00060990
  1048.         END                                                             00061000
  1049.       SUBROUTINE DSHELL                                                 00063280
  1050.       IMPLICIT REAL *8 (A-H,O-Z)                                        00063290
  1051.       COMMON /JUNK/ SIG(200),MM,L,K,NTAG,NDYN,NRJUNK(49)                R0063300
  1052.       COMMON /OUT/ NRES,NSTR,NDIS,NROUT(7)                              R0063310
  1053.       DIMENSION EFS(2)                                                  00063320
  1054. 10    IF (NTAG.EQ.0) WRITE (6,30)                                       00063330
  1055.       SIG(7)=SIG(1)+SIG(4)                                              00063340
  1056.       SIG(8)=SIG(2)+SIG(5)                                              00063350
  1057.       SIG(9)=SIG(3)+SIG(6)                                              00063360
  1058.       CC=(SIG(7)+SIG(8))/2.                                             00063370
  1059.       BB=(SIG(7)-SIG(8))/2.                                             00063380
  1060.       CR=DSQRT(BB**2+SIG(9)**2)                                         00063390
  1061.       SIG(10)=CC+CR                                                     00063400
  1062.       SIG(11)=CC-CR                                                     00063410
  1063.       SIG(12)=0.0                                                       00063420
  1064.       IF (BB.NE.0) SIG(12)=28.648*DATAN2(SIG(9),BB)                     00063430
  1065.       SIG(13)=SIG(1)-SIG(4)                                             00063440
  1066.       SIG(14)=SIG(2)-SIG(5)                                             00063450
  1067.       SIG(15)=SIG(3)-SIG(6)                                             00063460
  1068.       CC=(SIG(13)+SIG(14))/2.                                           00063470
  1069.       BB=(SIG(13)-SIG(14))/2.                                           00063480
  1070.       CR=DSQRT(BB**2+SIG(15)**2)                                        00063490
  1071.       SIG(16)=CC+CR                                                     00063500
  1072.       SIG(17)=CC-CR                                                     00063510
  1073.       SIG(18)=0.0                                                       00063520
  1074.       IF (BB.NE.0) SIG(18)=28.648*DATAN2(SIG(15),BB)                    00063530
  1075.       EFS(1)=SIG(10)**2+SIG(11)**2-SIG(10)*SIG(11)                      00063540
  1076.       EFS(1)=DSQRT(EFS(1))                                              00063550
  1077.       EFS(2)=SIG(16)**2+SIG(17)**2-SIG(16)*SIG(17)                      00063560
  1078.       EFS(2)=DSQRT(EFS(2))                                              00063570
  1079.       WRITE (6,40) MM,L,(SIG(I),I=1,12),EFS(1),(SIG(I),I=13,18),EFS(2)  00063580
  1080.       IF (NSTR.GT.0) WRITE (NSTR,20) L,SIG(10),SIG(11),EFS(1),SIG(16),SI00063590
  1081.      1G(17),EFS(2),(SIG(I),I=7,9),SIG(12),(SIG(I),I=13,15),SIG(18)      00063600
  1082. 20    FORMAT (4H  14,I2,4H12 6,7G10.4/(8G10.4))                         00063610
  1083.       RETURN                                                            00063620
  1084. 30    FORMAT (  24H1 SHELL ELEMENT STRESSES//10X,19H  ELEMENT      LOAD,00063630
  1085.      138H  SIG-X     SIG-Y     SIG-XY   SIG-MAX,                        00063640
  1086.      230H   SIG-MIN    ANGLE     SIG-EF)                                00063650
  1087. 40    FORMAT (//10H MEMBRANE ,2I10,3F10.2/9H  BENDING,21X,3F10.2/       00063660
  1088.      110H +T/2 SIDE,20X,7F10.2/10H -T/2 SIDE,20X,7F10.2)                00063670
  1089.       END                                                               00063680
  1090.       SUBROUTINE SDSPLY (TEMP,X,MMX,MAX,NCL,NUM,NN,KKK,ISD,ISP,NPT,KT)  00227660
  1091.       IMPLICIT REAL*8 (A-H,O-Z)                                         00227670
  1092.       COMMON /QTSARG/ SSA(8,60),KLM(8,60)                               00227680
  1093.      $,TM(8),DM(8),D(8),RRQTSA(256)                                     R0227690
  1094.       COMMON /JUNK/NDUM(6),NBL,LAST,KD(2,8),RRJUNK(215)                 R0227700
  1095.       COMMON /DYN2/IFPR,IFSS,NITEM,NFO,RTOL,COFQ,DT,ALFA,BETA,NFN,NGM,  00227710
  1096.      $NAT,NT,NOT,NRDYN2(9)                                              R0227720
  1097.         COMMON /OUT/NRES,NSTR,NDIS,NROUT(7)                             R0227730
  1098.       DIMENSION      TEMP(MAX,NCL),X(MMX,NCL),NUM(NN)                   00227740
  1099.       IT = 3                                                            00227750
  1100.       REWIND KT                                                         00227760
  1101.       NT9 = 9                                                           00227770
  1102.       NT8 = 8                                                           00227780
  1103.       REWIND NT8                                                        00227790
  1104.       NT2 = 1                                                           00227800
  1105.       NT4 = 2                                                           00227810
  1106.         IU=0                                                            00227820
  1107.         IF(ISD.EQ.1.AND.NSTR.GT.0) IU=NSTR                              00227830
  1108.         IF(ISD.EQ.2.AND.NDIS.GT.0) IU=NDIS                              00227840
  1109.         IF(IU.GT.0) WRITE (IU,540) ISD,NUM(1),NPT                       00227850
  1110.       IF(MAX.NE.MMX)  GO TO 100                                         00227860
  1111.       IT=KT                                                             00227870
  1112.       NBLOCK = NBL                                                      00227880
  1113.       GO TO 130                                                         00227890
  1114.   100 K=0                                                               00227900
  1115.       REWIND IT                                                         00227910
  1116.       NBLOCK = 0                                                        00227920
  1117.       DO 120 NB=1,NBL                                                   00227930
  1118.       READ (KT) TEMP                                                    00227940
  1119.       DO 110 I=1,MAX                                                    00227950
  1120.       II=I+K                                                            00227960
  1121.       DO 110 J=1,NCL                                                    00227970
  1122.   110 X(II,J)=TEMP(I,J)                                                 00227980
  1123.       K=K+MAX                                                           00227990
  1124.       L = K+MAX                                                         00228000
  1125.       IF(L.LE.MMX) GO TO 120                                            00228010
  1126.       WRITE (IT) X                                                      00228020
  1127.       K=0                                                               00228030
  1128.       NBLOCK=NBLOCK+1                                                   00228040
  1129.  120     CONTINUE                                                       00228050
  1130.       IF(K.EQ.0) GO TO 130                                              00228060
  1131.       WRITE (IT) X                                                      00228070
  1132.       NBLOCK = NBLOCK +1                                                00228080
  1133.   130 IF=0                                                              00228090
  1134.       DO 410 N=1,NN                                                     00228100
  1135.       REWIND NT2                                                        00228110
  1136.       REWIND NT4                                                        00228120
  1137.       MM=NUM(N)                                                         00228130
  1138.   140 IF(MM.EQ.0) GO TO 410                                             00228140
  1139.       MTYPL=0                                                           00228150
  1140.       DO 360 M=1,MM                                                     00228160
  1141.       REWIND IT                                                         00228170
  1142.       IF(ISD.EQ.1) READ (NT8) ND,((SSA(I,J),I=1,8),J=1,ND),             00228180
  1143.      $                           ((KLM(I,J),I=1,8),J=1,ND),MTYPE        00228190
  1144.                    READ (NT9) KD,L                                      00228200
  1145.         IF(IU.GT.0) WRITE (IU,540) M,L                                  00228210
  1146.         IF(IU.GT.0) WRITE (IU,540) (KD(1,I),KD(2,I),I=1,L)              00228220
  1147.       GO TO (150,190,170),KKK                                           00228230
  1148.   150 IF(ISD.EQ.1) GO TO 160                                            00228240
  1149.       WRITE (6,420) M                                                   00228250
  1150.       WRITE (6,480) (KD(1,I),KD(2,I),I=1,L)                             00228260
  1151.       GO TO 190                                                         00228270
  1152.   160                                                                   00228280
  1153.      $CALL ELOUTS (KD,L,MTYPE,M,ND)                                     00228290
  1154.       GO TO 190                                                         00228300
  1155.   170 IF(ISD.EQ.1) GO TO 180                                            00228310
  1156.       IF(M.GT.1) GO TO 190                                              00228320
  1157.       WRITE (6,430)                                                     00228330
  1158.       WRITE (6,530)                                                     00228340
  1159.       GO TO 190                                                         00228350
  1160.   180 WRITE (6,490) MTYPE                                               00228360
  1161.       WRITE (6,510)                                                     00228370
  1162.   190 DO 200 I=1,L                                                      00228380
  1163.       TM(I)=0.E0                                                        00228390
  1164.   200 DM(I)=0.E0                                                        00228400
  1165.       TIME=0.E0                                                         00228410
  1166.       MTYPL=MTYPE                                                       00228420
  1167.       NR = MMX                                                          00228430
  1168.       DO 320 NB=1,NBLOCK                                                00228440
  1169.       READ (IT) X                                                       00228450
  1170.       IF(NB.LT.NBLOCK) GO TO 210                                        00228460
  1171.       NR = NPT - (NBLOCK-1)*MMX                                         00228470
  1172.   210 CONTINUE                                                          00228480
  1173.       DO 310 K=1,NR                                                     00228490
  1174.       TIME=TIME + DT                                                    00228500
  1175.       DO 280 I=1,L                                                      00228510
  1176.       GO TO (220,250),ISD                                               00228520
  1177.   220 DD=0.E0                                                           00228530
  1178.       DO 240 J=1,ND                                                     00228540
  1179.       JJ=KLM(I,J)                                                       00228550
  1180.       IF(JJ) 240,240,230                                                00228560
  1181.   230 DD=DD+SSA(I,J)*X(K,JJ)                                            00228570
  1182.   240 CONTINUE                                                          00228580
  1183.       GO TO 260                                                         00228590
  1184.   250 JJ = IF+I                                                         00228600
  1185.       DD = X(K,JJ)                                                      00228610
  1186.   260 AD= DABS(DD)                                                      00228620
  1187.       IF(AD-DM(I)) 280,280,270                                          00228630
  1188.   270 DM(I)=AD                                                          00228640
  1189.       TM(I)=TIME                                                        00228650
  1190.   280 D(I)=DD                                                           00228660
  1191.         IF(IU.GT.0) WRITE (IU,550) TIME,(D(I),I=1,L)                    00228670
  1192.       GO TO (290,300,310),KKK                                           00228680
  1193.   290 WRITE (6,440) TIME,(D(I),I=1,L)                                   00228690
  1194.       GO TO 310                                                         00228700
  1195.   300 WRITE (NT4) D                                                     00228710
  1196.   310 CONTINUE                                                          00228720
  1197.   320 CONTINUE                                                          00228730
  1198.       GO TO (330,340,350),KKK                                           00228740
  1199.   330 WRITE (6,450) (DM(I),I=1,L)                                       00228750
  1200.       WRITE (6,460) (TM(I),I=1,L)                                       00228760
  1201.       GO TO 360                                                         00228770
  1202.   340 WRITE (NT2) KD,DM,TM,L                                            00228780
  1203.       GO TO 360                                                         00228790
  1204.   350 WRITE (6,470) (KD(1,I),KD(2,I),DM(I),TM(I),I=1,L)                 00228800
  1205.   360 IF=IF+L                                                           00228810
  1206.       IF(KKK.NE.2) GO TO 410                                            00228820
  1207.       REWIND NT2                                                        00228830
  1208.       REWIND NT4                                                        00228840
  1209.       DO 400 M=1,MM                                                     00228850
  1210.       GO TO (370,380),ISD                                               00228860
  1211.   370 WRITE (6,500) MTYPE,M                                             00228870
  1212.       WRITE (6,510)                                                     00228880
  1213.       GO TO 390                                                         00228890
  1214.   380 WRITE (6,520) M                                                   00228900
  1215.       WRITE (6,530)                                                     00228910
  1216.   390 CALL SPLOT (NT2,NT4,NPT,ISP)                                      00228920
  1217.   400 CONTINUE                                                          00228930
  1218.   410 CONTINUE                                                          00228940
  1219.       RETURN                                                            00228950
  1220.   420 FORMAT (50H1D I S P L A C E M E N T   T I M E   H I S T O R Y, // 00228960
  1221.      $ 13H OUTPUT SET =,I4, // 14X,27H*NODE NUMBER* - (COMPONENT ,      00228970
  1222.      $  7HNUMBER), 1X)                                                  00228980
  1223.   430 FORMAT (38H1D I S P L A C E M E N T  M A X I M A, // 1X)          00228990
  1224.   440 FORMAT (F12.5,2X,1P8E12.3)                                        00229000
  1225.   450 FORMAT (/ 24H MAXIMUM ABSOLUTE VALUES, // 8H MAXIMUM,6X,1P8E12.3) 00229010
  1226.   460 FORMAT (5H TIME,9X,1P8E12.3)                                      00229020
  1227.   470 FORMAT (I8,12X,I3,1P2E14.4,7X,2HNA)                               00229030
  1228.   480 FORMAT (8X,4HTIME,2X, 8(3X,I4,2H-(,I2,1H)) / 1X)                  00229040
  1229.   490 FORMAT (46H1S T R E S S   C O M P O N E N T   M A X I M A, //     00229050
  1230.      $        22H ELEMENT TYPE NUMBER =, I3, // 1X)                     00229060
  1231.   500 FORMAT (51H N O R M A L I Z E D   S T R E S S    H I S T O R Y,3X,00229070
  1232.      $  7HP L O T, // 22H ELEMENT TYPE NUMBER =, I3 /                   00229080
  1233.      $                22H OUTPUT SET NUMBER   =, I3 // 1X)              00229090
  1234.   510 FORMAT (8H ELEMENT,9X,6HSTRESS,7X,7HMAXIMUM,7X,7HTIME AT,5X,      00229100
  1235.      $ 4HPLOT,/ 8H  NUMBER,6X,9HCOMPONENT,9X,5HVALUE,7X,7HMAXIMUM,3X,   00229110
  1236.      $ 6HSYMBOL, / 1X)                                                  00229120
  1237.   520 FORMAT (46H1N O R M A L I Z E D   D I S P L A C E M E N T,3X,     00229130
  1238.      $ 23HH I S T O R Y   P L O T, // 22H OUTPUT SET NUMBER   =, I3//1X)00229140
  1239.   530 FORMAT (4X,4HNODE,3X,12HDISPLACEMENT,7X,7HMAXIMUM,7X,7HTIME AT,   00229150
  1240.      $ 5X,4HPLOT, / 8H  NUMBER,6X,9HCOMPONENT,9X,5HVALUE,7X,7HMAXIMUM,  00229160
  1241.      $ 3X,6HSYMBOL, / 1X)                                               00229170
  1242. 540     FORMAT(16I5)                                                    00229180
  1243. 550     FORMAT(6G12.6,8X)                                               00229190
  1244.       END                                                               00229200
  1245.       SUBROUTINE SPHT2  (T,M,SPHT  )                                    00250720
  1246.       IMPLICIT REAL*8(A-H,O-Z)                                          00250730
  1247.       DIMENSION COEF(11,8)                                              00250740
  1248.       DATA COEF/                                                        00250750
  1249.      1 4.0,100.0,1500.0,1.017891E-1,1.046516E-4,-1.522855E-7,           00250760
  1250.      1 1.070093E-10,-2.562681E-14,0.0,0.0,0.0,                          00250770
  1251.      2 4.0,100.0,1500.0,1.017891E-1,1.046516E-4,-1.522855E-7,           00250780
  1252.      2 1.070093E-10,-2.562681E-14,0.0,0.0,0.0,                          00250790
  1253.      3 2.0,32.0,1650.0,3.4574E-1,-7.9226E-5,3.4086E-8,0.0,0.0,0.0,0.,0.,00250800
  1254.      4 7.0,75.0,1600.,1.014456E-1,4.378752E-5,-2.046138E-8,3.418111E-11,00250810
  1255.      4 -2.060318E-13,3.682836E-16,-2.458648E-19,5.597571E-23,           00250820
  1256.      5 4.0,100.0,800.0,1.154315E-1,-2.500197E-5,2.354774E-7,            00250830
  1257.      5 -3.738534E-10,2.230893E-13,0.0,0.0,0.0,                          00250840
  1258.      6 4.0,100.0,800.0,1.154315E-1,-2.500197E-5,2.354774E-7,            00250850
  1259.      6 -3.738534E-10,2.230893E-13,0.0,0.0,0.0,                          00250860
  1260.      7 4.0,100.0,800.0,9.374201E-2,1.659039E-4,-3.860357E-7,            00250870
  1261.      7 4.889573E-10,-2.067584E-13,0.0,0.0,0.0,                          00250880
  1262.      8 3.0,0.0,2500.0,2.397434E-1,-1.270842E-6,3.997813E-8,             00250890
  1263.      8 -1.522993E-11,0.0,0.0,0.0,0.0/                                   00250900
  1264.       ICODE=2                                                           00250910
  1265.       IF(M.LT.1.OR.M.GT.8)CALL RPZLVZ(M,T,ICODE,8)                      00250920
  1266.       N=COEF(1,M)                                                       00250930
  1267.       T1=COEF(2,M)                                                      00250940
  1268.       T2=COEF(3,M)                                                      00250950
  1269.       IF(T.LT.T1.OR.T.GT.T2)CALL RPZLVZ(M,T,ICODE,1)                    00250960
  1270.       IF(T.GT.208.OR.M.NE.3)GO TO 5                                     00250970
  1271.       SPHT=2.845E-1+3.647E-5*T+7.765E-7*T*T                             00250980
  1272.       RETURN                                                            00250990
  1273.     5 CONTINUE                                                          00251000
  1274.       SPHT  =COEF(N+4,M)                                                00251010
  1275.       IF(N.EQ.0)RETURN                                                  00251020
  1276.       DO 10 I=1,N                                                       00251030
  1277.    10 SPHT  =SPHT  *T+COEF(N-I+4,M)                                     00251040
  1278.       RETURN                                                            00251050
  1279.       END                                                               00251060
  1280.