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

  1.       PROGRAM SAP6P2                                                    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,NUMET,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 (' **************    PROGRAM SAP6P2 STARTING    *********')R0001612
  55.         KZN(1)=2                                                        00001880
  56.         KZN(2)=7                                                        00001890
  57.         KZN(3)=1                                                        00001900
  58.         KZN(4)=2                                                        00001910
  59.         KZN(5)=7                                                        00001920
  60.         KZN(6)=7                                                        00001930
  61.         KZN(7)=10                                                       00001940
  62.         KZN(8)=7                                                        00001950
  63.         KZN(9)=21                                                       00001960
  64.         KZN(10)=1177                                                    00001970
  65.         KZN(11)=6                                                       00001980
  66.         KZN(12)=51                                                      00001990
  67.         KZN(13)=10                                                      00002000
  68.         KZN(14)=21                                                      00002010
  69.         KZN(15)=9                                                       00002020
  70.         KZN(16)=7                                                       00002030
  71.         KZN(17)=8                                                       00002040
  72.         KZN(18)=5                                                       00002050
  73.         KZN(19)=0                                                       00002060
  74.         KZN(20)=0                                                       00002070
  75.       MKZ=20                                                            00002090
  76.       CALL SIZER2                                                       R0002091
  77.       MTOTR = MTOT                                                      R0002091
  78.       CALL COMMRW(1)                                                    R0002092
  79.       MTOT = MTOTR                                                      R0002093
  80.         NDSSS=NDYN                                                      00002250
  81.         IF(NDYN.NE.12)GO TO 115                                         00002260
  82.         NDSSS=12                                                        00002270
  83.         KDSSS=KDYN                                                      00002280
  84.         NDYN=6                                                          00002290
  85.         KDYN=6                                                          00002300
  86.         IF(KDSSS.LT.0)KDYN=-6                                           00002310
  87. 115     CONTINUE                                                        00002320
  88.       CALL RDWRT(1,A(1),1,11,I)                                         00002330
  89.       IF(NTYP.EQ.0) GO TO 170                                           00002340
  90.         REWIND 3                                                        00002350
  91.       NEMN=(MXDF+LL)*(NSMX+MXDF)+MXDF*2+NDMX*LL                         00002360
  92.       IF(LMASS.EQ.1) NEMN=NEMN+MXDF*(MXDF-1)                            00002370
  93.       IF(NDYN.EQ.11) GEOST=.TRUE.
  94.       IF(GEOST) WRITE(6,2009) NDYN
  95.  2009 FORMAT (5X,'****** SAP6PC2 NDYN ********',I5/)
  96.       IF(GEOST)                                                         00002380
  97.      $ NEMN=NEMN+3*(MXDF*MXDF)                                          00002390
  98.       NEMN=NEMN+3                                                       00002400
  99.       NI=1+NEMN                                                         00002410
  100.       DO 120 I=1,MKZ                                                    00002420
  101.   120 KZ(I,1)=KZ(I,1)+NEMN                                              00002430
  102.       NTYP=NTYP+NEMN                                                    00002440
  103.       N1P =N1P +NEMN                                                    00002450
  104.       N2P =N2P +NEMN                                                    00002460
  105.       N3P =N3P +NEMN                                                    00002470
  106.       M1P = M1P + NEMN                                                  00002480
  107.       M2P = M2P + NEMN                                                  00002490
  108.       M3P = M3P + NEMN                                                  00002500
  109.   130 J=0                                                               00002510
  110.       DO 140 I=1,MKZ                                                    00002520
  111.       IF(KZ(I,1).EQ.NI) J=I                                             00002530
  112.   140 CONTINUE                                                          00002540
  113.       IF(J.GT.0) GO TO 150                                              00002550
  114.       NF=NTRI*4+NMRI*3+NI-1                                             00002560
  115.       GO TO 160                                                         00002570
  116.   150 NTY=KZN(J)                                                        00002580
  117.       IF(J.EQ.16) NTY=NTY*LL                                            00002590
  118.       NF=NI+KZ(J,2)*NTY-1                                               00002600
  119.       IF(ICOMP.EQ.1.AND.J.EQ.7)NF=NI+MTRI*9+MMRI*3-1                    00002610
  120.   160 READ (3) (A(I),I=NI,NF)                                           00002620
  121.       WRITE(6,2002) N1P,N2P,N3P,NI,NF,NTYP
  122.       WRITE(6,2001) (A(II),II=NI,NF)
  123.  2001 FORMAT (1X,'**S2**',12E10.4/)
  124.  2002 FORMAT (5X,'** N1P N2P N3P NI NF NTYP **',6I5/)
  125.       NI=NF+1                                                           00002630
  126.       IF(NF.LT.NTYP) GO TO 130                                          00002640
  127.   170 CONTINUE                                                          00002650
  128.       N1=NTYP+1                                                         00002660
  129.       N2=N1+NUMNP*3                                                     00002670
  130.       N3=N1+NUMEL*13                                                    00002680
  131.       IF(N2.GT.MTOT) CALL ERROR(N2-MTOT)                                00002690
  132.       N4=N3+NTERM*NADND                                                 00002700
  133.       N5=N4+NSLAVE*4                                                    00002710
  134.       NSLDM=NSLAVE                                                      00002720
  135.       IF(NSLDM.EQ.0) NSLDM=1                                            00002730
  136.       IF(N5.GT.MTOT) CALL ERROR(N5-MTOT)                                00002740
  137.       KRK1 = N5                                                         R0002741
  138.   180 CALL INPTN (A(N1),A(N1),A(N3),NUMEL,NUMEL2,NUMNP,NTERM,NADND,     00002750
  139.      $NEQ,I,A(N4),NSLDM)                                                00002760
  140.       NBLANK=I                                                          00002770
  141.       IF(NEQ.EQ.0) KSKIP=1                                              00002780
  142.       IF(KSKIP.EQ.1.AND.NEQ.EQ.0) NEQ=1                                 00002790
  143.       CALL SECOND(T(2))                                                 00002800
  144.         DO 9180 I=3,10                                                  00002810
  145. 9180    T(I)=T(2)                                                       00002820
  146.       IF(KSKIP.EQ.1) GO TO 185                                          00002830
  147.       NEMNM=NEMN-NDMX*LL-2                                              00002840
  148.       IF(.NOT.GEOST) GO TO 1180                                         00002850
  149.       NEMNM=NEMNM-3*(MXDF*MXDF)                                         00002860
  150.  1180 CONTINUE                                                          00002870
  151.       IF(KELRST.NE.2) GO TO 181                                         00002880
  152.       NNRRC = 183                                                       R0002881
  153.       GO TO 183                                                         00002890
  154.   181 CONTINUE                                                          00002900
  155.       KAPG=N4                                                           00002910
  156.         KAPG1=KAPG+NUMNP                                                00002920
  157.       KRK1=KAPG1+NSLAVE*4                                               00002930
  158.         IF(KRK1 .GT.MTOT)CALL ERROR(KRK1-MTOT)                          00002940
  159.       NBLANK=0                                                          00002950
  160.       MAXDF=0                                                           00002960
  161.       CALL ELSTF(NDMX,LL,A(NEMNM),NBLANK,NTERM,ZD(1),NADND              00002970
  162.      &  ,A(KAPG),NUMNP,A(KAPG1),NSLDM)                                  00002980
  163.       IF(NSELEM.LE.0) GO TO 183                                         00002990
  164.       IF(LMASS.NE.-1) GO TO 1190                                        00003000
  165.       IF(NDYN.NE.8) GO TO 1190                                          00003010
  166.       WRITE(6,550)NDYN,LMASS                                            00003020
  167.       KSKIP = 1                                                         00003030
  168.  1190 CONTINUE                                                          00003040
  169.       N3=N1                                                             00003050
  170.       N1=1                                                              00003060
  171.       N2=KZ(6,1)                                                        00003070
  172.       N4=7*LL                                                           00003080
  173.       CALL QVCOPY(A(N2),A(N1),N4)                                       00003090
  174.       N2=N4+1                                                           00003100
  175.       N4=NUMNP*3                                                        00003110
  176.       CALL QVCOPY(A(N3),A(N2),N4)                                       00003120
  177.       N3=N2+N4                                                          00003130
  178.       CALL SUPSTF(NSELEM,A(N1),A(N2),A(N3),LL,NUMNP,MTOT,MBAND,MAXDF)   00003140
  179.       N5=7*LL                                                           00003150
  180.       CALL QVCOPY(A(N1),A(N3),N5)                                       00003160
  181.       KZ(6,1)=N3                                                        00003170
  182.       CALL QVCOPY(A(N2),A(N1),N4)                                       00003180
  183.       N2=N1+N4                                                          00003190
  184.   550 FORMAT(5X,47H ** ERROR.  ONLY ONE LEVEL OF SUBSTRUCTURING IS,     00007710
  185.      $18HALLOWED WHEN NDYN=,I3,2X,10HAND LMASS=,I3)                     00007720
  186.   183 CONTINUE
  187.   185 CONTINUE
  188.       WRITE (*,1095) N2,N4,N5,KRK1
  189.  1095 FORMAT (5X,'****** N2,N4,N5,KRK1 ******',4I5)
  190.       CALL COMMRW(0)
  191.       WRITE (*,1099)
  192.  1099 FORMAT (5X,'********** SAP6P2 FINISHED ***********')
  193. CC    STOP
  194.       END
  195.       SUBROUTINE ERROR(I)                                               00086230
  196.       IMPLICIT REAL*8(A-H,O-Z)                                          00086240
  197.       REAL*8  X                                                         00086250
  198.       COMMON /EXTRA/ MODEX,NREXTR(25)                                   R0086260
  199.       COMMON /PREP/ X(2),KSKIP,RRPREP(8)                                R0086270
  200.       KSKIP=1                                                           00086280
  201.       MODEX=1                                                           00086290
  202.       WRITE(6,100)I                                                     00086300
  203.   100 FORMAT (1H0//1X,30HALLOCATED STORAGE EXCEEDED BY   ,I7,6H WORDS)  00086310
  204.       WRITE(6,110)                                                      00086320
  205.   110 FORMAT(/1X, 29HNO EXECUTION WILL BE ALLOWED./)                    00086330
  206.       RETURN                                                            00086340
  207.       END                                                               00086350
  208.       SUBROUTINE INPTN(ID,ID2,ID4,NUMEL,NUMEL2,NUMNP,NTERM,NADND,NEQ,I, 00118260
  209.      1ISL,NSLDM)                                                        00118270
  210.       IMPLICIT REAL*8(A-H,O-Z)                                          00118280
  211.       REAL*8  ID3,ID2                                                   R0118290
  212.       REAL*8  ID                                                        00118300
  213.       REAL*8  ID4                                                       R0118310
  214.       LOGICAL ISLAVE                                                    R0118311
  215.       COMMON /GPS/ NEQ4(10),NRGPS(10)                                   R0118320
  216.       COMMON /PREP/ XMX,XAD,KSKIP,NDYN,I1,I99,POS,PRTCOD                00118330
  217.      $              ,POSSAV,PRTOFF,PRTON,PRTDUM,IDIRC                   00118340
  218.       COMMON /SUPEL/NSELEM,NEQL,NODESE,NRSUPE(3)                        R0118350
  219.       COMMON/SLVE/NSLAVE                                                00118360
  220.       COMMON /ELARRY/NELAR(4,20)                                        00118390
  221.       DIMENSION ID4(NADND)                                              R0118370
  222.       DIMENSION ID(NUMNP,3)                                             R0118380
  223.       DIMENSION IX(6)                                                   R0118390
  224.       DIMENSION IZ(6)                                                   00118400
  225.       DIMENSION ID3(9),ID2(13),ISL(NSLDM,4)                             R0118410
  226.         CALL FILES(7)                                                   00118430
  227.       REWIND 8                                                          00118440
  228.       READ (8) ((ID(I,J),J=1,3),I=1,NUMNP)                              RR118450
  229.       IF(NSLAVE.NE.0) REWIND 30                                         00118460
  230.       IF(NSLAVE.NE.0) READ(30)((ISL(I,J),J=1,4),I=1,NSLAVE)             RR118470
  231.       IF(KSKIP.EQ.1) GO TO 90                                           00118480
  232.       IF(PRTCOD.EQ.PRTOFF) GO TO 95                                     00118490
  233.       IF(POS.EQ.PRTDUM.AND.PRTCOD.NE.PRTON) GO TO 95                    00118500
  234.    90  WRITE(6,100)                                                     00118510
  235.    95 CONTINUE                                                          00118520
  236.   100 FORMAT(1X ,35X,28HEQUATION NUMBERS VS. DEGREES,1X,                00118530
  237.      110HOF FREEDOM,/26X,58(1H-)                                        00118540
  238.      2       //15X,2(40HNODE     X     Y     Z    XX    YY    ZZ,10X)/) 00118550
  239.   110 FORMAT(15X,I5,6I6)                                                00118560
  240.   111 FORMAT(1H+,64X,I5,6I6)                                            00118570
  241.       I1I1=-I1*I1                                                       00118580
  242.       DO 120 I=1,10                                                     00118590
  243.   120 NEQ4(I)=I1I1                                                      00118600
  244.       NG=1000                                                           00118610
  245.       NEQ=0                                                             00118620
  246.       DO 190 I=1,NUMNP                                                  00118630
  247.       ISLAVE=.FALSE.                                                    00118640
  248.       IF(NSLAVE.EQ.0) GO TO 1150                                        00118650
  249.       DO 1120 J=1,NSLAVE                                                00118660
  250.       IF(I.EQ.ISL(J,1)) GO TO 1140                                      00118670
  251.  1120 CONTINUE                                                          00118680
  252.       GO TO 1150                                                        00118690
  253.  1140 ISLAVE=.TRUE.                                                     00118700
  254.       ISLRF=J                                                           00118710
  255.  1150 CONTINUE                                                          00118720
  256.       DO 160 K=1,3                                                      00118730
  257.       NNN=ID(I,K)                                                       00118740
  258.       NNN= MOD(NNN,I1)                                                  00118750
  259.       IF(NNN.EQ.1) GO TO 150                                            00118760
  260.       IF(.NOT.ISLAVE) GO TO 1160                                        00118770
  261.       JJ=ISL(ISLRF,(K+1))                                               00118780
  262.       JJ=MOD(JJ,10000)                                                  00118790
  263.       IF(JJ.EQ.0) GO TO 1160                                            00118800
  264.       GO TO 1170                                                        00118810
  265.  1160 CONTINUE                                                          00118820
  266.       NEQ=NEQ+1                                                         00118830
  267.       NEQ1=NEQ                                                          00118840
  268.       IF(NNN.EQ.0) GO TO 140                                            00118850
  269.       NEQ2=NNN/NG                                                       00118860
  270.       IF(NEQ4(NEQ2).GT.0) GO TO 130                                     00118870
  271.       NEQ4(NEQ2)=NEQ1                                                   00118880
  272.       GO TO 140                                                         00118890
  273.   130 NEQ=NEQ1-1                                                        00118900
  274.       NEQ1=NEQ4(NEQ2)                                                   00118910
  275.   140 IX(K)=NEQ1                                                        00118920
  276.       GO TO 1175                                                        00118930
  277.   150 IX(K  )=0                                                         00118940
  278.       GO TO 1175                                                        00118950
  279.  1170 IZ(K)=-JJ                                                         00118960
  280.       IX(K)=0                                                           00118970
  281.       GO TO 160                                                         00118980
  282.  1175 IZ(K)=IX(K)                                                       00118990
  283.   160 CONTINUE                                                          00119000
  284.       DO 180 K=1,3                                                      00119010
  285.       NNN=ID(I,K)                                                       00119020
  286.       NN2=NNN                                                           00119030
  287.       NNN=NNN/I1                                                        00119040
  288.       IF(NNN.GT.0) GO TO 170                                            00119050
  289.       IF(.NOT.ISLAVE) GO TO 1180                                        00119060
  290.       JJ=ISL(ISLRF,(K+1))/10000                                         00119070
  291.       IF(JJ.EQ.0) GO TO 1180                                            00119080
  292.       GO TO 1190                                                        00119090
  293.  1180 CONTINUE                                                          00119100
  294.       NEQ=NEQ+1                                                         00119110
  295.       IX(K+3)=0                                                         00119120
  296.       IF(IX(K).GT.0) IX(K+3)=NEQ-IX(K)                                  00119130
  297.       IF(IX(K).EQ.0.AND. NEQ.EQ.1) IX(K)=I1                             00119140
  298.       IF(IX(K).EQ.0)IX(K)=-NEQ                                          00119150
  299.       IZ(K+3)=NEQ                                                       00119160
  300.       GO TO 180                                                         00119170
  301.   170 IX(K+3)=0                                                         00119180
  302.       IZ(K+3)=0                                                         00119190
  303.       GO TO 180                                                         00119200
  304.  1190 IX(K+3)=0                                                         00119210
  305.       IZ(K+3)=-JJ                                                       00119220
  306.   180 ID(I,K)=(ID(I,K)-NN2)+IX(K)+IX(K+3)*I1                            00119230
  307.       IF(KSKIP.EQ.1) GO TO 186                                          00119240
  308.       IF(PRTCOD.EQ.PRTOFF) GO TO 190                                    00119250
  309.       IF(POS.EQ.PRTDUM.AND.PRTCOD.NE.PRTON) GO TO 190                   00119260
  310.   186 CONTINUE                                                          00119270
  311.       IF(MOD(I,2)) 184,185,184                                          00119280
  312.   184 WRITE(6,110) I,IZ                                                 00119290
  313.       GO TO 190                                                         00119300
  314.   185 WRITE(6,111) I,IZ                                                 00119310
  315.   190 CONTINUE                                                          00119320
  316.       IF(NSLAVE.EQ.0)GO TO 1350                                         00119330
  317.       DO 1300 I=1,NSLAVE                                                00119340
  318.       ISLN=ISL(I,1)                                                     00119350
  319.       DO 1265 K=1,3                                                     00119360
  320.       JJ=ISL(I,(K+1))                                                   00119370
  321.       JJ=MOD(JJ,10000)                                                  00119380
  322.       CALL UNPKID(ID,NUMNP,W,WX,2,ISLN,K)                               00119390
  323.       NEQSL=W                                                           00119400
  324.       IF(JJ.EQ.0) GO TO 1260                                            00119410
  325.       NNN=ID(JJ,K)                                                      00119420
  326.       NNN=MOD(NNN,I1)                                                   00119430
  327.       CALL UNPKID(ID,NUMNP,W,WX,2,JJ,K)                                 00119440
  328.       NEQM=W                                                            00119450
  329.  1250 IX(K)=NEQM                                                        00119460
  330.       IZ(K)=NEQM                                                        00119470
  331.       GO TO 1265                                                        00119480
  332.  1260 CONTINUE                                                          00119490
  333.       IX(K)=NEQSL                                                       00119500
  334.       IZ(K)=NEQSL                                                       00119510
  335.  1265 CONTINUE                                                          00119520
  336.       DO 1280 K=1,3                                                     00119530
  337.       NNS=ID(ISLN,K)                                                    00119540
  338.       NNN=NNS/I1                                                        00119550
  339.       CALL UNPKID(ID,NUMNP,W,WX,2,ISLN,K+3)                             00119560
  340.       NEQSL=W                                                           00119570
  341.       CALL UNPKID(ID,NUMNP,W,COORD,1,ISLN,K)                            00119580
  342.       JJ=ISL(I,K+1)/10000                                               00119590
  343.       IF(JJ.EQ.0) GO TO 1270                                            00119600
  344.       NNN=ID(JJ,K)                                                      00119610
  345.       NNN=NNN/I1                                                        00119620
  346.       CALL UNPKID(ID,NUMNP,W,WX,2,JJ,K+3)                               00119630
  347.       NEQM=W                                                            00119640
  348.       IX(K+3)=0                                                         00119650
  349.       IZ(K+3)=NEQM                                                      00119660
  350.       IF(NEQM.EQ.0) GO TO 1280                                          00119670
  351.       GO TO 1275                                                        00119680
  352.  1270 CONTINUE                                                          00119690
  353.       IX(K+3)=0                                                         00119700
  354.       IZ(K+3)=NEQSL                                                     00119710
  355.       NEQM=NEQSL                                                        00119720
  356.       IF(NEQM.EQ.0) GO TO 1280                                          00119730
  357.  1275 CONTINUE                                                          00119740
  358.       IF(IX(K).GT.0.AND.IX(K).GT.NEQM) GO TO 1277                       00119750
  359.       IF(IX(K).GT.0) IX(K+3)=NEQM-IX(K)                                 00119760
  360.       IF(IX(K).EQ.0.AND.NEQM.EQ.1) IX(K)=I1                             00119770
  361.       IF(IX(K).EQ.0) IX(K)=-NEQM                                        00119780
  362.       GO TO 1280                                                        00119790
  363.  1277 IX(K)=-IX(K)                                                      00119800
  364.       IX(K+3)=-NEQM                                                     00119810
  365.  1280 ID(ISLN,K)=COORD/XMX+XAD+IX(K)+IX(K+3)*I1                         00119820
  366.       IF(MOD(I,2))1290,1295,1290                                        00119830
  367.  1290 CONTINUE                                                          00119840
  368.       GO TO 1300                                                        00119850
  369.  1295 CONTINUE                                                          00119860
  370.  1300 CONTINUE                                                          00119870
  371.  1350 CONTINUE                                                          00119880
  372.       PRTCOD = POS                                                      00119890
  373.       IF(NSLAVE.EQ.0) GO TO 1410                                        00119900
  374.       WRITE(6,310)                                                      00119910
  375.       DO 1400 I=1,NUMNP                                                 00119920
  376.       DO 1360 K=1,6                                                     00119930
  377.       IZ(K)=0                                                           00119940
  378.       CALL UNPKID(ID,NUMNP,W,WX,2,I,K)                                  00119950
  379.       IZ(K)=W                                                           00119960
  380.  1360 CONTINUE                                                          00119970
  381.       IF(MOD(I,2))1390,1395,1390                                        00119980
  382.  1390 WRITE(6,110)I,IZ                                                  00119990
  383.       GO TO 1400                                                        00120000
  384.  1395 WRITE(6,111)I,IZ                                                  00120010
  385.  1400 CONTINUE                                                          00120020
  386.  1410 CONTINUE                                                          00120030
  387.       IF (KSKIP.EQ.1.AND.NDYN.NE.2) GO TO 250                           00120040
  388.       NEQL=0                                                            00120050
  389.       IF(NDYN.NE.8.AND.NDYN.NE.9) GO TO 196                             00120060
  390.       DO 192 K=1,6                                                      00120070
  391.       CALL UNPKID(ID,NUMNP,W,WX,2,NODESE,K)                             00120080
  392.       IF(W.GT.0.0)GO TO 194                                             00120090
  393.   192 CONTINUE                                                          00120100
  394.   194 NEQL=W-1                                                          00120110
  395.       WRITE(6,195)NEQL                                                  00120120
  396.   195 FORMAT(/20X,37HTHE LAST EQUATION TO BE ELIMINATED IS,I5//)        00120130
  397.   196 CONTINUE                                                          00120140
  398.       REWIND 8                                                          00120150
  399.       WRITE (8) ID                                                      00120160
  400.   200 REWIND 4                                                          00120170
  401.       NBLANK=0                                                          00120180
  402.       DO 210 I=1,NUMEL                                                  R0120181
  403.       READ (4) ID2                                                      R0120190
  404.       IF(NTERM.GT.1) READ (4) ID4                                       RR120200
  405. CC    DO 210 I=1,NUMEL                                                  00120210
  406.       MT=ID2(13)                                                        R0120220
  407.       IF(MT.EQ.7) NBLANK=NBLANK+1                                       00120230
  408. CC    WRITE (6,1009) I,ID2                                              R0120232
  409.       WRITE (68) ID2                                                    R0120240
  410.       IF(NTERM.GT.1.AND.NELAR(1,MT).GT.8) WRITE (68) ID4                R0120250
  411.   210 CONTINUE                                                          00120260
  412.   220 IF(NUMEL2.EQ.0) GO TO 240                                         00120270
  413.       REWIND 9                                                          00120280
  414.       DO 230 I=1,NUMEL2                                                 00120290
  415.       READ (9) ID3                                                      00120300
  416.   230 WRITE (8) ID3                                                     00120310
  417.   240 REWIND 8                                                          00120320
  418. CC    REWIND 68                                                         R0120321
  419.       I=NBLANK                                                          00120330
  420.       READ (8) ID                                                       00120340
  421.   250 CONTINUE                                                          00120350
  422.       RETURN                                                            00120360
  423.   300 FORMAT(1X ,36X,28HEQUATION NUMBERS VS. DEGREES,1X,                00120370
  424.      131HOF FREEDOM FOR SLAVE NODES ONLY,/37X,60(1H-)                   00120380
  425.      2       //15X,2(40HNODE     X     Y     Z    XX    YY    ZZ,10X)/) 00120390
  426.   310 FORMAT(1X ,20X,28HEQUATION NUMBERS VS. DEGREES,1X,                00120400
  427.      157HOF FREEDOM AFTER THE DECOMPOSTION OF SLAVE NODE EQUATIONS,     00120410
  428.      2/11X,105(1H-)                                                     00120420
  429.      2       //15X,2(40HNODE     X     Y     Z    XX    YY    ZZ,10X)/) 00120430
  430. C1009 FORMAT (1X,'IN INPTN OF ELEMENT RANGE  ',I5,13F7.1/)              R0120431
  431.       END                                                               00120440
  432.       SUBROUTINE UNPKID(ID,NUMNP,X,COORD,MODE,N,IDOF)                   00317660
  433.       IMPLICIT REAL*8 (A-H,O-Z)                                         00317670
  434.       REAL*8  ID                                                        00317680
  435.       DIMENSION ID(NUMNP,3)                                             00317690
  436.       COMMON /PREP/XMX,XAD,J1(2),I1,RRPREP(7)                           R0317700
  437.       GO TO (100,110),MODE                                              00317710
  438.   100 X=ID(N,IDOF)                                                      00317720
  439.       K=X                                                               00317730
  440.       IF(X.LT.0.0) K=K-1                                                00317740
  441.       COORD=(X-K-XAD)*XMX                                               00317750
  442.       RETURN                                                            00317760
  443.   110 JJ=IDOF                                                           00317770
  444.       IF(IDOF.GE.4) GO TO 120                                           00317780
  445.       NNN=ID(N,JJ)                                                      00317790
  446.       IF(NNN.LT.0) GO TO 115                                            00317800
  447.       NNN= MOD(NNN,I1)                                                  00317810
  448.       GO TO 117                                                         00317820
  449.   115 CONTINUE                                                          00317830
  450.       IF(IABS(NNN).GT.I1) GO TO 116                                     00317840
  451.       NNN=MOD(NNN,I1)                                                   00317850
  452.       IF(NNN.LT.0) NNN=0                                                00317860
  453.       GO TO 117                                                         00317870
  454.   116 NNN=1-NNN                                                         00317880
  455.       NNN=MOD(NNN,I1)                                                   00317890
  456.       GO TO 117                                                         00317900
  457.   117 X=NNN                                                             00317910
  458.       RETURN                                                            00317920
  459.   120 JJ=JJ-3                                                           00317930
  460.       NNN=ID(N,JJ)                                                      00317940
  461.                                                                         00317950
  462.       IF(NNN.GE.0) GO TO 130                                            00317960
  463.       IF(IABS(NNN).LT.I1) GO TO 130                                     00317970
  464.       NN2=NNN/I1                                                        00317980
  465.       NNN=-NN2                                                          00317990
  466.       GO TO 140                                                         00318000
  467.   130 CONTINUE                                                          00318010
  468.       NN2=MOD(NNN,I1)                                                   00318020
  469.       NNN=NNN/I1                                                        00318030
  470.       IF(NNN.GT.0) NNN=NNN+NN2                                          00318040
  471.       IF(NN2.LT.0) NNN=1-NN2                                            00318050
  472.   140 CONTINUE                                                          00318060
  473.       X=NNN                                                             00318070
  474.       RETURN                                                            00318080
  475.       END                                                               00318090
  476.       SUBROUTINE FILES (NOPEN)                                          00087420
  477.         RETURN                                                          00087430
  478.         END                                                             00087440
  479.       SUBROUTINE QVCOPY(FROM,TO,N)                                      00193850
  480.       REAL*8 FROM,TO                                                    00193860
  481.       DIMENSION FROM(1),TO(1)                                           00193870
  482.       DO 100 I=1,N                                                      00193880
  483.   100 TO(I)=FROM(I)                                                     00193890
  484.       RETURN                                                            00193900
  485.       END                                                               00193910
  486.       SUBROUTINE QMR2(C,D,FAC,B,N,JC,KC,JB)                             00186840
  487.       IMPLICIT REAL*8(A-H,O-Z)                                          00186850
  488.       DIMENSION B(1),C(1),D(1)                                          00186860
  489.       IB=1                                                              00186870
  490.       IC=1                                                              00186880
  491.       DO 100 I=1,N                                                      00186890
  492.       C(IC)=D(IC)-FAC*B(IB)                                             00186900
  493.       IB=IB+JB                                                          00186910
  494.   100 IC=IC+JC                                                          00186920
  495.       RETURN                                                            00186930
  496.       END                                                               00186940
  497.       SUBROUTINE QVSET(C,A,N)                                           00194580
  498.       REAL*8 C,A                                                        00194590
  499.       DIMENSION A(1)                                                    00194600
  500.       DO 100 I=1,N                                                      00194610
  501.   100 A(I)=C                                                            00194620
  502.       RETURN                                                            00194630
  503.       END                                                               00194640
  504.       SUBROUTINE CLOSE
  505.       RETURN
  506.       END
  507.       SUBROUTINE EXIT
  508.       WRITE (6,101)
  509.  101  FORMAT (5X,'********  SAP6 PROGRAM STOP  ********')
  510.       STOP
  511.       END
  512.       SUBROUTINE SECOND(T)                                              00234270
  513.       IMPLICIT REAL*8 (A-H,O-Z)                                         00234280
  514.       CALL GETTIM(NA,NB,NC,ND)                                          R0234281
  515.       AA = NA * 100.0                                                   R0234282
  516.       CC = NC                                                           R0234283
  517.       CC = CC / 100.0                                                   R0234284
  518.       T = AA + NB + CC                                                  R0234285
  519.       RETURN                                                            00234300
  520.       END                                                               R0234310
  521.       BLOCKDATA                                                         00007790
  522.       IMPLICIT REAL*8(A-H,O-Z)                                          00007800
  523.         COMMON/HEADIN/TITLE1(20),TITLE2(5),TITLE3(10)                   00007810
  524.       COMMON/ELARRY/NELAR(4,20)                                         00007820
  525.       COMMON /GASS/ XK(4,4),WGT(4,4),IPERM(3)                           00007830
  526.       COMMON/GASS2/A5(7,2),W5(7)                                        00007840
  527.       COMMON /PREP/XMX,XAD,KSKIP,NDYN,I1,I99,POS,PRTCOD                 00007850
  528.      1,POSSAV,PRTOFF,PRTON,PRTDUM,IDIRC                                 00007860
  529.       DATA XK /     0.D0,     0.D0,               0.D0,            0.D0,00007870
  530.      $ -.5773502691896D0, .5773502691896D0,     0.D0,              0.D0,00007880
  531.      $ -.7745966692415D0, .0000000000000D0, .7745966692415D0,      0.D0,00007890
  532.      $ -.8611363115941D0,-.3399810435849D0, .3399810435849D0,           00007900
  533.      $.8611363115941D0/                                                 00007910
  534.       DATA WGT / 2.000D0,     0.D0,          0.D0,           0.D0,      00007920
  535.      $ 1.0000000000000D0,1.0000000000000D0,  0.D0,           0.D0,      00007930
  536.      $  .5555555555556D0, .8888888888889D0, .5555555555556D0,0.D0,      00007940
  537.      $  .3478548451375D0, .6521451548625D0, .6521451548625D0,           00007950
  538.      $  .3478548451375D0/                                               00007960
  539.       DATA IPERM / 2,3,1 /                                              00007970
  540.       DATA  A5(1,1)/-0.333333333333D0/,A5(2,1)/-0.88056825640D0/        00007980
  541.       DATA  A5(3,1)/-0.05971587178D0/,A5(4,1)/-0.05971587178D0/         00007990
  542.       DATA  A5(5,1)/ 0.59485397070D0/, A5(6,1)/-0.79742698530D0/        00008000
  543.       DATA  A5(7,1)/-0.79742698530D0/, A5(1,2)/-0.333333333333D0/       00008010
  544.       DATA  A5(2,2)/-0.05971587178D0/, A5(3,2)/-0.88076825640D0/        00008020
  545.       DATA  A5(4,2)/-0.05971587178D0/ ,A5(5,2)/-0.79742698530D0/        00008030
  546.       DATA  A5(6,2)/ 0.59485397070D0/ ,A5(7,2)/-0.79742698530D0/        00008040
  547.       DATA    W5(1)/ 0.225        D0/,  W5(2)/ 0.13239415   D0/         00008050
  548.       DATA    W5(3)/ 0.13239415   D0/,  W5(4)/ 0.13239415   D0/         00008060
  549.       DATA    W5(5)/ 0.12593918   D0/,  W5(6)/ 0.12593918   D0/         00008070
  550.       DATA    W5(7)/ 0.12593918   D0/                                   00008080
  551.       DATA NELAR /                                                      00008090
  552.      $   2,   2,   6,   2,                                              00008100
  553.      $   3,   2,  12,  28,                                              00008110
  554.      $   4,   4,  12,   8,                                              00008120
  555.      $   4,   4,   8,   4,                                              00008130
  556.      $   8,   8,  33,  54,                                              00008140
  557.      $   4,   4,  42,  24,                                              00008150
  558.      $   1,   1,   1,   1,                                              00008160
  559.      $   4,   4,   8,   4,                                              00008170
  560.      $   3,   2,  12,  39,                                              00008180
  561.      $  20,  20,  60,  54,                                              00008190
  562.      $   8,   8,  16,  52,                                              00008200
  563.      $   8,   8,  16,  52,                                              00008210
  564.      $   8,   8,  16,  52,                                              00008220
  565.      $   4,   1,   6,   6,                                              00008230
  566.      $   8,   8,  48,   6,                                              00008240
  567.      $   20*0/                                                          00008250
  568.       DATA TITLE2/4H    ,4HSAP6,4H    ,4HVER.,4H 2.0/                   00008260
  569.       DATA TITLE3(3)/4H LPI/,TITLE3(4)/4HAUTO/,TITLE3(5)/54./           00008330
  570.       DATA POS/3H   /,PRTCOD/3H   /                                     00008340
  571.       DATA POSSAV/3H   /,PRTOFF/3HOFF/,PRTON/3HON-/,PRTDUM/3HDUM/       00008350
  572.       DATA IDIRC/0/                                                     00008360
  573.       END                                                               00008370
  574.       SUBROUTINE ALPHZH(T,M,ALPHZM)                                     00017030
  575.       IMPLICIT REAL*8(A-H,O-Z)                                          00017040
  576.       DIMENSION COEF(11,8)                                              00017050
  577.       DATA COEF/                                                        00017060
  578.      1 7.0,100.0,1500.0,8.971084,1.541013E-3,4.438142E-6,-2.33287E-8,   00017070
  579.      1 4.508292E-11,-4.192721E-14,1.877651E-17,-3.252818E-21,           00017080
  580.      2 7.0,100.0,1500.0,8.971084,1.541013E-3,4.438142E-6,-2.33287E-8,   00017090
  581.      2 4.508292E-11,-4.192721E-14,1.877651E-17,-3.252818E-21,           00017100
  582.      3 0.0,0.0,2500.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,                  00017110
  583.      4 4.0,75.0,1400.0,6.971162,2.609495E-3,-3.323012E-6,               00017120
  584.      4     2.919442E-9,-8.657382E-13,0.0,0.0,0.0,                       00017130
  585.      5 4.0,100.0,800.0,5.839035,3.176186E-3,-3.025846E-6,               00017140
  586.      5 3.570877E-9,-1.518135E-12,0.0,0.0,0.0,                           00017150
  587.      6 4.0,100.0,800.0,5.839035,3.176186E-3,-3.025846E-6,               00017160
  588.      6 3.570877E-9,-1.518135E-12,0.0,0.0,0.0,                           00017170
  589.      7 4.0,100.0,800.0,5.839035,3.176186E-3,-3.025846E-6,               00017180
  590.      7 3.570877E-9,-1.518135E-12,0.0,0.0,0.0,                           00017190
  591.      8 0.0,0.0,2500.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0/                  00017200
  592.       ICODE=4                                                           00017210
  593.       IF(M.LT.1.OR.M.GT.8)CALL RPZLVZ(M,T,ICODE,8)                      00017220
  594.       N=COEF(1,M)                                                       00017230
  595.       T1=COEF(2,M)                                                      00017240
  596.       T2=COEF(3,M)                                                      00017250
  597.       IF(T.LT.T1.OR.T.GT.T2)CALL RPZLVZ(M,T,ICODE,1)                    00017260
  598.       ALPHZM=COEF(N+4,M)                                                00017270
  599.       IF(N.EQ.0)RETURN                                                  00017280
  600.       DO 10 I=1,N                                                       00017290
  601.    10 ALPHZM=ALPHZM*T+COEF(N-I+4,M)                                     00017300
  602.       RETURN                                                            00017310
  603.       END                                                               00017320
  604.       SUBROUTINE ALPHZL(T,M,ALPHZM)                                     00017330
  605.       IMPLICIT REAL*8(A-H,O-Z)                                          00017340
  606.       IF(M.LT.1.OR.M.GT.15) GO TO 1000                                  00017350
  607.       IF(M.EQ.1) ALPHZM=6.12                                            00017360
  608.       IF(M.EQ.1) RETURN                                                 00017370
  609.  1000 WRITE(6,1010) M                                                   00017380
  610.  1010 FORMAT(1X ,88HERROR--YOU HAVE ENTERED MATERIAL PROPERTY ROUTINE AL00017390
  611.      1PHZM WITH A MATERIAL CODE NUMBER OF ,I5,1H./8X,74HONLY VALUES BETW00017400
  612.      2EEN 1 AND 15 ARE VALID.  CHECK YOUR INPUT, JOB TERMINATED.)       00017410
  613.       RETURN                                                            00017420
  614.       END                                                               00017430
  615.       DOUBLE PRECISION FUNCTION ALPHZM(T,M)                             00017440
  616.       IMPLICIT REAL*8(A-H,O-Z)                                          00017450
  617.       COMMON/MATL/MATLCO                                                00017460
  618.       DATA NHIGH/4HHIGH/                                                00017470
  619.       IF(MATLCO.NE.NHIGH)GO TO 10                                       00017480
  620.       CALL ALPHZH(T,M,X)                                                00017490
  621.       ALPHZM=X*1.0D-6                                                   00017500
  622.       RETURN                                                            00017510
  623.    10 CALL ALPHZL(T,M,X)                                                00017520
  624.       ALPHZM=X*1.0D-6                                                   00017530
  625.       RETURN                                                            00017540
  626.       END                                                               00017550
  627.       SUBROUTINE DENS1  (T,M,DENS  )                                    00056740
  628.       IMPLICIT REAL*8(A-H,O-Z)                                          00056750
  629.       IF(M.LT.1.OR.M.GT.15) GO TO 1000                                  00056760
  630.       IF(M.EQ.1) DENS=490.9                                             00056770
  631.       IF(M.EQ.1) RETURN                                                 00056780
  632.  1000 WRITE(6,1010) M                                                   00056790
  633.  1010 FORMAT(1X ,86HERROR--YOU HAVE ENTERED MATERIAL PROPERTY ROUTINE DE00056800
  634.      1NS WITH A MATERIAL CODE NUMBER OF ,  I5,1H./8X,74HONLY VALUES BETW00056810
  635.      2EEN 1 AND 15 ARE VALID.  CHECK YOUR INPUT, JOB TERMINATED.)       00056820
  636.       RETURN                                                            00056830
  637.       END                                                               00056840
  638.       SUBROUTINE DENS2  (T,M,DENS  )                                    00056850
  639.       IMPLICIT REAL*8(A-H,O-Z)                                          00056860
  640.       DIMENSION COEF(11,8)                                              00056870
  641.       DATA COEF/                                                        00056880
  642.      1 1.0,100.0,1500.0,502.5447,-1.603769E-2,0.0,0.0,0.0,0.0,0.0,0.0,  00056890
  643.      2 1.0,100.0,1500.0,498.5886,-1.537035E-2,0.0,0.0,0.0,0.0,0.0,0.0,  00056900
  644.      3 3.0,32.0,2500.0,59.566,-7.9504E-3,-2.872E-7,6.035E-11,0.0,0.0,   00056910
  645.      3 0.0,0.0,                                                         00056920
  646.      4 2.0,75.0,1400.0,526.1008,-1.345453E-2,-1.194367E-7,0.0,0.0,0.0,  00056930
  647.      4 0.0,0.0,                                                         00056940
  648.      5 1.0,100.0,800.0,491.8014,-1.287008E-2,0.0,0.0,0.0,0.0,0.0,0.0,   00056950
  649.      6 1.0,100.0,800.0,491.8014,-1.287008E-2,0.0,0.0,0.0,0.0,0.0,0.0,   00056960
  650.      7 4.0,100.0,800.0,492.0608,-1.713633E-2,1.997181E-5,-3.37813E-8,   00056970
  651.      7 1.874099E-11,0.0,0.0,0.0,                                        00056980
  652.      8 4.0,0.0,2500.0,8.591723E-2,-1.737652E-4,2.648259E-7,-.2314231E-9,00056990
  653.      8 8.177454E-14,0.0,0.0,0.0/                                        00057000
  654.       ICODE=3                                                           00057010
  655.       IF(M.LT.1.OR.M.GT.8)CALL RPZLVZ(M,T,ICODE,8)                      00057020
  656.       N=COEF(1,M)                                                       00057030
  657.       T1=COEF(2,M)                                                      00057040
  658.       T2=COEF(3,M)                                                      00057050
  659.       IF(T.LT.T1.OR.T.GT.T2)CALL RPZLVZ(M,T,ICODE,1)                    00057060
  660.       IF(T.GT.208.OR.M.NE.3)GO TO 5                                     00057070
  661.       DENS=60.93-6.792E-3*T-2.9E-6*T*T                                  00057080
  662.       RETURN                                                            00057090
  663.     5 CONTINUE                                                          00057100
  664.       DENS  =COEF(N+4,M)                                                00057110
  665.       IF(N.EQ.0)RETURN                                                  00057120
  666.       DO 10 I=1,N                                                       00057130
  667.    10 DENS  =DENS  *T+COEF(N-I+4,M)                                     00057140
  668.       RETURN                                                            00057150
  669.       END                                                               00057160
  670.       DOUBLE PRECISION FUNCTION DENS  (T,M)                             00056620
  671.       IMPLICIT REAL*8(A-H,O-Z)                                          00056630
  672.       COMMON/MATL/MATLCO                                                00056640
  673.       DATA NHIGH/4HHIGH/                                                00056650
  674.       IF(MATLCO.NE.NHIGH)GO TO 10                                       00056660
  675.       CALL DENS2  (T,M,X)                                               00056670
  676.       DENS=X                                                            00056680
  677.       RETURN                                                            00056690
  678.    10 CALL DENS1  (T,M,X)                                               00056700
  679.       DENS=X                                                            00056710
  680.       RETURN                                                            00056720
  681.       END                                                               00056730
  682.       SUBROUTINE MODUE1 (T,M,MODUE )                                    00150370
  683.       IMPLICIT REAL*8(A-H,O-Z)                                          00150380
  684.       REAL*8MODUE                                                       00150390
  685.       IF(M.LT.1.OR.M.GT.15) GO TO 1000                                  00150400
  686.       IF(M.EQ.1) MODUE=29.665                                           00150410
  687.       IF(M.EQ.1) RETURN                                                 00150420
  688.  1000 WRITE(6,1010) M                                                   00150430
  689.  1010 FORMAT(1X ,87HERROR--YOU HAVE ENTERED MATERIAL PROPERTY ROUTINE MO00150440
  690.      1DUE WITH A MATERIAL CODE NUMBER OF , I5,1H./8X,74HONLY VALUES BETW00150450
  691.      2EEN 1 AND 15 ARE VALID.  CHECK YOUR INPUT, JOB TERMINATED.)       00150460
  692.       RETURN                                                            00150470
  693.       END                                                               00150480
  694.       SUBROUTINE MODUE2 (T,M,MODUE )                                    00150490
  695.       IMPLICIT REAL*8(A-H,O-Z)                                          00150500
  696.       REAL*8 MODUE                                                      00150510
  697.       DIMENSION COEF(11,8)                                              00150520
  698.       DATA COEF/                                                        00150530
  699.      1 3.0,100.0,1500.0,28.33669,-2.882211E-3,-3.697849E-6,7.709188E-10,00150540
  700.      1 0.0,0.0,0.0,0.0,                                                 00150550
  701.      2 3.0,100.0,1500.0,28.33669,-2.882211E-3,-3.697849E-6,7.709188E-10,00150560
  702.      2 0.0,0.0,0.0,0.0,                                                 00150570
  703.      3 0.0,32.0,2500.0,0.01,0.0,0.0,0.0,0.0,0.0,0.0,0.0,                00150580
  704.      4 7.0,75.0,1600.0,32.17532,-8.441689E-3,1.0776E-5,1.433823E-9,     00150590
  705.      4 -3.887096E-11,5.191192E-14,-2.767454E-17,5.402884E-21,           00150600
  706.      5 4.0,100.0,800.0,30.28987,-3.658438E-3,-2.600385E-6,4.86326E-9,   00150610
  707.      5 -6.323402E-12,0.0,0.0,0.0,                                       00150620
  708.      6 4.0,100.0,800.0,30.28987,-3.658438E-3,-2.600385E-6,4.86326E-9,   00150630
  709.      6 -6.323402E-12,0.0,0.0,0.0,                                       00150640
  710.      7 4.0,100.0,800.0,30.28987,-3.658438E-3,-2.600385E-6,4.86326E-9,   00150650
  711.      7 -6.323402E-12,0.0,0.0,0.0,                                       00150660
  712.      8 0.0,0.0,2500.0,0.01,0.0,0.0,0.0,0.0,0.0,0.0,0.0/                 00150670
  713.       ICODE=5                                                           00150680
  714.       IF(M.LT.1.OR.M.GT.8)CALL RPZLVZ(M,T,ICODE,8)                      00150690
  715.       N=COEF(1,M)                                                       00150700
  716.       T1=COEF(2,M)                                                      00150710
  717.       T2=COEF(3,M)                                                      00150720
  718.       IF(T.LT.T1.OR.T.GT.T2)CALL RPZLVZ(M,T,ICODE,1)                    00150730
  719.       MODUE =COEF(N+4,M)                                                00150740
  720.       IF(N.EQ.0)RETURN                                                  00150750
  721.       DO 10 I=1,N                                                       00150760
  722.    10 MODUE =MODUE *T+COEF(N-I+4,M)                                     00150770
  723.       RETURN                                                            00150780
  724.       END                                                               00150790
  725.       DOUBLE PRECISION FUNCTION MODUE (T,M)                             00150250
  726.       IMPLICIT REAL*8(A-H,O-Z)                                          00150260
  727.       COMMON/MATL/MATLCO                                                00150270
  728.       DATA NHIGH/4HHIGH/                                                00150280
  729.       IF(MATLCO.NE.NHIGH)GO TO 10                                       00150290
  730.       CALL MODUE2 (T,M,X)                                               00150300
  731.       MODUE=X*1.0D6                                                     00150310
  732.       RETURN                                                            00150320
  733.    10 CALL MODUE1 (T,M,X)                                               00150330
  734.       MODUE=X*1.0D6                                                     00150340
  735.       RETURN                                                            00150350
  736.       END                                                               00150360
  737.       SUBROUTINE PRATO1 (T,M,PRATO )                                    00175250
  738.       IMPLICIT REAL*8(A-H,O-Z)                                          00175260
  739.       IF(M.LT.1.OR.M.GT.15) GO TO 1000                                  00175270
  740.       GO TO(841,842,843,844,845,846,847,848,849,850,851,852,853,854,855)00175280
  741.      1,M                                                                00175290
  742.   841 PRATO = 0.3                                                       00175300
  743.       RETURN                                                            00175310
  744.   842 PRATO = 0.3                                                       00175320
  745.       RETURN                                                            00175330
  746.   843 PRATO = 0.3                                                       00175340
  747.       RETURN                                                            00175350
  748.   844 PRATO = 0.3                                                       00175360
  749.       RETURN                                                            00175370
  750.   845 PRATO = 0.3                                                       00175380
  751.       RETURN                                                            00175390
  752.   846 PRATO = 0.3                                                       00175400
  753.       RETURN                                                            00175410
  754.   847 PRATO = 0.3                                                       00175420
  755.       RETURN                                                            00175430
  756.   848 PRATO = 0.3                                                       00175440
  757.       RETURN                                                            00175450
  758.   849 PRATO = 0.0                                                       00175460
  759.       RETURN                                                            00175470
  760.   850 PRATO = 0.0                                                       00175480
  761.       RETURN                                                            00175490
  762.   851 PRATO = 0.3                                                       00175500
  763.       RETURN                                                            00175510
  764.   852 PRATO = 0.3                                                       00175520
  765.       RETURN                                                            00175530
  766.   853 PRATO = 0.0                                                       00175540
  767.       RETURN                                                            00175550
  768.   854 PRATO = 0.0                                                       00175560
  769.       RETURN                                                            00175570
  770.   855 PRATO = 0.0                                                       00175580
  771.       RETURN                                                            00175590
  772.  1000 WRITE(6,1010) M                                                   00175600
  773.  1010 FORMAT(1X ,88HERROR--YOU HAVE ENTERED MATERIAL PROPERTY ROUTINE PR00175610
  774.      1ATO WITH A MATERIAL CODE NUMBER OF  ,I5,1H./8X,74HONLY VALUES BETW00175620
  775.      2EEN 1 AND 15 ARE VALID.  CHECK YOUR INPUT, JOB TERMINATED.)       00175630
  776.       RETURN                                                            00175640
  777.       END                                                               00175650
  778.       SUBROUTINE PRATO2(T,M,PRATO)                                      00175660
  779.       IMPLICIT REAL*8(A-H,O-Z)                                          00175670
  780.       DIMENSION COEF(11,8)                                              00175680
  781.       DATA COEF/                                                        00175690
  782.      1 3.0,100.0,1500.0,2.596489E-1,6.268223E-5,-2.928358E-8,           00175700
  783.      1 1.156704E-11,0.0,0.0,0.0,0.0,                                    00175710
  784.      2 1.0,100.0,1500.0,2.624811E-1,4.265787E-5,0.0,0.0,0.0,0.0,0.0,0.0,00175720
  785.      3 0.0,32.0,2500.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,                 00175730
  786.      4 3.0,75.0,1600.0,2.867834E-1,5.339406E-5,-8.19186E-10,            00175740
  787.      4 4.805192E-12,0.0,0.0,0.0,0.0,                                    00175750
  788.      5 0.0,100.0,800.0,0.3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,                 00175760
  789.      6 0.0,100.0,800.0,0.3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,                 00175770
  790.      7 0.0,100.0,800.0,0.3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,                 00175780
  791.      8 0.0,0.0,2500.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0/                  00175790
  792.       ICODE=7                                                           00175800
  793.       IF(M.LT.1.OR.M.GT.8)CALL RPZLVZ(M,T,ICODE,8)                      00175810
  794.       N=COEF(1,M)                                                       00175820
  795.       T1=COEF(2,M)                                                      00175830
  796.       T2=COEF(3,M)                                                      00175840
  797.       IF(T.LT.T1.OR.T.GT.T2)CALL RPZLVZ(M,T,ICODE,1)                    00175850
  798.       PRATO =COEF(N+4,M)                                                00175860
  799.       IF(N.EQ.0)RETURN                                                  00175870
  800.       DO 10 I=1,N                                                       00175880
  801.    10 PRATO =PRATO *T+COEF(N-I+4,M)                                     00175890
  802.       RETURN                                                            00175900
  803.       END                                                               00175910
  804.       SUBROUTINE RPZLVZ(MCODE,TEMP,PCODE,ECODE)                         00216460
  805.       IMPLICIT REAL*8(A-H,O-Z)                                          00216470
  806.       INTEGER PROP(2,10),PCODE,ECODE                                    00216480
  807.       DATA PROP/4HCOND,4HT   ,4HSPHT,4H    ,4HDENS,4H    ,4HALPH,4HZM  ,00216490
  808.      X          4HMODU,4HE   ,4HYDST,4HR   ,4HPRAT,4HO   ,4HBIYL,4HD   ,00216500
  809.      X          4HPLAS,4HTC  ,4HHBIY,4HLD  /                            00216510
  810.       IF(ECODE.GT.1)GO TO 10                                            00216520
  811.       RETURN                                                            00216530
  812.    10 WRITE(6,30)(PROP(I,PCODE),I=1,2),MCODE,ECODE,TEMP                 00216540
  813.       RETURN                                                            00216550
  814.    20 FORMAT(//,68H **** WARNING - YOU HAVE ENTERED THE LMFBR MARERIAL L00216560
  815.      2IBRARY ROUTINE ,2A4,18HWITH A TEMPERATURE,F7.0,20H OUT OF VALID RA00216570
  816.      3NGE.,/,42H PLEASE CHECK YOUR INPUT.  MATERIAL CODE =,I3,/)        00216580
  817.    30 FORMAT(//,66H **** ERROR - YOU HAVE ENTERED THE LMFBR MATERIAL LIB00216590
  818.      2RARY ROUTINE ,2A4,23HWITH A MATERIAL CODE OF,I5,/,20HONLY CODES 1 00216600
  819.      3THROUGH,I3,43H ARE VALID.  JOB TERMINATED.  TEMPERATURE =,F7.0,/) 00216610
  820.       END                                                               00216620
  821.       SUBROUTINE POSINV (A,NMAX,NDD)                                    00174950
  822.         IMPLICIT REAL*8 (A-H,O-Z)                                       00174960
  823.       DIMENSION A(NDD,NDD)                                              00174970
  824.       DO 150 N=1,NMAX                                                   00174980
  825.       D=A(N,N)                                                          00174990
  826.       DO 100 J=1,NMAX                                                   00175000
  827.   100 A(N,J)=-A(N,J)/D                                                  00175010
  828.       DO 140 I=1,NMAX                                                   00175020
  829.       IF(N-I) 110,140,110                                               00175030
  830.   110 DO 130 J=1,NMAX                                                   00175040
  831.       IF(N-J) 120,130,120                                               00175050
  832.   120 A(I,J)=A(I,J)+A(I,N)*A(N,J)                                       00175060
  833.   130 CONTINUE                                                          00175070
  834.   140 A(I,N)=A(I,N)/D                                                   00175080
  835.       A(N,N)=1.0E0/D                                                    00175090
  836.   150 CONTINUE                                                          00175100
  837.       RETURN                                                            00175110
  838.       END                                                               00175120
  839.       DOUBLE PRECISION FUNCTION PRATO (T,M)                             00175130
  840.       IMPLICIT REAL*8(A-H,O-Z)                                          00175140
  841.       COMMON/MATL/MATLCO                                                00175150
  842.       DATA NHIGH/4HHIGH/                                                00175160
  843.       IF(MATLCO.NE.NHIGH)GO TO 10                                       00175170
  844.       CALL PRATO2 (T,M,X)                                               00175180
  845.       PRATO=X                                                           00175190
  846.       RETURN                                                            00175200
  847.    10 CALL PRATO1 (T,M,X)                                               00175210
  848.       PRATO=X                                                           00175220
  849.       RETURN                                                            00175230
  850.       END                                                               00175240
  851.       SUBROUTINE SUPSTF(NSELEM,PROP6,ID,LM,LL,NUMNP,MTOT,MBAND,MAXDF )  00286490
  852.       IMPLICIT REAL*8(A-H,O-Z)                                          00286500
  853.       REAL*8 LM(1),ID(NUMNP,3),JD                                       00286510
  854.       LOGICAL ELPRT,ELPCH,GENPRT,GENPCH                                 00286520
  855.       DIMENSION PROP6(LL,7)                                             00286530
  856.       COMMON/QTSARG/ NOD(1000),RRQTSA(500)                              R0286540
  857.       COMMON /CG/ SCG(4),RRCG(2)                                        R0286550
  858.       COMMON/CTL/ELPRT,ELPCH,GENPRT,GENPCH                              00286560
  859.       COMMON/FORCE/NLC,NELD                                             00286570
  860.       COMMON/MASS/LMASS                                                 00286580
  861.       COMMON /TRASH/JD(100,3),KCF,KP,KAX,KAY,KAZ,KT,KM,LT,NWDS,L,I,J,K  00286590
  862.      $KN,ND,NDF,KS,KE,JR,IR,IC,JC,KC,LC,NDL,JM1,IK,JK,KJ,KI,NDIF,IM1,IP100286600
  863.      & ,RRTRAS(174)                                                     R0286601
  864.       COMMON /JUNK/ PM,T,TYPE,TIME,W,WX,EMAX,RRJUNK(220)                R0286610
  865.       COMMON /PREP/ ZD(2),KSKIP,RRPREP(8)                               R0286620
  866.         CALL FILES(2)                                                   00286630
  867.       NT2=1                                                             00286640
  868.       NT1=2                                                             00286650
  869.       MAXDF=0                                                           00286660
  870.       MAX=MTOT-3*NUMNP-7*LL                                             00286670
  871.       NSE=16                                                            00286680
  872.       NT20=20                                                           00286690
  873.       ZER=0.0                                                           00286700
  874.       REWIND NSE                                                        00286710
  875.       DO 1000 L=1,NSELEM                                                00286720
  876.       READ (NSE) MATNO,NUM,(NOD(J),J=1,NUM)                             00286730
  877.       REWIND NT20                                                       00286740
  878.   200 READ (NT20,END=9000)M,NDF,KT,LT                                   00286750
  879.   205 CONTINUE                                                          00286760
  880.       IF(M.EQ.MATNO) GO TO 210                                          00286770
  881.       LT=LT+2                                                           00286780
  882.       IF(LMASS.EQ.1) LT=LT+1                                            00286790
  883.       DO 206 J=1,LT                                                     00286800
  884.   206 READ (NT20)                                                       00286810
  885.       GO TO 200                                                         00286820
  886.   210 ND=NDF                                                            00286830
  887.       NDM=ND-1                                                          00286840
  888.       NWDS=ND+(ND*ND-ND)/2                                              00286850
  889.       IF(LMASS.EQ.1) GO TO 1210                                         00286860
  890.       IF(NWDS.LE.MAX) GO TO 230                                         00286870
  891.       GO TO 215                                                         00286880
  892.  1210 IF(2*NWDS.LE.MAX) GO TO 230                                       00286890
  893.   215 WRITE(6,220)M,L                                                   00286900
  894.   220 FORMAT (/20X,6HMATRIX,I4,20H ON SUPERELEMENT NO.,I4,              00286910
  895.      $47H IS TOO LARGE FOR THE AMOUNT OF CORE AVAILABLE.//)             00286920
  896.       KSKIP=1                                                           00286930
  897.       RETURN                                                            00286940
  898.   230 KN=KT                                                             00286950
  899.       IF(KT.EQ.0) KN=1                                                  00286960
  900.       KS=ND+1                                                           00286970
  901.       KE=KS+NWDS-1                                                      00286980
  902.       READ (NT20) KCF,KP,KAX,KAY,KAZ,KM,KBE,((JD(J,K),K=1,3),J=1,KN)    00286990
  903.       READ (NT20)                                                       00287000
  904.      $ (LM(J),J=KS,KE)                                                  00287010
  905.   240 JLOCI=KE                                                          00287020
  906.       LC=0                                                              00287030
  907.       NTERM=ND*(LL+1)                                                   00287040
  908.       IF(LMASS.EQ.1) NTERM=NTERM+JLOCI                                  00287050
  909.       IF(JLOCI+NTERM.GT.MAX) GO TO 215                                  00287060
  910.       JLOC=JLOCI+1                                                      00287070
  911.       CALL QVSET(ZER,LM(JLOC),NTERM)                                    00287080
  912.       IF(KCF.LE.0) GO TO 260                                            00287090
  913.       DO 250 J=1,KCF                                                    00287100
  914.       KS=JLOCI+(J-1)*ND+1                                               00287110
  915.       KE=KS+NDM                                                         00287120
  916.   250 READ (NT20) (LM(K),K=KS,KE)                                       00287130
  917.   260 CONTINUE                                                          00287140
  918.       IF(KCF.EQ.LT) GO TO 390                                           00287150
  919.       LC=KCF                                                            00287160
  920.   270 LC=LC+1                                                           00287170
  921.       IF(LC.GT.LT)  GO TO 390                                           00287180
  922.       IF(KM.EQ.LC)  GO TO 280                                           00287190
  923.       IF(KP.EQ.LC)  GO TO 290                                           00287200
  924.       IF(KAX.EQ.LC) GO TO 310                                           00287210
  925.       IF(KAY.EQ.LC) GO TO 330                                           00287220
  926.       IF(KAZ.EQ.LC) GO TO 350                                           00287230
  927.       IF(KBE.EQ.LC) GO TO 361                                           00287240
  928.       IF(KT.EQ.0) GO TO 276                                             00287250
  929.       DO 275 K=1,KT                                                     00287260
  930.       KE=K                                                              00287270
  931.       KS=JD(K,1)                                                        00287280
  932.       IF(KS.EQ.LC) GO TO 370                                            00287290
  933.   275 CONTINUE                                                          00287300
  934.   276 READ (NT20)                                                       00287310
  935.       GO TO 270                                                         00287320
  936.   280 CONTINUE                                                          00287330
  937.       KS=JLOCI+ND*LL+1                                                  00287340
  938.       KE=KS+NDM                                                         00287350
  939.       READ (NT20) (LM(K),K=KS,KE)                                       00287360
  940.       GO TO 270                                                         00287370
  941.   290 READ (NT20)(LM(K),K=1,ND)                                         00287380
  942.       DO 300 K=1,LL                                                     00287390
  943.       PM=-PROP6(K,1)                                                    00287400
  944.       IF(PM.EQ.0.0) GO TO 300                                           00287410
  945.       KS=JLOCI+ND*(K-1)+1                                               00287420
  946.       CALL QMR2(LM(KS),LM(KS),PM,LM(1),ND,1,1,1)                        00287430
  947.   300 CONTINUE                                                          00287440
  948.       GO TO 270                                                         00287450
  949.   310 READ (NT20)(LM(K),K=1,ND)                                         00287460
  950.       DO 320 K=1,LL                                                     00287470
  951.       PM=-PROP6(K,5)                                                    00287480
  952.       IF(PM.EQ.0.0) GO TO 320                                           00287490
  953.       KS=JLOCI+ND*(K-1)+1                                               00287500
  954.       CALL QMR2(LM(KS),LM(KS),PM,LM(1),ND,1,1,1)                        00287510
  955.   320 CONTINUE                                                          00287520
  956.       GO TO 270                                                         00287530
  957.   330 READ (NT20)(LM(K),K=1,ND)                                         00287540
  958.       DO 340 K=1,LL                                                     00287550
  959.       PM=-PROP6(K,6)                                                    00287560
  960.       IF(PM.EQ.0.0) GO TO 340                                           00287570
  961.       KS=JLOCI+ND*(K-1)+1                                               00287580
  962.       CALL QMR2(LM(KS),LM(KS),PM,LM(1),ND,1,1,1)                        00287590
  963.   340 CONTINUE                                                          00287600
  964.       GO TO 270                                                         00287610
  965.   350 READ (NT20)(LM(K),K=1,ND)                                         00287620
  966.       DO 360 K=1,LL                                                     00287630
  967.       PM=-PROP6(K,7)                                                    00287640
  968.       IF(PM.EQ.0.0) GO TO 360                                           00287650
  969.       KS=JLOCI+ND*(K-1)+1                                               00287660
  970.       CALL QMR2(LM(KS),LM(KS),PM,LM(1),ND,1,1,1)                        00287670
  971.   360 CONTINUE                                                          00287680
  972.       GO TO 270                                                         00287690
  973.   361 READ (NT20) (LM(K),K=1,ND)                                        00287700
  974.       DO 365 K=1,LL                                                     00287710
  975.       PM=-PROP6(K,4)                                                    00287720
  976.       IF(PM.EQ.0.0) GO TO 365                                           00287730
  977.       KS=JLOCI+ND*(K-1)+1                                               00287740
  978.       CALL QMR2(LM(KS),LM(KS),PM,LM(1),ND,1,1,1)                        00287750
  979.   365 CONTINUE                                                          00287760
  980.       GO TO 270                                                         00287770
  981.   370 READ (NT20)(LM(K),K=1,ND)                                         00287780
  982.       TIME=JD(KE,3)                                                     00287790
  983.       TYPE=JD(KE,2)                                                     00287800
  984.       DO 380 K=1,LL                                                     00287810
  985.       PM=PROP6(K,2)                                                     00287820
  986.       IF(PM.NE.TYPE)GO TO 380                                           00287830
  987.       PM=PROP6(K,3)                                                     00287840
  988.       IF(PM.NE.TIME)GO TO 380                                           00287850
  989.       KS=JLOCI+ND*(K-1)+1                                               00287860
  990.       PM=-1.0                                                           00287870
  991.       CALL QMR2(LM(KS),LM(KS),PM,LM(1),ND,1,1,1)                        00287880
  992.   380 CONTINUE                                                          00287890
  993.       GO TO 270                                                         00287900
  994.   390 CONTINUE                                                          00287910
  995.       IF(LMASS.NE.1) GO TO 1390                                         00287920
  996.       KS=JLOCI+ND*LL+1                                                  00287930
  997.       KE=KS+NWDS-1                                                      00287940
  998.       READ(NT20)(LM(K),K=KS,KE)                                         00287950
  999.  1390 CONTINUE                                                          00287960
  1000.       JM1=JLOCI+NDF*LL                                                  00287970
  1001.       ND=0                                                              00287980
  1002.       DO 405 J=1,NUM                                                    00287990
  1003.       NODE=NOD(J)                                                       00288000
  1004.       KN=0                                                              00288010
  1005.       DO 400 K=1,6                                                      00288020
  1006.       CALL UNPKID(ID,NUMNP,W,WX,2,NODE,K)                               00288030
  1007.       IF(W.LE.0.0) GO TO 400                                            00288040
  1008.       ND=ND+1                                                           00288050
  1009.       IF(K.GT.3) GO TO 395                                              00288060
  1010.       JC=JM1+ND                                                         00288070
  1011.       IF(LMASS.EQ.1) JC=JM1+ND*(ND+1)/2                                 00288080
  1012.       IF(LM(JC).EQ.0.0) GO TO 395                                       00288090
  1013.       CALL UNPKID(ID,NUMNP,WX,T,1,NODE,K)                               00288100
  1014.       SCG(K)=SCG(K)+LM(JC)*T                                            00288110
  1015.       IF(KN.EQ.0) SCG(4)=SCG(4)+LM(JC)                                  00288120
  1016.       KN=1                                                              00288130
  1017.   395 CONTINUE                                                          00288140
  1018.       IF(ND.GT.NDF) GO TO 410                                           00288150
  1019.       LM(ND)=W                                                          00288160
  1020.   400 CONTINUE                                                          00288170
  1021.   405 CONTINUE                                                          00288180
  1022.       IF(ND.EQ.NDF) GO TO 430                                           00288190
  1023.   410 WRITE(6,420)M,NDF,L,ND                                            00288200
  1024.   420 FORMAT(/20X,9HMATRIX NO,I4,4H HAS,I4,                             00288210
  1025.      127H DEGREES-OF-FREEDOM AND THE,1X,                                00288220
  1026.      $32HNODES LISTED FOR SUPERELEMENT NO,I4/20X,5H HAVE,I4,5H DOF.//)  00288230
  1027.       KSKIP=1                                                           00288240
  1028.   430 CONTINUE                                                          00288250
  1029.       PM=LM(ND+1)                                                       00288260
  1030.       T =LM(ND+2)                                                       00288270
  1031.       LM(ND+1)=MATNO                                                    00288280
  1032.       LM(ND+2)=ND                                                       00288290
  1033.       KOUNT=ND+2                                                        00288300
  1034.       CALL RDWRT(NT2,LM,KOUNT,1,K)                                      00288310
  1035.       LM(ND+1)=PM                                                       00288320
  1036.       LM(ND+2)=T                                                        00288330
  1037.       I=ND                                                              00288340
  1038.       NDP=ND+1                                                          00288350
  1039.   440 EMAX=LM(1)                                                        00288360
  1040.       J=1                                                               00288370
  1041.       DO 450 K=1,I                                                      00288380
  1042.       IF(LM(K).LT.EMAX) GO TO 450                                       00288390
  1043.       EMAX=LM(K)                                                        00288400
  1044.       J=K                                                               00288410
  1045.   450 CONTINUE                                                          00288420
  1046.       IF(I.EQ.J) GO TO 490                                              00288430
  1047.       IC=I*ND+I-(I*I-I)/2                                               00288440
  1048.       JC=J *ND+J-(J*J-J)/2                                              00288450
  1049.       JM1=J-1                                                           00288460
  1050.       IF(JM1.LT.1) GO TO 460                                            00288470
  1051.       IK=ND+I                                                           00288480
  1052.       JK=ND+J                                                           00288490
  1053.       DO 455 K=1,JM1                                                    00288500
  1054.       T=LM(IK)                                                          00288510
  1055.       LM(IK)=LM(JK)                                                     00288520
  1056.       LM(JK)=T                                                          00288530
  1057.       NDK=ND-K                                                          00288540
  1058.       IK=IK+NDK                                                         00288550
  1059.   455 JK=JK+NDK                                                         00288560
  1060.   460 JP1=J+1                                                           00288570
  1061.       IM1=I-1                                                           00288580
  1062.       IF(JP1.GT.IM1) GO TO 470                                          00288590
  1063.       KJ=JC                                                             00288600
  1064.       IK=KJ+I-J                                                         00288610
  1065.       DO 465 K=JP1,IM1                                                  00288620
  1066.       IK=IK+NDP-K                                                       00288630
  1067.       KJ=KJ+1                                                           00288640
  1068.       T=LM(KJ)                                                          00288650
  1069.       LM(KJ)=LM(IK)                                                     00288660
  1070.   465 LM(IK)=T                                                          00288670
  1071.   470 IP1=I+1                                                           00288680
  1072.       IF(IP1.GT.ND) GO TO 478                                           00288690
  1073.       KJ=JC+I-J                                                         00288700
  1074.       KI=IC                                                             00288710
  1075.       DO 475 K=IP1,ND                                                   00288720
  1076.       KJ=KJ+1                                                           00288730
  1077.       KI=KI+1                                                           00288740
  1078.       T=LM(KI)                                                          00288750
  1079.       LM(KI)=LM(KJ)                                                     00288760
  1080.   475 LM(KJ)=T                                                          00288770
  1081.   478 T=LM(I)                                                           00288780
  1082.       LM(I)=LM(J)                                                       00288790
  1083.       LM(J)=T                                                           00288800
  1084.       T=LM(IC)                                                          00288810
  1085.       LM(IC)=LM(JC)                                                     00288820
  1086.       LM(JC)=T                                                          00288830
  1087.       IR=JLOCI+I                                                        00288840
  1088.       JR=JLOCI+J                                                        00288850
  1089.       DO 480 K=1,LL                                                     00288860
  1090.       KC=(K-1)*ND                                                       00288870
  1091.       IK=IR+KC                                                          00288880
  1092.       JK=JR+KC                                                          00288890
  1093.       T=LM(IK)                                                          00288900
  1094.       LM(IK)=LM(JK)                                                     00288910
  1095.   480 LM(JK)=T                                                          00288920
  1096.       IF(LMASS.EQ.1) GO TO 1450                                         00288930
  1097.       IR=JLOCI+ND*LL+I                                                  00288940
  1098.       JR=JLOCI+ND*LL+J                                                  00288950
  1099.       T=LM(IR)                                                          00288960
  1100.       LM(IR)=LM(JR)                                                     00288970
  1101.       LM(JR)=T                                                          00288980
  1102.       GO TO 490                                                         00288990
  1103.  1450 CONTINUE                                                          00289000
  1104.       IC=JLOCI+ND*LL+(I-1)*ND+I-(I*I-I)/2                               00289010
  1105.       JC=JLOCI+ND*LL+(J-1)*ND+J-(J*J-J)/2                               00289020
  1106.       JM1=J-1                                                           00289030
  1107.       IF(JM1.LT.1) GO TO 1460                                           00289040
  1108.       IK=JLOCI+ND*LL+I                                                  00289050
  1109.       JK=JLOCI+ND*LL+J                                                  00289060
  1110.       DO 1455 K=1,JM1                                                   00289070
  1111.       T=LM(IK)                                                          00289080
  1112.       LM(IK)=LM(JK)                                                     00289090
  1113.       LM(JK)=T                                                          00289100
  1114.       NDK=ND-K                                                          00289110
  1115.       IK=IK+NDK                                                         00289120
  1116.  1455 JK=JK+NDK                                                         00289130
  1117.  1460 JP1=J+1                                                           00289140
  1118.       IM1=I-1                                                           00289150
  1119.       IF(JP1.GT.IM1) GO TO 1470                                         00289160
  1120.       KJ=JC                                                             00289170
  1121.       IK=KJ+I-J                                                         00289180
  1122.       DO 1465 K=JP1,IM1                                                 00289190
  1123.       IK=IK+NDP-K                                                       00289200
  1124.       KJ=KJ+1                                                           00289210
  1125.       T=LM(KJ)                                                          00289220
  1126.       LM(KJ)=LM(IK)                                                     00289230
  1127.  1465 LM(IK)=T                                                          00289240
  1128.  1470 IP1=I+1                                                           00289250
  1129.       IF(IP1.GT.ND) GO TO 1478                                          00289260
  1130.       KJ=JC+I-J                                                         00289270
  1131.       KI=IC                                                             00289280
  1132.       DO 1475 K=IP1,ND                                                  00289290
  1133.       KJ=KJ+1                                                           00289300
  1134.       KI=KI+1                                                           00289310
  1135.       T=LM(KI)                                                          00289320
  1136.       LM(KI)=LM(KJ)                                                     00289330
  1137.  1475 LM(KJ)=T                                                          00289340
  1138.  1478 CONTINUE                                                          00289350
  1139.       T=LM(IC)                                                          00289360
  1140.       LM(IC)=LM(JC)                                                     00289370
  1141.       LM(JC)=T                                                          00289380
  1142.   490 I=I-1                                                             00289390
  1143.       IF(I.GT.0) GO TO 440                                              00289400
  1144.       NDIF=LM(ND)-LM(1)+1                                               00289410
  1145.       IF(NDIF.GT.MBAND) MBAND=NDIF                                      00289420
  1146.       IF(ND.GT.MAXDF) MAXDF=ND                                          00289430
  1147.       IF(.NOT.ELPRT) GO TO 1600                                         00289440
  1148.       WRITE(6,660)MATNO,ND                                              00289450
  1149.       IF(ELPCH) WRITE(7,680)MATNO,ND                                    00289460
  1150.       WRITE(6,670)(LM(I),I=1,ND)                                        00289470
  1151.       IF(ELPCH)WRITE(7,690)(LM(I),I=1,ND)                               00289480
  1152.       WRITE(6,770)                                                      00289490
  1153.       IK=0                                                              00289500
  1154.       DO 1510 I=1,ND                                                    00289510
  1155.       JJ=ND-I+1                                                         00289520
  1156.       IF(ELPCH) WRITE(7,780)(LM(ND+IK+J),J=1,JJ)                        00289530
  1157.       WRITE(6,790)(LM(ND+IK+J),J=1,JJ)                                  00289540
  1158.  1510 IK=IK+JJ                                                          00289550
  1159.       INLL=8                                                            00289560
  1160.       IF(LL.LT.8) INLL=LL                                               00289570
  1161.       DO 1520 J=1,LL,INLL                                               00289580
  1162.       K=J+INLL-1                                                        00289590
  1163.       WRITE(6,720)J,K                                                   00289600
  1164.       JK=(J-1)*ND+JLOCI                                                 00289610
  1165.       DO 1540 I=1,ND                                                    00289620
  1166.       IK=JK+I-1                                                         00289630
  1167.       IKK=INLL*ND                                                       00289640
  1168.       IF(ELPCH) WRITE(7,780)(LM(IK+LRK),LRK=1,IKK,ND)                   00289650
  1169.  1540 WRITE(6,790)(LM(IK+LRK),LRK=1,IKK,ND)                             00289660
  1170.  1520 CONTINUE                                                          00289670
  1171.       IK=JLOCI+ND*LL                                                    00289680
  1172.       IF(LMASS.NE.1) GO TO 1570                                         00289690
  1173.       WRITE(6,730)                                                      00289700
  1174.       DO 1560 I=1,ND                                                    00289710
  1175.       JJ=ND-I+1                                                         00289720
  1176.       IF(ELPCH) WRITE(7,780)(LM(IK+J),J=1,JJ)                           00289730
  1177.       WRITE(6,790)(LM(IK+J),J=1,JJ)                                     00289740
  1178.  1560 IK=IK+JJ                                                          00289750
  1179.       GO TO 1600                                                        00289760
  1180.  1570 CONTINUE                                                          00289770
  1181.       WRITE(6,740)                                                      00289780
  1182.       IF(ELPCH) WRITE(7,780)(LM(IK+J),J=1,ND)                           00289790
  1183.       WRITE(6,790)(LM(IK+J),J=1,ND)                                     00289800
  1184.  1600 CONTINUE                                                          00289810
  1185.       KJ=LL                                                             00289820
  1186.       IF(NELD.EQ.1) GO TO 510                                           00289830
  1187.       KJ=0                                                              00289840
  1188.       IF(LMASS.EQ.1) GO TO 1680                                         00289850
  1189.       DO 500 I=1,ND                                                     00289860
  1190.       IR=JLOCI+I                                                        00289870
  1191.       JR=IR+ND*LL                                                       00289880
  1192.   500 LM(IR)=LM(JR)                                                     00289890
  1193.       GO TO 510                                                         00289900
  1194.  1680 KL=0                                                              00289910
  1195.       DO 1690 I=1,ND                                                    00289920
  1196.       DO 1690 J=I,ND                                                    00289930
  1197.       KL=KL+1                                                           00289940
  1198.       IR=JLOCI+KL                                                       00289950
  1199.       JR=IR+ND*LL                                                       00289960
  1200.  1690 LM(IR)=LM(JR)                                                     00289970
  1201.   510 KOUNT=JLOCI+ND*(KJ+1)+1                                           00289980
  1202.       IF(LMASS.EQ.1) KOUNT=JLOCI+ND*KJ+ND*(ND+1)/2 +1                   00289990
  1203.       LM(KOUNT)=ND                                                      00290000
  1204.  1000 CALL RDWRT(NT1,LM,KOUNT,1,I)                                      00290010
  1205.       RETURN                                                            00290020
  1206.   660 FORMAT(5X,11HMATRIX NO =,I4,5X,20HDEGREES OF FREEDOM =,I4)        00290030
  1207.   670 FORMAT(/1X,29HSUPER ELEMENT LOCATION MATRIX/(1H ,10F13.0))        00290040
  1208.   680 FORMAT(2I5)                                                       00290050
  1209.   690 FORMAT((1P8E10.3))                                                00290060
  1210.   720 FORMAT(/1X,32HELEMENT LOAD MATRIX - LOAD CASES,I5,3X,2HTO,I5)     00290070
  1211.   730 FORMAT(/1X,41HELEMENT MASS MATRIX - LOWER TRIANGLE ONLY)          00290080
  1212.   740 FORMAT(/1X,19HELEMENT MASS MATRIX)                                00290090
  1213.   770 FORMAT(/1X,30HSUPER ELEMENT STIFFNESS MATRIX,                     00290100
  1214.      11X,21H- LOWER TRIANGLE ONLY)                                      00290110
  1215.   780 FORMAT((1P8E10.3))                                                00290120
  1216.   790 FORMAT((1X ,1P10E13.4))                                           00290130
  1217.  9000 WRITE(6,9010) MATNO,NT20,L                                        00290140
  1218.  9010 FORMAT(//20X,6HMATRIX ,I5,27H COULD NOT BE FOUND ON TAPE,I5,      00290150
  1219.      $21H FOR SUPERELEMENT NO.,I5//)                                    00290160
  1220.       KSKIP=1                                                           00290170
  1221.       RETURN                                                            00290180
  1222.       END                                                               00290190
  1223.