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

  1.       SUBROUTINE ELSTF(NDMX,LL,TEMPD,NBLANK,NTERM,ID4,NADND             00082010
  2.      &  ,ISIR,NMNP,ISL,NSLDM)                                           00082020
  3.       IMPLICIT REAL*8(A-H,O-Z)                                          00082030
  4.         INTEGER*2 ISIR(NMNP)                                            00082040
  5.       REAL*8  ID2                                                       00082050
  6.       REAL*8  ID4                                                       00082060
  7.       REAL*8  NPAR                                                      00082070
  8.       LOGICAL ELPRT,ELPCH,GENPRT,GENPCH,DEFPCH,GEOST                    00082080
  9.         INTEGER T,ZM                                                    00082090
  10.       COMMON A(1)                                                       00082100
  11.       COMMON /ELPAR/ NPAR(14),NUMNP,MBAND,NELTYP,N1,N2,N3,N4,N5,MTOT,NEQ00082110
  12.      $ ,N2P,N3P,NMRI,NTRI,N1P,NUMEL,NUMEL2,KZ(20,2),NEMN                00082120
  13.       COMMON/PREP/XMX,XAD,KSKIP,NDYN,I1,RRPREP(7)                       R0082130
  14.       DIMENSION ID4(NADND)                                              00082140
  15.       COMMON /ELTEMP/ TAVG,KET,NL,NOLL(100),RRELTE                      R0082150
  16.       COMMON /SIZE/ NDMZ,MXDF,NSMX,NRSIZE(2)                            R0082160
  17.       COMMON/ELARRY/NELAR(4,20)                                         00082170
  18.       COMMON/AMB/ GRAV,REFT,JROT                                        R0082180
  19.       COMMON /CG/ SCG(4),RRCG(2)                                        R0082190
  20.       COMMON/CTL/ELPRT,ELPCH,GENPRT,GENPCH                              00082200
  21.         COMMON/GEOSTF/GEOST,NELGEO                                      00082210
  22.         COMMON/MASS/LMASS                                               00082220
  23.         COMMON/RIGID/IIA(20),NREX                                       00082230
  24.       COMMON/SLVE/NSLAVE                                                00082240
  25.         COMMON/BAND/KOPT,NRBAND(7)                                      R0082250
  26.       DIMENSION ID2(13),IX(13),ISL(NSLDM,4)                             00082260
  27.       DIMENSION TEMPD(NDMX,LL)                                          00082270
  28.       DIMENSION IA(100),ICOO(10),IFORM(4),ZDUM(9)                       00082280
  29.       DATA ICOO / 3H001,3H013,3H025,3H037,3H049,3H061,3H073,3H085,3H097,00082290
  30.      $            3H109 /                                               00082300
  31.       DATA IFORM(1),IFORM(3),IFORM(4)/4H(1H+,4HX,I7,4H)   /             00082310
  32.         CALL FILES(8)                                                   00082320
  33.       DO 100 I=1,4                                                      00082330
  34.   100 SCG(I)=0.0                                                        00082340
  35.       ZER=0.0D0                                                         00082350
  36.       NT1=1                                                             00082360
  37.       NT2=2                                                             00082370
  38.       NT24=24                                                           00082380
  39.       IF(KET.GT.0) REWIND NL                                            00082390
  40.         MMA=1                                                           00082400
  41.         IF(LMASS.EQ.1)MMA=MXDF                                          00082410
  42.       LZ1=1                                                             00082420
  43.       LZ2=LZ1+MXDF                                                      00082430
  44.       LZ3=LZ2+MXDF*MXDF                                                 00082440
  45.       LZ4=LZ3+MXDF*LL                                                   00082450
  46.       LZ5=LZ4+MXDF                                                      00082460
  47.         IF(LMASS.EQ.1)LZ5=LZ4+MXDF*MXDF                                 00082470
  48.       LZ6=LZ5+MXDF*NSMX                                                 00082480
  49.       LZ7=LZ6+LL*NSMX                                                   00082490
  50.       LZ8=LZ7                                                           00082500
  51.       LZ9=LZ7                                                           00082510
  52.       LZ10=LZ7                                                          00082520
  53.         IF(.NOT.GEOST)GO TO 1010                                        00082530
  54.         LZ8=LZ7+NDMX*LL                                                 00082540
  55.         LZ9=LZ8+MXDF*MXDF                                               00082550
  56.         LZ10=LZ9+MXDF*MXDF                                              00082560
  57.  1010 CONTINUE                                                          00082570
  58.       K1=KZ(1,1)                                                        00082580
  59.       KK1=KZ(1,2)                                                       00082590
  60.       K2=KZ(2,1)                                                        00082600
  61.       KK2=KZ(2,2)                                                       00082610
  62.       K3=KZ(3,1)                                                        00082620
  63.       KK3=KZ(3,2)                                                       00082630
  64.       K4=KZ(4,1)                                                        00082640
  65.       KK4=KZ(4,2)                                                       00082650
  66.       K5=KZ(5,1)                                                        00082660
  67.       KK5=KZ(5,2)                                                       00082670
  68.       K6=KZ(6,1)                                                        00082680
  69.       KK6=KZ(6,2)                                                       00082690
  70.       K7=KZ(7,1)                                                        00082700
  71.       KK7=KZ(7,2)                                                       00082710
  72.       K8=KZ(8,1)                                                        00082720
  73.       KK8=KZ(8,2)                                                       00082730
  74.       K9=KZ(9,1)                                                        00082740
  75.       KK9=KZ( 9,2)                                                      00082750
  76.         NT30=30                                                         00082760
  77.         REWIND NT30                                                     00082770
  78.       K10=KZ(10,1)                                                      00082780
  79.       KK10=KZ(10,2)                                                     00082790
  80.         K11=KZ(11,1)                                                    00082800
  81.         KK11=KZ(11,2)                                                   00082810
  82.         K12=KZ(12,1)                                                    00082820
  83.         KK12=KZ(12,2)                                                   00082830
  84.         KK10A=KK10                                                      00082840
  85.         IF(KK10A.EQ.0)KK10A=1                                           00082850
  86.         KK11A=KK11                                                      00082860
  87.         IF(KK11A.EQ.0)KK11A=1                                           00082870
  88.         KK12A=KK12                                                      00082880
  89.         IF(KK12A.EQ.0)KK12A=1                                           00082890
  90.         K13=KZ(13,1)                                                    00082900
  91.         KK13=KZ(13,2)                                                   00082910
  92.         KK13A=KK13                                                      00082920
  93.         IF(KK13A.EQ.0)KK13A=1                                           00082930
  94.         K14=KZ(14,1)                                                    00082940
  95.         IF(NREX.LE.0)GO TO 2020                                         00082950
  96.         IF(KOPT.LE.0)GO TO 2020                                         00082960
  97.       REWIND 17                                                         00082970
  98.       READ(17)ISIR                                                      00082980
  99.         DO 2010 I=1,NREX                                                00082990
  100.         NUM=A(51*(I-1)+K12)                                             00083000
  101.         NUM=NUM+1                                                       00083010
  102.         DO 2010 J=2,NUM                                                 00083020
  103.         NAM=A(51*(I-1)+K12+J-1)                                         00083030
  104.         NOM=ISIR(NAM)                                                   00083040
  105. 2010    A(51*(I-1)+K12+J-1)=NOM                                         00083050
  106.         REWIND NT30                                                     00083060
  107. 2020    CONTINUE                                                        00083070
  108.       IF(NSLAVE.NE.0) READ(NT30)((ISL(I,J),J=1,4),I=1,NSLAVE)           00083080
  109.       K15=KZ(15,1)                                                      00083090
  110.       KK15=KZ(15,2)                                                     00083100
  111.       K16=KZ(16,1)                                                      00083110
  112.       KK16=KZ(16,2)                                                     00083120
  113.       K17=KZ(17,1)                                                      00083130
  114.       KK17=KZ(17,2)                                                     00083140
  115.       K18=KZ(18,1)                                                      00083150
  116.       KK18=KZ(18,2)                                                     00083160
  117.       MBAND=0                                                           00083170
  118.       CALL RDWRT(NT1,A,1,6,M)                                           00083180
  119.       CALL RDWRT(NT2,A,1,6,M)                                           00083190
  120.       CALL RDWRT(NT24,A,1,6,M)                                          00083200
  121.       DO 104 M=1,LL                                                     00083210
  122.       MP=K6+M-LL-1                                                      00083220
  123.       KM=0                                                              00083230
  124.       DO 103 J=1,7                                                      00083240
  125.       MP=MP+LL                                                          00083250
  126.       IF(A(MP).NE.0.0) KM=1                                             00083260
  127.   103 CONTINUE                                                          00083270
  128.   104 NOLL(M)=KM                                                        00083280
  129.       NPAR(1)=1                                                         00083290
  130.       IF(KSKIP.NE.1) WRITE(6,105)                                       00083300
  131.   105 FORMAT(1X ,10X,69HTHE INDIVDUAL ELEMENT STIFFNESS AND LOAD MATRICE00083310
  132.      $S WILL NOW BE FORMED./                                            00083320
  133.      $          11X, 98HTHE LAST NUMBER PRINTED IS THE LAST ELEMENT TO B00083330
  134.      $E PROCESSED WHICH IS AN EVEN MULTIPLE OF TEN (10).//)             00083340
  135.       ICO=1                                                             00083350
  136.       REWIND 68                                                         R0083351
  137.       DO 350 M=1,NUMEL                                                  00083360
  138.       NEL=M                                                             00083370
  139.       IF(KSKIP.EQ.1) RETURN                                             00083380
  140.       CALL MEMSET (ZER,A(1),NEMN)                                       00083390
  141.       IF(KET.GT.0) READ (NL) TAVG,TEMPD                                 00083400
  142.       READ (68) ID2                                                     R0083410
  143.         IF(NREX.GT.0)READ(NT30) IIA                                     00083420
  144.       DO 110 J=1,8                                                      R0083430
  145.       NN = ID2(J)                                                       R0083440
  146.       IX(J) = NN                                                        R0083450
  147.   110 CONTINUE                                                          R0083451
  148.       KM=100                                                            00083460
  149.       MT = ID2(13)                                                      R0083470
  150.       DO 120 J=9,13                                                     00083480
  151.       NN = ID2(J)                                                       R0083490
  152.       IX(J) = NN                                                        R0083541
  153.   120 CONTINUE                                                          00083500
  154.       MTYPE=IX(13)                                                      R0083510
  155. CC    WRITE (6,1008) M,MTYPE,MT,IX                                      R0083511
  156. C1008 FORMAT (1X,'* ID2 *',16I5/)                                       R0083512
  157.       IF(IX(9).EQ.0) IX(9)=1                                            00083520
  158.       IF(IX(10).NE.0)GO TO 125                                          00083530
  159.       IF(MTYPE.EQ.5 .OR. MTYPE.EQ.4)GO TO 125                           00083540
  160.       IF(MTYPE.EQ.2 .OR. MTYPE.EQ.9)GO TO 125                           00083550
  161.       IX(10)=1                                                          00083560
  162.   125 CONTINUE                                                          00083570
  163.       IF(NELAR(1,MTYPE).LE.8) GO TO 140                                 00083580
  164.       READ (68) ID4                                                     R0083590
  165.       ZM=10000                                                          00083600
  166.       DO 130 J=1,NADND                                                  00083610
  167.       T=ID4(J)                                                          00083620
  168.       IA(J+8)=T                                                         00083630
  169.   130 CONTINUE                                                          00083640
  170.   140 CONTINUE                                                          00083650
  171.       IF(.NOT.ELPRT)  GO TO 1150                                        00083660
  172.       WRITE(6,1400)NEL                                                  00083670
  173.       IF(ELPCH) WRITE(7,1400) NEL                                       00083680
  174.  1150 CONTINUE                                                          00083690
  175.       GO TO (150,180,210,240,250,260,280,290,300,307,306,306,306,308    00083700
  176.      &,400),MTYPE                                                       00083710
  177.   150 CONTINUE                                                          00083730
  178.       IF(K1.GT.0) GO TO 170                                             00083740
  179.       KSKIP=1                                                           00083750
  180.       WRITE(6,160)                                                      00083760
  181.   160 FORMAT (//20X, 35HNO TRUSS TYPES HAVE BEEN SPECIFIED /20X,        00083770
  182.      $   29HNO EXECUTION WILL BE ALLOWED.///)                           00083780
  183.       RETURN                                                            00083790
  184.   170 CONTINUE                                                          00083800
  185.       CALL RUSS(                                                        00083810
  186.      $ A(N1),A(K1),A(K2),A(K3),A(K4),A(K5),A(K6),A(K7),A(LZ1),A(LZ2),   00083820
  187.      $A(LZ3),A(LZ4),A(LZ5),A(LZ6),A(LZ7),A(LZ8),KK1,KK2,KK3,KK4,KK5     00083830
  188.      $,KK6,KK7,IX,IA,NEL,NUMNP,NDMX,NSMX,MXDF,MMA)                      00083840
  189.       GO TO 310                                                         00083850
  190.   180 CONTINUE                                                          00083860
  191.       IF(K2.GT.0) GO TO 200                                             00083870
  192.       KSKIP=1                                                           00083880
  193.       WRITE(6,190)                                                      00083890
  194.   190 FORMAT (//20X, 35HNO  BEAM TYPES HAVE BEEN SPECIFIED /20X,        00083900
  195.      $   29HNO EXECUTION WILL BE ALLOWED.///)                           00083910
  196.       RETURN                                                            00083920
  197.   200 CONTINUE                                                          00083930
  198.       CALL TEAM (                                                       00083940
  199.      $ A(N1),A(K1),A(K2),A(K3),A(K4),A(K5),A(K6),A(K7),A(K8),           00083950
  200.      $A(LZ1),A(LZ2),A(LZ3),A(LZ4),A(LZ5),A(LZ6),A(LZ7),                 00083960
  201.      &A(LZ8),A(LZ9),                                                    00083970
  202.      $KK1,KK2,KK3,KK4,KK5,KK6,KK7,KK8,                                  00083980
  203.      $IX,IA,NEL,NUMNP,NDMX,NSMX,MXDF,MMA                                00083990
  204.      &,A(K11),KK11,A(K12),KK12,KK11A,KK12A,A(K13),KK13,KK13A,A(K15),    00084000
  205.      &KK15,A(K16),KK16,A(K17),KK17,A(K18),KK18,ISL,NSLDM)               00084010
  206.       GO TO 310                                                         00084020
  207.   210 CONTINUE                                                          00084030
  208.       IF(K3.GT.0) GO TO 230                                             00084040
  209.       KSKIP=1                                                           00084050
  210.       WRITE(6,220)                                                      00084060
  211.   220 FORMAT (//20X, 39HNO THICKNESS TYPES HAVE BEEN SPECIFIED,/20X,    00084070
  212.      $   29HNO EXECUTION WILL BE ALLOWED.///)                           00084080
  213.       RETURN                                                            00084090
  214.   230 CONTINUE                                                          00084100
  215.       CALL PLNAX (                                                      00084110
  216.      $ A(N1),A(K1),A(K2),A(K3),A(K4),A(K5),A(K6),A(K7),A(LZ1),A(LZ2),   00084120
  217.      $A(LZ3),A(LZ4),A(LZ5),A(LZ6),A(LZ7),KK1,KK2,KK3,KK4,KK5,KK6,KK7,   00084130
  218.      $IX,IA,NEL,NUMNP,NDMX,NSMX,MXDF,MMA)                               00084140
  219.       GO TO 310                                                         00084150
  220.   240 CONTINUE                                                          00084160
  221.       CALL ASOLID(                                                      00084170
  222.      $ A(N1),A(K1),A(K2),A(K3),A(K4),A(K5),A(K6),A(K7),A(LZ1),A(LZ2),   00084180
  223.      $A(LZ3),A(LZ4),A(LZ5),A(LZ6),A(LZ7),KK1,KK2,KK3,KK4,KK5,KK6,KK7,   00084190
  224.      $IX,IA,NEL,NUMNP,NDMX,NSMX,MXDF,MMA)                               00084200
  225.       GO TO 310                                                         00084210
  226.   250 CONTINUE                                                          00084220
  227.       CALL BRICK8 (                                                     00084230
  228.      $ A(N1),A(K1),A(K2),A(K3),A(K4),A(K5),A(K6),A(K7),A(LZ1),A(LZ2),   00084240
  229.      $A(LZ3),A(LZ4),A(LZ5),A(LZ6),A(LZ7),KK1,KK2,KK3,KK4,KK5,KK6,KK7,   00084250
  230.      $IX,IA,NEL,NUMNP,NDMX,NSMX,MXDF,MMA)                               00084260
  231.       GO TO 310                                                         00084270
  232.   260 CONTINUE                                                          00084280
  233.       IF(K3.GT.0) GO TO 270                                             00084290
  234.       KSKIP=1                                                           00084300
  235.       WRITE(6,220)                                                      00084310
  236.       RETURN                                                            00084320
  237.   270 CONTINUE                                                          00084330
  238.       CALL TPLATE (                                                     00084340
  239.      $ A(N1),A(K1),A(K2),A(K3),A(K4),A(K5),A(K6),A(K7),A(LZ1),A(LZ2),   00084350
  240.      $A(LZ3),A(LZ4),A(LZ5),A(LZ6),A(LZ7),A(LZ8),A(LZ9),A(LZ10),KK1,KK2, 00084360
  241.      $KK3,KK4,KK5,KK6,KK7,IX,IA,NEL,NUMNP,NDMX,NSMX,MXDF,MMA            00084370
  242.      &  ,A(K12),KK12,KK12A,A(K14))                                      00084380
  243.       GO TO 310                                                         00084390
  244.   280 NBLANK=NBLANK+1                                                   00084400
  245.       ZZ=7.                                                             00084410
  246.       CALL RDWRT(NT1,ZZ,1,1,I)                                          00084420
  247.       GO TO 310                                                         00084430
  248.   290 GO TO 210                                                         00084440
  249.   300 CONTINUE
  250.       CALL ELBOW(                                                       00084450
  251.      $ A(N1),A(K1),A(K2),A(K3),A(K4),A(K5),A(K6),A(K7),A(K8),           00084460
  252.      $A(LZ1),A(LZ2),A(LZ3),A(LZ4),A(LZ5),A(LZ6),A(LZ7),                 00084470
  253.      $KK1,KK2,KK3,KK4,KK5,KK6,KK7,KK8,                                  00084480
  254.      $IX,IA,NEL,NUMNP,NDMX,NSMX,MXDF,MMA)                               00084490
  255.        GO TO 310                                                        00084500
  256.   306 CONTINUE
  257.       CALL TDFE(                                                        00084510
  258.      $ A(N1),A(K1),A(K2),A(K3),A(K4),A(K5),A(K6),A(K7),A(LZ1),A(LZ2),   00084520
  259.      $A(LZ3),A(LZ4),A(LZ5),A(LZ6),A(LZ7),KK1,KK2,KK3,KK4,KK5,KK6,KK7,   00084530
  260.      $IX,IA,NEL,NUMNP,NDMX,NSMX,MXDF,MMA)                               00084540
  261.        GO TO 310                                                        00084550
  262.   307 CONTINUE
  263.       CALL THDFE(                                                       00084560
  264.      $ A(N1),A(K1),A(K2),A(K4),A(K5),A(K6),A(LZ1),A(LZ2),               00084570
  265.      $A(LZ3),A(LZ4),A(LZ5),A(LZ6),A(LZ7),KK1,KK2,KK4,KK5,KK6,           00084580
  266.      $IX,IA,NEL,NUMNP,NDMX,NSMX,MXDF,MMA)                               00084590
  267.       GO TO 310                                                         00084600
  268.   308 IF(KK9.GT.0) GO TO 1308                                           00084610
  269.       WRITE(6,2308)                                                     00084620
  270.  2308 FORMAT(//20X,33H NO 6X6 MATRICES HAVE BEEN INPUT.//)              00084630
  271.       KSKIP=1                                                           00084640
  272.       RETURN                                                            00084650
  273.  1308 CONTINUE
  274.       CALL SIXBY6(                                                      00084660
  275.      $A(N1),A(K1),A(K2),A(K3),A(K4),A(K5),A(K6),A(K7),A(LZ1),A(LZ2),    00084670
  276.      $A(LZ3),A(LZ4),A(LZ5),A(LZ6),A(LZ7),KK1,KK2,KK3,KK4,KK5,KK6,KK7,   00084680
  277.      $IX,   NEL,NUMNP,NDMX,NSMX,MXDF,A(K9),KK9)                         00084690
  278.         GO TO 310                                                       00084700
  279.   400 CONTINUE                                                          00084710
  280.       CALL GESTEL(A(N1)                                                 00084720
  281.      &,A(LZ1),A(LZ2),A(LZ3),A(LZ4),A(LZ5),A(LZ6),A(LZ7)                 00084730
  282.      &,KK1,KK2,KK3,KK4,KK5,KK6,KK7,IX,IA,NEL,NUMNP,NDMX                 00084740
  283.      &,NSMX,MXDF,A(K10),KK10,KK10A)                                     00084750
  284.       GO TO 310                                                         00084760
  285.   310 IF(MOD(M,10)) 350,320,350                                         00084770
  286.   320 IFORM(2) = ICOO(ICO)                                              00084780
  287.       WRITE(6,9009) M                                                   R0084790
  288.  9009 FORMAT (5X,I7/)                                                   R0084781
  289.       ICO=ICO+1                                                         00084800
  290.       IF(ICO.LT.11) GO TO 350                                           00084810
  291. CC    WRITE(6,340)                                                      00084820
  292. CC340 FORMAT(1H )                                                       00084830
  293.       ICO=1                                                             00084840
  294.   350 CONTINUE                                                          00084850
  295.       IF(NUMEL2.EQ.0) GO TO 360                                         00084860
  296.       CALL CLAMP (                                                      00084870
  297.      $ A(N1),A(K1),A(K2),A(K3),A(K4),A(K5),A(K6),A(K7),A(LZ1),A(LZ2),   00084880
  298.      $A(LZ3),A(LZ4),A(LZ5),A(LZ6),A(LZ7),KK1,KK2,KK3,KK4,KK5,KK6,KK7,   00084890
  299.      $IX,IA,NEL,NUMNP,NDMX,NSMX,MXDF)                                   00084900
  300.   360 WRITE(6,370)                                                      00084910
  301.   370 FORMAT(/////20X,57(1H*)/20X,57HALL ELEMENT STIFFNESS AND LOAD MATR00084920
  302.      $ICES HAVE BEEN FORMED./20X,57(1H*))                               00084930
  303.       RETURN                                                            00084940
  304.  1400 FORMAT(5X,17HELEMENT NUMBER = ,I5)                                00084950
  305.       END                                                               00084960
  306.       SUBROUTINE RDWRT(JT,A,NUM,N,J)                                    00199630
  307.       IMPLICIT REAL*8(A-H,O-Z)                                          00199640
  308.       REAL*8 A                                                          00199650
  309.       COMMON /WORDS/ NWDS(30,2)                                         00199660
  310.       DIMENSION A(NUM)                                                  00199670
  311.       DIMENSION IUNIT(41)                                               00199680
  312.       DATA                                                              00199690
  313.      $    IUNIT/21,22,23,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,     00199700
  314.      $20,1,2,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41/  00199710
  315.       NT=IUNIT(JT)                                                      00199720
  316.       K=N+1                                                             00199730
  317.       LNTRC=NUM*8                                                       00199740
  318.       GO TO (100,110,120,130,230,140,150,                               00199750
  319.      $230,230,230,230,                                                  00199760
  320.      $160,180,210,220),K                                                00199770
  321.   100 READ (NT) J                                                       00199780
  322.       CALL RDA(NT,A,J)                                                  00199790
  323.       RETURN                                                            00199800
  324.   110 WRITE (NT) NUM                                                    00199810
  325.       WRITE (NT) A                                                      00199820
  326. CC    WRITE(6,1009) A
  327. C1009 FORMAT(1X,'**AA**',12E10.4/)
  328.       NWDS(NT,1)=NWDS(NT,1)+NUM                                         00199830
  329.       RETURN                                                            00199840
  330.   120 BACKSPACE NT                                                      00199850
  331.       BACKSPACE NT                                                      00199860
  332.       RETURN                                                            00199870
  333.   130 READ (NT)                                                         00199880
  334.       READ (NT)                                                         00199890
  335.       RETURN                                                            00199900
  336.   140 READ (NT) J,A                                                     00199910
  337.       RETURN                                                            00199920
  338.   150 REWIND NT                                                         00199930
  339.       IF(NWDS(NT,1).GT.NWDS(NT,2)) NWDS(NT,2)=NWDS(NT,1)                00199940
  340.          NWDS(NT,1)=0                                                   00199950
  341.       RETURN                                                            00199960
  342.   160 DO 170 I=1,20                                                     00199970
  343.       DO 170 J=1,2                                                      00199980
  344.   170 NWDS(I,J)=0                                                       00199990
  345.       RETURN                                                            00200000
  346.   180 DO 200 I=1,20                                                     00200010
  347.       J=NWDS(I,1)                                                       00200020
  348.       IF(NWDS(I,2).GT.J) J=NWDS(I,2)                                    00200030
  349.       IF(J.GT.0) WRITE(6,190)I,J                                        00200040
  350.   190 FORMAT(//20X,13HDISK FILE NO.,I3,25H  WAS REQUIRED TO STORE A,    00200050
  351.      $12H  MAXIMUM OF,1X,I9,18H WORDS OF STORAGE./)                     00200060
  352.   200 CONTINUE                                                          00200070
  353.       RETURN                                                            00200080
  354.   210 WRITE(NT) A                                                       00200090
  355.       NWDS(NT,1)=NWDS(NT,1)+NUM                                         00200100
  356.       RETURN                                                            00200110
  357.  220  READ(NT)A                                                         00200120
  358.   230 RETURN                                                            00200130
  359.       END                                                               00200140
  360.       SUBROUTINE  RDA(NT,A,NUM)                                         00196460
  361.       REAL*8 A                                                          00196470
  362.       DIMENSION A(NUM)                                                  00196480
  363.       READ (NT) A                                                       00196490
  364.       RETURN                                                            00196500
  365.       END                                                               00196510
  366.       SUBROUTINE  MATEV(MAT,NMRI,NTRI,TEMP,YM,POIS,ALF,DENS,PROP,DEN,   00130370
  367.      $NU,NEL)                                                           00130380
  368.       IMPLICIT REAL*8 (A-H,O-Z)                                         00130390
  369.       REAL*8  NU                                                        00130400
  370.       DIMENSION  PROP(NTRI,4),DEN(NMRI),NU(NMRI,2)                      00130410
  371.       KTEM2=0                                                           00130420
  372. CC    REWIND 3                                                          R0130421
  373. CC    READ (3) ((PROP(I,J),I=1,NTRI),J=1,4),(DEN(I),I=1,NMRI),          R0130422
  374. CC   $ ((NU(I,J),I=1,NMRI),J=1,2)                                       R0130423
  375. CC    WRITE (6,1008) PROP,DEN,NU
  376. C1008 FORMAT (1X,'**MA**',12E10.4/)
  377.       DO 100 I=1,NMRI                                                   00130430
  378.       MN=I                                                              00130440
  379.       KTEM1=KTEM2+1                                                     00130450
  380.       KTEM2=KTEM2+NU(I,2)                                               00130460
  381.       MX=NU(I,1)                                                        00130470
  382. CC    WRITE (6,1009) MAT,MX,NU
  383. C1009 FORMAT (5X,'** MATEV MAT MX NU **',2I5,8E10.4/)
  384.       IF(MAT.EQ.MX) GO TO 120                                           00130480
  385.   100 CONTINUE                                                          00130490
  386.       MX=NU(NMRI,1)                                                     00130500
  387.       IF(MAT.EQ.MX) GO TO 120                                           00130510
  388.       WRITE(6,110)    MAT,NEL                                           00130520
  389.   110 FORMAT (1X ,20X,42H MATERIAL PROPERTIES DO NOT EXIST FOR TYPE,    00130530
  390.      $I5,11H AT ELEMENT,I5)                                             00130540
  391.       CALL CLOSE                                                        00130550
  392.       CALL EXIT                                                         00130560
  393.   120 CONTINUE                                                          00130570
  394.       RATIO=0.0                                                         00130580
  395.       MTN=KTEM1                                                         00130590
  396.       MTP=MTN                                                           00130600
  397.       IF(NU(MN,2).EQ.1) GO TO 150                                       00130610
  398.       DO 130 I=KTEM1,KTEM2                                              00130620
  399.       MTN=I-1                                                           00130630
  400.       IF(I.EQ.KTEM1) MTN=I                                              00130640
  401.       IF(TEMP.LT.PROP(I,1)) GO TO 140                                   00130650
  402.   130 CONTINUE                                                          00130660
  403.   140 MTP=MTN+1                                                         00130670
  404.       DIF=PROP(MTP,1)-PROP(MTN,1)                                       00130680
  405.       RATIO=(TEMP-PROP(MTN,1))/DIF                                      00130690
  406.   150 YM=PROP(MTN,2)+(PROP(MTP,2)-PROP(MTN,2))*RATIO                    00130700
  407.       POIS=PROP(MTN,3)+(PROP(MTP,3)-PROP(MTN,3))*RATIO                  00130710
  408.       ALF= PROP(MTN,4)+(PROP(MTP,4)-PROP(MTN,4))*RATIO                  00130720
  409.       DENS=DEN(MN)                                                      00130730
  410.       RETURN                                                            00130740
  411.       END                                                               00130750
  412.       SUBROUTINE MEMSET (KONST,IARRAY,NWDS)                             00135760
  413.       REAL*8 IARRAY, KONST                                              00135770
  414.       DIMENSION IARRAY(1)                                               00135780
  415.       DO 100 I=1,NWDS                                                   00135790
  416.   100 IARRAY(I)=KONST                                                   00135800
  417.       RETURN                                                            00135810
  418.       END                                                               00135820
  419.       SUBROUTINE WRITEG(MBAND,NDIF,I,NDO,NS,LM,ST,GST)                  00328070
  420.       IMPLICIT REAL*8(A-H,O-Z)                                          00328080
  421.       REAL*8 LM                                                         00328090
  422.       COMMON/MASS/LMASS                                                 00328100
  423.       COMMON/PREP/XMX,XAD,KSKIP,NDYN,I1,RRPREP(7)                       R0328110
  424.       COMMON/SIZE/NDMX,MXDF,NSMX,NTERM,NADND                            00328120
  425.       COMMON/MISC/NZ(2),LL,NF,LB                                        R0328130
  426.       DIMENSION LM(1),ST(1),GST(1)                                      00328140
  427.       ND=NDO                                                            00328150
  428.       KST=(2+MXDF+LL)*MXDF+NSMX*MXDF+NSMX*LL+NDMX*LL-ND                 00328160
  429.       IF(LMASS.EQ.1) KST=(1+MXDF+MXDF+LL)*MXDF+NSMX*MXDF+               00328170
  430.      1NSMX*LL+NDMX*LL-ND                                                00328180
  431.       DO 10 NT2=1,ND                                                    00328190
  432.       KST=KST+1                                                         00328200
  433.       Z=LM(KST)                                                         00328210
  434.       LM(KST)=LM(NT2)                                                   00328220
  435.    10 LM(NT2)=Z                                                         00328230
  436.       KST=KST-ND                                                        00328240
  437.       Z=I                                                               00328250
  438.       NT3=24                                                            00328260
  439.       LSXY=MXDF*MXDF+1                                                  00328270
  440.       LSYY=MXDF*MXDF +LSXY                                              00328280
  441.       CALL GSTFPK(ND,NS,MXDF,NDMX,NSMX,LL,Z,NT3,LM,ST,GST(1))           00328290
  442.       DO 20 NT2=1,ND                                                    00328300
  443.       KST=KST+1                                                         00328310
  444.       Z=LM(KST)                                                         00328320
  445.       LM(KST)=LM(NT2)                                                   00328330
  446.    20 LM(NT2)=Z                                                         00328340
  447.       RETURN                                                            00328350
  448.       END                                                               00328360
  449.       SUBROUTINE GSTFPK(ND,NS,MXDF,NDMX,NSMX,LL,Z,NT3,STIF,ST,GST)      00110490
  450.       IMPLICIT REAL*8(A-H,O-Z)                                          00110500
  451.       REAL*8 GST,LM                                                     00110510
  452.       REAL*8 STIF,ST                                                    00110520
  453.       LOGICAL ELPRT,ELPCH,GENPRT,GENPCH,GEOST,DEFPCH                    00110530
  454.       DIMENSION STIF(1),ST(1),GST(1)                                    00110540
  455.       COMMON/CTL/ELPRT,ELPCH,GENPRT,GENPCH                              00110550
  456.       COMMON/FORCE/NLC,NELD                                             00110560
  457.       COMMON/GEOSTF/GEOST,NELGEO                                        00110570
  458.       COMMON/MASS/LMASS                                                 00110580
  459.       KOUNT=ND                                                          00110590
  460.       KGSTF=0                                                           00110600
  461.       DO 100 I=2,ND                                                     00110610
  462.       KGSTF=KGSTF+MXDF                                                  00110620
  463.       KST=KGSTF                                                         00110630
  464.       DO 100 J=1,ND                                                     00110640
  465.       KOUNT=KOUNT+1                                                     00110650
  466.       KST=KST+1                                                         00110660
  467.  100  GST(KOUNT)=GST(KST)                                               00110670
  468.       IF(.NOT.ELPRT) GO TO 120                                          00110680
  469.       WRITE(6,210)ND,NS                                                 00110690
  470.       IF(ELPCH)WRITE(7,220)ND,NS                                        00110700
  471.       DO 110 I=1,ND                                                     00110710
  472.       IF(ELPCH)WRITE(7,230)(GST(J),J=I,KOUNT,ND)                        00110720
  473.   110 WRITE(6,240)(GST(J),J=I,KOUNT,ND)                                 00110730
  474.   120 CONTINUE                                                          00110740
  475.       IF(Z.NE.6) GO TO 180                                              00110750
  476.       KGSTF=MXDF*MXDF-MXDF                                              00110760
  477.       DO 130 I=1,ND                                                     00110770
  478.       KGSTF=KGSTF+MXDF                                                  00110780
  479.       KST=KGSTF                                                         00110790
  480.       DO 130 J=1,ND                                                     00110800
  481.       KST=KST+1                                                         00110810
  482.       KOUNT=KOUNT+1                                                     00110820
  483.   130 GST(KOUNT)=GST(KST)                                               00110830
  484.       IF(.NOT.ELPRT) GO TO 150                                          00110840
  485.       WRITE(6,250)                                                      00110850
  486.       IF(ELPCH)WRITE(7,260)                                             00110860
  487.       DO 140 I=1,ND                                                     00110870
  488.       KST=ND*ND+I                                                       00110880
  489.       IF(ELPCH)WRITE(7,230)(GST(J),J=KST,KOUNT,ND)                      00110890
  490.   140 WRITE(6,240)(GST(J),J=KST,KOUNT,ND)                               00110900
  491.   150 CONTINUE                                                          00110910
  492.       KGSTF=(MXDF*MXDF)*2-MXDF                                          00110920
  493.       DO 160 I=1,ND                                                     00110930
  494.       KGSTF=KGSTF+MXDF                                                  00110940
  495.       KST=KGSTF                                                         00110950
  496.       DO 160 J=1,ND                                                     00110960
  497.       KST=KST+1                                                         00110970
  498.       KOUNT=KOUNT+1                                                     00110980
  499.   160 GST(KOUNT)=GST(KST)                                               00110990
  500.       IF(.NOT.ELPRT) GO TO 180                                          00111000
  501.       WRITE(6,270)                                                      00111010
  502.       IF(ELPCH) WRITE(7,280)                                            00111020
  503.       DO 170 I=1,ND                                                     00111030
  504.       KST=(ND*ND)*2+I                                                   00111040
  505.       IF(ELPCH)WRITE(7,230)(GST(J),J=KST,KOUNT,ND)                      00111050
  506.   170 WRITE(6,240)(GST(J),J=KST,KOUNT,ND)                               00111060
  507.   180 CONTINUE                                                          00111070
  508.       GST(KOUNT+1)=ND                                                   00111080
  509.       GST(KOUNT+2)=Z                                                    00111090
  510.       KOUNT=KOUNT+2+ND                                                  00111100
  511.       KST=(2+MXDF+LL)*MXDF+NSMX*MXDF+NSMX*LL+NDMX*LL+1-ND               00111110
  512.       IF(LMASS.EQ.1) KST=(1+MXDF+MXDF+LL)*MXDF+NSMX*MXDF+               00111120
  513.      1NSMX*LL+NDMX*LL+1-ND                                              00111130
  514.       CALL RDWRT(NT3,STIF(KST),KOUNT,1,K)                               00111140
  515.       RETURN                                                            00111150
  516.   210 FORMAT(1X,42HNUMBER OF DISPLACEMENTS PER ELEMENT (ND) =,I3,/,     00111160
  517.      $       1X,42HNUMBER OF STRESSES PER ELEMENT      (NS) =,I3,//,    00111170
  518.      $5X,42HNORMALIZED GEOMETRIC STIFFNESS MATRIX, GXX)                 00111180
  519.   220 FORMAT(1H+,11X,6H   ND=,I3,6H   NS=,I3,/,5X,3HGXX)                00111190
  520.   230 FORMAT(1P8E10.3)                                                  00111200
  521.   240 FORMAT((1H ,1P10E13.4))                                           00111210
  522.   250 FORMAT(//,5X,42HNORMALIZED GEOMETRIC STIFFNESS MATRIX, GXY)       00111220
  523.   260 FORMAT(5X,3HGXY)                                                  00111230
  524.   270 FORMAT(//,5X,42HNORMALIZED GEOMETRIC STIFFNESS MATRIX, GYY)       00111240
  525.   280 FORMAT(5X,3HGYY)                                                  00111250
  526.       END                                                               00111260
  527.       SUBROUTINE WRITET (MBAND,NDIF,I,NDO,NS,LM,ST)                     00328370
  528.       IMPLICIT REAL*8(A-H,O-Z)                                          00328380
  529.       REAL*8  LM                                                        00328390
  530.       COMMON/MASS/LMASS                                                 00328400
  531.       COMMON/PREP/XMX,XAD,KSKIP,NDYN,I1,RRPREP(7)                       R0328410
  532.       COMMON/SIZE/NDMX,MXDF,NSMX,NTERM,NADND                            00328420
  533.       COMMON /MISC/ NZ(2),LL,NF,LB                                      R0328430
  534.       DIMENSION LM(1),ST(1)                                             00328440
  535.       ND=NDO                                                            00328450
  536.       KST=(2+MXDF+LL)*MXDF-ND                                           00328460
  537.       IF(LMASS.EQ.1) KST=(1+MXDF+LL+MXDF)*MXDF-ND                       00328470
  538.       DO 10 NT2=1,ND                                                    00328480
  539.       KST=KST+1                                                         00328490
  540.       Z=LM(KST)                                                         00328500
  541.       LM(KST)=LM(NT2)                                                   00328510
  542.    10 LM(NT2)=Z                                                         00328520
  543.       KST=KST-ND                                                        00328530
  544.       Z=I                                                               00328540
  545.       NT1=2                                                             00328550
  546.       NT2=1                                                             00328560
  547.       CALL STRSPK(NT2,ND,NS,MXDF,NSMX,LL,LM,ST,Z)                       00328570
  548.       DO 20 NT2=1,ND                                                    00328580
  549.       KST=KST+1                                                         00328590
  550.       Z=LM(KST)                                                         00328600
  551.       LM(KST)=LM(NT2)                                                   00328610
  552.    20 LM(NT2)=Z                                                         00328620
  553.       MMA=1                                                             00328630
  554.       IF(LMASS.EQ.1) MMA=MXDF                                           00328640
  555.       LOAD=MXDF+MXDF*MXDF+1                                             00328650
  556.       MASS=LOAD+MXDF*LL                                                 00328660
  557.       CALL STIFPK(ND,MXDF,LL,NT1,LM(1),LM(MXDF+1),LM(LOAD),LM(MASS),MMA)00328670
  558.       NDIF=LM(ND)-LM(1)+1                                               00328680
  559.       IF(NDIF.GT.MBAND)  MBAND=NDIF                                     00328690
  560.   110 RETURN                                                            00328700
  561.       END                                                               00328710
  562.       SUBROUTINE STRSPK(NT2,ND ,NS ,NDMX,NSTRMX,LL  ,STIF,STR,Z)        00281810
  563.       IMPLICIT REAL*8(A-H,O-Z)                                          00281820
  564.       REAL*8  STIF,STR,Z                                                00281830
  565.       LOGICAL ELPRT,ELPCH,GENPRT,GENPCH,DEFPCH,GEOST                    00281840
  566.       DIMENSION STIF(1),STR(1)                                          00281850
  567.       COMMON/CTL/ELPRT,ELPCH,GENPRT,GENPCH                              00281860
  568.       COMMON/GEOSTF/GEOST,NELGEO                                        00281870
  569.       COMMON/MASS/LMASS                                                 00281880
  570.       KOUNT=NS                                                          00281890
  571.       KSTR=0                                                            00281900
  572.       DO 100 I=2,ND                                                     00281910
  573.       KSTR=KSTR+NSTRMX                                                  00281920
  574.       KST=KSTR                                                          00281930
  575.       DO 100 J=1,NS                                                     00281940
  576.       KOUNT=KOUNT+1                                                     00281950
  577.       KST=KST+1                                                         00281960
  578.   100 STR(KOUNT)=STR(KST)                                               00281970
  579.       IF(.NOT.ELPRT) GO TO 1100                                         00281980
  580.       IF(.NOT.GEOST) GO TO 1010                                         00281990
  581.       WRITE(6,180)                                                      00282000
  582.       GO TO 1015                                                        00282010
  583.  1010 CONTINUE                                                          00282020
  584.       WRITE(6,120)ND,NS                                                 00282030
  585.       IF(ELPCH)WRITE(7,130)ND,NS                                        00282040
  586.  1015 CONTINUE                                                          00282050
  587.       DO 1020 I=1,NS                                                    00282060
  588.       IF(ELPCH) WRITE(7,140)(STR(J),J=I,KOUNT ,NS)                      00282070
  589.  1020 WRITE(6,150)(STR(J),J=I,K OUNT,NS)                                00282080
  590.  1100 CONTINUE                                                          00282090
  591.       KSTR=NDMX*NSTRMX-NSTRMX                                           00282100
  592.       DO 110 I=1,LL                                                     00282110
  593.       KSTR=KSTR+NSTRMX                                                  00282120
  594.       KST=KSTR                                                          00282130
  595.       DO 110 J=1,NS                                                     00282140
  596.       KST=KST+1                                                         00282150
  597.       KOUNT=KOUNT+1                                                     00282160
  598.   110 STR(KOUNT)=STR(KST)                                               00282170
  599.       IF(.NOT.ELPRT) GO TO 1200                                         00282180
  600.       WRITE(6,160)                                                      00282190
  601.       DO 1190 I=1,NS                                                    00282200
  602.       KST=NS*ND+I                                                       00282210
  603.       IF(ELPCH) WRITE(7,140) (STR(J),J=KST,K OUNT,NS)                   00282220
  604.       WRITE(6,170)(STR(J),J=KST,K OUNT,NS)                              00282230
  605.  1190 CONTINUE                                                          00282240
  606.  1200 CONTINUE                                                          00282250
  607.       STR(KOUNT+1)=ND                                                   00282260
  608.       STR(KOUNT+2)=NS                                                   00282270
  609.       STR(KOUNT+3)=Z                                                    00282280
  610.       KOUNT=KOUNT+3+ND                                                  00282290
  611.       KST=(2+NDMX+LL)*NDMX+1-ND                                         00282300
  612.       IF(LMASS.EQ.1) KST=(1+NDMX+NDMX+LL)*NDMX+1-ND                     00282310
  613. CC    CALL RDWRT(NT2,STIF(KST),KOUNT,1,K)                               R0282320
  614.       KSTRR=KST+KOUNT-1                                                 R0282321
  615.       WRITE (21) KOUNT                                                  R0282322
  616.       WRITE (21) (STIF(IIR),IIR=KST,KSTRR)                              R0282323
  617.       RETURN                                                            00282330
  618.   120 FORMAT(1X,42HNUMBER OF DISPLACEMENTS PER ELEMENT (ND) =,I3,/,     00282340
  619.      $       1X,42HNUMBER OF STRESSES PER ELEMEET (NS)       ,I3,//,    00282350
  620.      $1X,34HELEMENT STRESS-DISPLACEMENT MATRIX)                         00282360
  621.   130  FORMAT(1H+,11X,6H   ND=,I3,6H   NS=,I3)                          00282370
  622.   140  FORMAT(1P8E10.3)                                                 00282380
  623.   150 FORMAT(  (1H ,1P10E13.4))                                         00282390
  624.   160 FORMAT(/1X,28HELEMENT FIXED-NODE STRESSES )                       00282400
  625.  170  FORMAT(                                     (1H ,1P4E13.4))       00282410
  626.   180 FORMAT(//,1X,34HELEMENT STRESS-DISPLACEMENT MATRIX)               00282420
  627.       END                                                               00282430
  628.       SUBROUTINE STIFPK(ND1,NDMX,LL,NT1,STIF,S,LOAD,MASS,MMA)           00271190
  629.       IMPLICIT REAL*8(A-H,O-Z)                                          00271200
  630.       REAL*8  S(NDMX,NDMX),LOAD(NDMX,LL),MASS(NDMX,MMA),T               00271210
  631.       REAL*8  STIF                                                      00271220
  632.       LOGICAL ELPRT,ELPCH,GENPRT,GENPCH                                 00271230
  633.       DIMENSION STIF(1)                                                 00271240
  634.       COMMON/CTL/ELPRT,ELPCH,GENPRT,GENPCH                              00271250
  635.       COMMON /FORCE/ NLC,NELD                                           00271260
  636.       COMMON/MASS/LMASS                                                 00271270
  637.       IF(.NOT.ELPRT) GO TO 1100                                         00271280
  638.       WRITE(6,160)(STIF(I),I=1,ND1)                                     00271290
  639.       IF(ELPCH) WRITE(7,180)(STIF(I),I=1,ND1)                           00271300
  640.       WRITE(6,170)                                                      00271310
  641.       DO 1020 I=1,ND1                                                   00271320
  642.       IF(ELPCH) WRITE(7,180)(S(I,J),J=1,ND1)                            00271330
  643.  1020 WRITE(6,190)(S(I,J),J=1,ND1)                                      00271340
  644.       INLL=8                                                            00271350
  645.       IF(LL.LT.8) INLL=LL                                               00271360
  646.       DO 1040 J=1,LL,INLL                                               00271370
  647.       K=J+INLL-1                                                        00271380
  648.       WRITE(6,220)J,K                                                   00271390
  649.       K=J-1                                                             00271400
  650.       DO 1040 I=1,ND1                                                   00271410
  651.       IF(ELPCH) WRITE(7,180) (LOAD(I,K+L),L=1,INLL)                     00271420
  652.  1040 WRITE(6,200) (LOAD(I,K+L),L=1,INLL)                               00271430
  653.       IF(LMASS.NE.1)GO TO 1070                                          00271440
  654.       WRITE(6,230)                                                      00271450
  655.       DO 1060 I=1,ND1                                                   00271460
  656.       IF(ELPCH) WRITE(7,180)(MASS(I,J),J=1,ND1)                         00271470
  657.  1060 WRITE(6,190)(MASS(I,J),J=1,ND1)                                   00271480
  658.       GO TO 1100                                                        00271490
  659.  1070 CONTINUE                                                          00271500
  660.       IF(ELPCH) WRITE(7,180)(MASS(I,1),I=1,ND1)                         00271510
  661.       WRITE(6,210)          (MASS(I,1),I=1,ND1)                         00271520
  662.  1100 CONTINUE                                                          00271530
  663.       IF(ND1.EQ.1) GO TO 8                                              00271540
  664.       NDM=ND1-1                                                         00271550
  665.       DO 7 J=1,NDM                                                      00271560
  666.        IF(STIF(J).LE.0.) GO TO 7                                        00271570
  667.       JP1=J+1                                                           00271580
  668.       DO 6 I=JP1,ND1                                                    00271590
  669.       IF(STIF(J).NE.STIF(I)) GO TO 6                                    00271600
  670.       DO 1 K=1,J                                                        00271610
  671.       IF(LMASS.EQ.1) MASS(J,K)=MASS(J,K)+MASS(I,K)                      00271620
  672.     1 S(J,K)=S(J,K)+S(I,K)                                              00271630
  673.       IM1=I-1                                                           00271640
  674.       DO 2 K=J,IM1                                                      00271650
  675.       IF(LMASS.EQ.1) MASS(K,J)=MASS(K,J)+MASS(I,K)                      00271660
  676.     2 S(K,J)=S(K,J)+S(I,K)                                              00271670
  677.       IP1=I+1                                                           00271680
  678.       IF(IP1.GT.ND1) GO TO 4                                            00271690
  679.       DO 3 K=IP1,ND1                                                    00271700
  680.       IF(LMASS.EQ.1) MASS(K,J)=MASS(K,J)+MASS(K,I)                      00271710
  681.     3 S(K,J)=S(K,J)+S(K,I)                                              00271720
  682.     4 STIF(I)=0.0                                                       00271730
  683.       IF(LMASS.EQ.1) MASS(J,J)=MASS(J,J)+MASS(I,I)                      00271740
  684.       S(J,J)=S(J,J)+S(I,I)                                              00271750
  685.       DO 5 K=1,LL                                                       00271760
  686.     5 LOAD(J,K)=LOAD(J,K)+LOAD(I,K)                                     00271770
  687.       IF(LMASS.EQ.1) GO TO 6                                            00271780
  688.       MASS(J,1)=MASS(J,1)+MASS(I,1)                                     00271790
  689.     6 CONTINUE                                                          00271800
  690.     7 CONTINUE                                                          00271810
  691.     8 CONTINUE                                                          00271820
  692.       I=ND1                                                             00271830
  693.    10 EMAX=STIF(1)                                                      00271840
  694.       J=1                                                               00271850
  695.       DO 40  K=1,I                                                      00271860
  696.       IF(STIF(K).GT.0.0) GO TO 30                                       00271870
  697.       J=K                                                               00271880
  698.       GO TO 50                                                          00271890
  699.    30 IF(STIF(K).LT.EMAX) GO TO 40                                      00271900
  700.       EMAX=STIF(K)                                                      00271910
  701.       J=K                                                               00271920
  702.    40 CONTINUE                                                          00271930
  703.    50 IF(I.EQ.J)GO TO 90                                                00271940
  704.       JM1=J-1                                                           00271950
  705.       IF(JM1.LT.1) GO TO 60                                             00271960
  706.       DO 55 K=1,JM1                                                     00271970
  707.       IF(LMASS.NE.1) GO TO 1150                                         00271980
  708.       T=MASS(I,K)                                                       00271990
  709.       MASS(I,K)=MASS(J,K)                                               00272000
  710.       MASS(J,K)=T                                                       00272010
  711.  1150 CONTINUE                                                          00272020
  712.       T=S(I,K)                                                          00272030
  713.       S(I,K)=S(J,K)                                                     00272040
  714.    55 S(J,K)=T                                                          00272050
  715.    60 JP1=J+1                                                           00272060
  716.       IM1=I-1                                                           00272070
  717.       IF(JP1.GT.IM1) GO TO 70                                           00272080
  718.       DO 65 K=JP1,IM1                                                   00272090
  719.       IF(LMASS.NE.1) GO TO 1160                                         00272100
  720.       T=MASS(K,J)                                                       00272110
  721.       MASS(K,J)=MASS(I,K)                                               00272120
  722.       MASS(I,K)=T                                                       00272130
  723.  1160 CONTINUE                                                          00272140
  724.       T=S(K,J)                                                          00272150
  725.       S(K,J)=S(I,K)                                                     00272160
  726.    65 S(I,K)=T                                                          00272170
  727.    70 IP1=I+1                                                           00272180
  728.       IF(IP1.GT.ND1) GO TO 78                                           00272190
  729.       DO 75 K=IP1,ND1                                                   00272200
  730.       IF(LMASS.NE.1) GO TO 1170                                         00272210
  731.       T=MASS(K,I)                                                       00272220
  732.       MASS(K,I)=MASS(K,J)                                               00272230
  733.       MASS(K,J)=T                                                       00272240
  734.  1170 CONTINUE                                                          00272250
  735.       T=S(K,I)                                                          00272260
  736.       S(K,I)=S(K,J)                                                     00272270
  737.    75 S(K,J)=T                                                          00272280
  738.    78 T=S(I,I)                                                          00272290
  739.       S(I,I)=S(J,J)                                                     00272300
  740.       S(J,J)=T                                                          00272310
  741.       IF(LMASS.NE.1) GO TO 1175                                         00272320
  742.       T=MASS(I,I)                                                       00272330
  743.       MASS(I,I)=MASS(J,J)                                               00272340
  744.       MASS(J,J)=T                                                       00272350
  745.  1175 CONTINUE                                                          00272360
  746.       DO 80 K=1,LL                                                      00272370
  747.       T=LOAD(I,K)                                                       00272380
  748.       LOAD(I,K)=LOAD(J,K)                                               00272390
  749.    80 LOAD(J,K)=T                                                       00272400
  750.       T=STIF(I)                                                         00272410
  751.       STIF(I)=STIF(J)                                                   00272420
  752.       STIF(J)=T                                                         00272430
  753.       IF(LMASS.EQ.1) GO TO 90                                           00272440
  754.       T=MASS(I,1)                                                       00272450
  755.       MASS(I,1)=MASS(J,1)                                               00272460
  756.       MASS(J,1)=T                                                       00272470
  757.    90 IF(STIF(I).EQ.0.0) ND1=ND1-1                                      00272480
  758.       I=I-1                                                             00272490
  759.       IF(I.GT.0) GO TO 10                                               00272500
  760.       IF(ND1.LE.0) ND1=1                                                00272510
  761.       KOUNT=ND1                                                         00272520
  762.       KST=0                                                             00272530
  763.       DO 100 I=1,ND1                                                    00272540
  764.       KST=KST+NDMX                                                      00272550
  765.       KK=KST+I-1                                                        00272560
  766.       DO 100 J=I,ND1                                                    00272570
  767.       KK=KK+1                                                           00272580
  768.       KOUNT=KOUNT+1                                                     00272590
  769.   100 STIF(KOUNT)=STIF(KK)                                              00272600
  770.       IF(NELD.EQ.0) GO TO 115                                           00272610
  771.       KST=NDMX*NDMX                                                     00272620
  772.       DO 110 I=1,LL                                                     00272630
  773.       KST=KST+NDMX                                                      00272640
  774.       KK=KST                                                            00272650
  775.       DO 110 J=1,ND1                                                    00272660
  776.       KK=KK+1                                                           00272670
  777.       KOUNT=KOUNT+1                                                     00272680
  778.   110 STIF(KOUNT)=STIF(KK)                                              00272690
  779.   115 CONTINUE                                                          00272700
  780.       IF(LMASS.EQ.1) GO TO 1200                                         00272710
  781.       KK =NDMX*NDMX+NDMX*LL  +NDMX                                      00272720
  782.       DO 120 I=1,ND1                                                    00272730
  783.       KK=KK+1                                                           00272740
  784.       KOUNT=KOUNT+1                                                     00272750
  785.   120 STIF(KOUNT)=STIF(KK)                                              00272760
  786.       GO TO 1250                                                        00272770
  787.  1200 CONTINUE                                                          00272780
  788.       KST=NDMX*NDMX+NDMX*LL                                             00272790
  789.       DO 1210 I=1,ND1                                                   00272800
  790.       KST=KST+NDMX                                                      00272810
  791.       KK=KST+I-1                                                        00272820
  792.       DO 1210 J=I,ND1                                                   00272830
  793.       KK=KK+1                                                           00272840
  794.       KOUNT=KOUNT+1                                                     00272850
  795.  1210 STIF(KOUNT)=STIF(KK)                                              00272860
  796.  1250 CONTINUE                                                          00272870
  797.       KOUNT=KOUNT+1                                                     00272880
  798.       STIF(KOUNT)=ND1                                                   00272890
  799.       CALL RDWRT(NT1,STIF,KOUNT,1,I)                                    00272900
  800. CC    WRITE(21) (STIF(II),II=1,KOUNT)                                   R0272901
  801.   160 FORMAT(/1X,22HELEMENT LOCATION MATRX,/,(1H ,10F13.0))             00272910
  802.   170 FORMAT(/1X,24HELEMENT STIFFNESS MATRIX)                           00272920
  803.   180 FORMAT((1P8E10.3))                                                00272930
  804.   190 FORMAT(  (1H ,1P10E13.4))                                         00272940
  805.   200 FORMAT(                            (1H ,1P8E13.4))                00272950
  806.   210 FORMAT(/1X,19HELEMENT MASS MATRIX,/,(1H ,1P10E13.4))              00272960
  807.  220  FORMAT(/1X,32HELEMENT LOAD MATRIX - LOAD CASES,I5,3X,2HTO,I5)     00272970
  808.   230 FORMAT(/1X,19HELEMENT MASS MATRIX)                                00272980
  809.       RETURN                                                            00272990
  810.       END                                                               00273000
  811.       SUBROUTINE CENT(X,Y,AXN,AYN)                                      00038210
  812.         IMPLICIT REAL*8(A-H,O-Z)                                        00038220
  813.         AYN=Y                                                           00038230
  814.         AXN=0.0                                                         00038240
  815.         IF(X.EQ.0.0) RETURN                                             00038250
  816.         R=DSQRT(X**2+Y**2)                                              00038260
  817.         THET=DATAN2(Y,X)                                                00038270
  818.  10      AYN=R*DSIN(THET)                                               00038280
  819.         AXN=R*DCOS(THET)                                                00038290
  820.         RETURN                                                          00038300
  821.         END                                                             00038310
  822.       SUBROUTINE RUSS(                                                  00217110
  823.      $ID,PROP1,PROP2,PROP3,PROP4,PROP5,PROP6,PROP7,LM,S,P,XM,ST,TT,TEMPD00217120
  824.      $,GSXX                                                             00217130
  825.      $,KK1,KK2,KK3,KK4,KK5,KK6,KK7,IX,IA,NEL,NUMNP,NDMX,NSMX,MXDF,MMA)  00217140
  826.       IMPLICIT REAL*8(A-H,O-Z)                                          00217150
  827.       REAL*8  NPAR                                                      00217160
  828.       REAL*8 LM                                                         00217170
  829.       REAL*8  ID                                                        00217180
  830.       REAL*8MODUE                                                       00217190
  831.       LOGICAL DEFPCH,GEOST                                              00217200
  832.       COMMON A(1)                                                       00217210
  833.       DIMENSION  PROP1(KK1,2),PROP6(KK6,7)                              00217220
  834.       DIMENSION IX(13),IA(100)                                          00217230
  835.       DIMENSION ID(NUMNP,3)                                             00217240
  836.       COMMON /ELTEMP/ TAVG,KET,NRELTE(103)                              R0217250
  837.       COMMON/MASS/LMASS                                                 00217260
  838.       COMMON/MATL/MATLCO                                                R0217261
  839.       COMMON /CG/ SCG(4),RRCG(2)                                        R0217270
  840.       COMMON / MISC / NBLOCK,NEQB,LL,NF,LB                              00217280
  841.       COMMON/AMB/ GRAV,REFT,JROT                                        00217290
  842.         COMMON /QTSARG/FN(4),FTH(4),RRQTSA(992)                         R0217300
  843.       COMMON /ELPAR/ NPAR(14),NNNNN,MBAND,NELTYP,N1,N2,N3,N4,N5,MTOT,NEQ00217310
  844.      $ ,N2P,N3P,NMRI,NTRI,N1P,NUMEL,NUMEL2,KZ(20,2),NEMN                00217320
  845.       DIMENSION LM(MXDF),S(MXDF,MXDF),P(MXDF,KK6), XM(MXDF,MMA)         00217330
  846.       DIMENSION ST(NSMX,MXDF),TT(NSMX,KK6),TEMPD(NDMX,KK6)              00217340
  847.       COMMON /JUNK/ EMUL(4,4),I,J,K,L,M,N,II,JJ,KK,MTYPE,TEMP,DX,DY,DZ, 00217350
  848.      $ XL2,XL,XX,YY,F,FT,FX,FY,FZ,MIN,MAX,NDIF,KKK,TEM,MTYP,NRJUNK(379) R0217360
  849.       COMMON/PREP/XMX,XAD,KSKIP,NDYN,I1,RRPREP(7)                       R0217370
  850.       COMMON/GEOSTF/GEOST,NELGEO                                        00217380
  851.       DIMENSION GSXX(MXDF,MXDF)                                         00217390
  852.       I=IX(1)                                                           00217400
  853.       J=IX(2)                                                           00217410
  854.       MTYPE=IX(9)                                                       00217420
  855.       IF(MTYPE .LE.KK1) GO TO 110                                       00217430
  856.       WRITE(6,100)NEL                                                   00217440
  857.   100 FORMAT (//20X, 26HTHE TRUSS TYPE FOR ELEMENT,I5,/20X,             00217450
  858.      $   35HDOES NOT EXIST, EXECUTION WILL STOP//)                      00217460
  859.       KSKIP=1                                                           00217470
  860.       RETURN                                                            00217480
  861.   110 CONTINUE                                                          00217490
  862.       MAT=PROP1(MTYPE,1)                                                00217500
  863.       IF (MAT.GT.18.AND.NTRI.EQ.0)WRITE(6,120)NEL                       00217510
  864.       IF (MAT.GT.18.AND.NTRI.EQ.0) MAT=1                                00217520
  865.   120 FORMAT (//20X, 45HNO USER SUPPLIED MATERIALS ARE AVAIL. FOR EL.,I500217530
  866.      $/)                                                                00217540
  867.       AREA=PROP1(MTYPE,2)                                               00217550
  868.       TEMP=TAVG                                                         00217560
  869.       IF(MAT .GT.18) GO TO 130                                          00217570
  870.       YM=MODUE(TEMP,MAT)                                                00217580
  871.       POIS=PRATO(TEMP,MAT )                                             00217590
  872.       CTEX=ALPHZM(TEMP,MAT )                                            00217600
  873.       DEN=DENS(TEMP,MAT )  /1728.                                       00217610
  874.       GO TO 140                                                         00217620
  875.   130 CALL MATEV(MAT ,NMRI,NTRI,TEMP,YM,POIS,CTEX,DEN,                  00217630
  876.      $A(N1P),A(N2P),A(N3P),NEL)                                         00217640
  877.   140 CONTINUE                                                          00217650
  878.       E=YM                                                              00217660
  879.   150 IF (KSKIP.EQ.1) GO TO 200                                         00217670
  880.       CALL UNPKID ( ID  ,NUMNP,W      ,DX    ,1,I ,1)                   00217680
  881.       CALL UNPKID ( ID  ,NUMNP,W      ,DY    ,1,I ,2)                   00217690
  882.       CALL UNPKID (   ID,NUMNP,W      ,DZ    ,1,I ,3)                   00217700
  883.       CALL UNPKID ( ID  ,NUMNP,W      ,XX    ,1,J ,1)                   00217710
  884.       CALL UNPKID ( ID  ,NUMNP,W      ,YY    ,1,J ,2)                   00217720
  885.       CALL UNPKID (   ID,NUMNP,W      ,ZZ    ,1,J ,3)                   00217730
  886.         CALL CENT(DX,DY,FN(1),FN(2))                                    00217740
  887.         CALL CENT(XX,YY,FN(3),FN(4))                                    00217750
  888.         FTH(1)= FN(2)                                                   00217760
  889.         FTH(2)=-FN(1)                                                   00217770
  890.         FTH(3)= FN(4)                                                   00217780
  891.         FTH(4)=-FN(3)                                                   00217790
  892.       DX=DX-XX                                                          00217800
  893.       DY=DY-YY                                                          00217810
  894.       DZ=DZ-ZZ                                                          00217820
  895.       XL2=DX*DX+DY*DY+DZ*DZ                                             00217830
  896.       XL= DSQRT(XL2)                                                    00217840
  897.       XX=E*AREA*XL                                                      00217850
  898.       ST(1,1)=DX/XL2                                                    00217860
  899.       ST(1,2)=DY/XL2                                                    00217870
  900.       ST(1,3)=DZ/XL2                                                    00217880
  901.       ST(1,4)=-ST(1,1)                                                  00217890
  902.       ST(1,5)=-ST(1,2)                                                  00217900
  903.       ST(1,6)=-ST(1,3)                                                  00217910
  904.       DO 170 L=1,6                                                      00217920
  905.       YY=ST(1,L)*XX                                                     00217930
  906.       DO 160 K=L,6                                                      00217940
  907.       S(K,L)=ST(1,K)*YY                                                 00217950
  908.   160 S(L,K)=S(K,L)                                                     00217960
  909.       ST(1,L)=E       *ST(1,L)                                          00217970
  910.   170 ST(2,L)=AREA*ST(1,L)                                              00217980
  911.       F=DEN*AREA*XL/2.                                                  00217990
  912.         DO 171 L=1,4                                                    00218000
  913.         FN(L)=FN(L)*F/GRAV                                              00218010
  914. 171     FTH(L)=FTH(L)*F/GRAV                                            00218020
  915.       FT=CTEX*AREA*E                                                    00218030
  916.       FX=DX*FT/XL                                                       00218040
  917.       FY=DY*FT/XL                                                       00218050
  918.       FZ=DZ*FT/XL                                                       00218060
  919.       DO 180 L=1,LL                                                     00218070
  920.       ACX=PROP6(L,5)                                                    00218080
  921.       ACZ=PROP6(L,7)                                                    00218090
  922.       ACY=PROP6(L,6)                                                    00218100
  923.       TOPT=PROP6(L,2)                                                   00218110
  924.       TMR=0.0                                                           00218120
  925.       IF(TOPT.EQ.1) TMR=(TEMPD(1,L)+TEMPD(2,L))/2.-REFT                 00218130
  926.       IF(TOPT.EQ.2.0) TMR= PROP6(L,3)-REFT                              00218140
  927.       TT(2,L)=-FT*TMR                                                   00218150
  928.       TT(1,L)=TT(2,L)/AREA                                              00218160
  929.       TMR=-TMR                                                          00218170
  930.         P(1,L)=-TMR*FX                                                  00218180
  931.         P(2,L)=-TMR*FY                                                  00218190
  932.         P(4,L)= TMR*FX                                                  00218200
  933.         P(5,L)= TMR*FY                                                  00218210
  934.         IF(JROT.EQ.1) GO TO 176                                         00218220
  935.         P(1,L)=P(1,L)+ACX*F                                             00218230
  936.         P(2,L)=P(2,L)+ACY*F                                             00218240
  937.         P(4,L)=P(4,L)+ACX*F                                             00218250
  938.         P(5,L)=P(5,L)+ACY*F                                             00218260
  939.         GO TO 177                                                       00218270
  940. 176     P(1,L)=P(1,L)+ACX*FN(1)+FTH(1)*ACY                              00218280
  941.         P(2,L)=P(2,L)+ACX*FN(2)+FTH(2)*ACY                              00218290
  942.         P(4,L)=P(4,L)+ACX*FN(3)+FTH(3)*ACY                              00218300
  943.         P(5,L)=P(5,L)+ACX*FN(4)+FTH(4)*ACY                              00218310
  944. 177     CONTINUE                                                        00218320
  945.       P(3,L)=ACZ*F-TMR*FZ                                               00218330
  946.       P(4,L)=ACX*F+TMR*FX                                               00218340
  947.       P(5,L)=ACY*F+TMR*FY                                               00218350
  948.   180 P(6,L)=ACZ*F+TMR*FZ                                               00218360
  949.       F=DEN*AREA*XL/2./GRAV                                             00218370
  950.       IF(LMASS.EQ.1) GO TO 1190                                         00218380
  951.       DO 190 L=1,6                                                      00218390
  952.   190 XM(L,1)=F                                                         00218400
  953.       GO TO 1250                                                        00218410
  954.  1190 CONTINUE                                                          00218420
  955.       DO 1210 L=1,6                                                     00218430
  956.       DO 1200 K=1,6                                                     00218440
  957.  1200 XM(L,K)=0.0E0                                                     00218450
  958.  1210 XM(L,L)=F                                                         00218460
  959.  1250 CONTINUE                                                          00218470
  960.       IF(.NOT.GEOST)GO TO 200                                           00218480
  961.       DO 10 L=1,6                                                       00218490
  962.       DO 10 K=1,6                                                       00218500
  963.   10  GSXX(L,K)=0.0D0                                                   00218510
  964.       CX=DX/XL                                                          00218520
  965.       CY=DY/XL                                                          00218530
  966.       CZ=DZ/XL                                                          00218540
  967.       XLIN=1.0D0/XL                                                     00218550
  968.       IF(CX.EQ.0.0.AND.CZ.EQ.0.0)GO TO 40                               00218560
  969.       CXZ=CX**2+CZ**2                                                   00218570
  970.       GSXX(1,1)=((CX**2)*(CY**2)+CZ**2)/CXZ                             00218580
  971.       GSXX(1,2)=-CX*CY                                                  00218590
  972.       GSXX(1,3)=(CX*CZ*(CY**2-1.0D0))/CXZ                               00218600
  973.       GSXX(2,2)=CXZ                                                     00218610
  974.       GSXX(2,3)=-CY*CZ                                                  00218620
  975.       GSXX(3,3)=((CY**2)*(CZ**2)+CX**2)/CXZ                             00218630
  976.       GSXX(1,4)=GSXX(1,1)                                               00218640
  977.       GSXX(1,5)=CX*CY                                                   00218650
  978.       GSXX(1,6)=-GSXX(1,3)                                              00218660
  979.       GSXX(2,4)=CX*CY                                                   00218670
  980.       GSXX(2,5)=-CXZ                                                    00218680
  981.       GSXX(2,6)=CY*CZ                                                   00218690
  982.       GSXX(3,4)=-GSXX(1,3)                                              00218700
  983.       GSXX(3,5)=CY*CZ                                                   00218710
  984.       GSXX(3,6)=-GSXX(3,3)                                              00218720
  985.       GSXX(4,4)=GSXX(1,1)                                               00218730
  986.       GSXX(4,5)=-CX*CY                                                  00218740
  987.       GSXX(4,6)=GSXX(1,3)                                               00218750
  988.       GSXX(5,5)=CXZ                                                     00218760
  989.       GSXX(5,6)=-CY*CZ                                                  00218770
  990.       GSXX(6,6)=GSXX(3,3)                                               00218780
  991.       DO 20 L=1,6                                                       00218790
  992.       DO 20 K=L,6                                                       00218800
  993.   20  GSXX(K,L)=GSXX(L,K)                                               00218810
  994.       DO 30 L=1,6                                                       00218820
  995.       DO 30 K=1,6                                                       00218830
  996.   30  GSXX(L,K)=XLIN*GSXX(L,K)                                          00218840
  997.       GO TO 200                                                         00218850
  998.   40  GSXX(1,1)=XLIN*CY*CY                                              00218860
  999.       GSXX(1,4)=-GSXX(1,1)                                              00218870
  1000.       GSXX(4,1)=-GSXX(1,1)                                              00218880
  1001.       GSXX(4,4)=GSXX(1,1)                                               00218890
  1002.       GSXX(3,3)=XLIN                                                    00218900
  1003.       GSXX(3,6)=-XLIN                                                   00218910
  1004.       GSXX(6,3)=-XLIN                                                   00218920
  1005.       GSXX(6,6)=XLIN                                                    00218930
  1006.   200 CONTINUE                                                          00218940
  1007.       DO 210 L=1,3                                                      00218950
  1008.       CALL UNPKID ( ID  ,NUMNP,LM(L)  ,DX    ,2,I ,L)                   00218960
  1009.   210 CALL UNPKID (   ID,NUMNP,LM(L+3),DX    ,2,J ,L)                   00218970
  1010.       ND=6                                                              00218980
  1011.       NS=2                                                              00218990
  1012.       XMCG=XM(1,1)                                                      00219000
  1013.       DO 220 I=1,2                                                      00219010
  1014.       NPNT=IX(I)                                                        00219020
  1015.       SCG(4)=SCG(4)+XMCG                                                00219030
  1016.       DO 220 J=1,3                                                      00219040
  1017.       CALL UNPKID(ID,NUMNP,W,CORD,1,NPNT,J)                             00219050
  1018.   220 SCG(J)=SCG(J)+XMCG*CORD                                           00219060
  1019.       IF(.NOT.GEOST) GO TO 1220                                         00219070
  1020.       CALL WRITEG(MBAND,NDIF,1,ND,NS,LM,ST,GSXX)                        00219080
  1021.  1220 CONTINUE                                                          00219090
  1022.       CALL WRITET(MBAND,NDIF,1,ND,NS,LM,ST)                             00219100
  1023.       RETURN                                                            00219110
  1024.       END                                                               00219120
  1025.       SUBROUTINE RIGMAT(KK12,KK12A,P12,S,MXDF,NUMNP,                    00211050  
  1026.      & IX,NERRT,NERR,NUMN,ID,II1,RF,SA,NSMX,LL,KSKIP,NEL,NDOFN)         00211060
  1027.         IMPLICIT REAL*8 (A-H,O-Z)                                       00211070
  1028.       DIMENSION P12(51,KK12A),CC(48,48),S(MXDF,MXDF),IX(1)              00211090
  1029.      &,NP(8),XI(3,8),XP(3,8),DX(3),ID(NUMNP,1),CIN(3,3)                 00211100
  1030.      &,DUM(48,48),AD2(5),RF(MXDF,1),SA(NSMX,MXDF)                       00211110
  1031.       COMMON/BMDATA/IAISC,ILDTYP,ILDMUL,IBMSEC,NLWAVE,ILOCAL            R0211080
  1032.         IF(KK12.LE.0)RETURN                                             00211120
  1033.         NT30=30                                                         00211130
  1034.         DO 1 I=1,NUMN                                                   00211140
  1035.     1 NP(I)=0                                                           00211150
  1036.         DO 5 I=1,KK12                                                   00211160
  1037.         NUM=P12(1,I)                                                    00211170
  1038.         N2=NUM+1                                                        00211180
  1039.         DO 5 J=3,N2                                                     00211190
  1040.         DO 2 K=1,NUMN                                                   00211200
  1041.     2 IF(IX(K).EQ.P12(J,I))NP(K)=P12(2,I)                               00211210
  1042.     5 CONTINUE                                                          00211220
  1043.         DO 6 I=1,NUMN                                                   00211230
  1044.         IF(NP(I).NE.0)GO TO 7                                           00211240
  1045.     6 CONTINUE                                                          00211250
  1046.         RETURN                                                          00211260
  1047.     7 NERR=1                                                            00211270
  1048.       N2=NUMN-1                                                         00211280
  1049.         DO 9 I=1,N2                                                     00211290
  1050.         N1=I+1                                                          00211300
  1051.         IF(NP(I).EQ.0)GO TO 9                                           00211310
  1052.         DO 8 J=N1,NUM                                                   00211320
  1053.     8 IF(NP(J).EQ.NP(I))NERR=NERR+1                                     00211330
  1054.     9 CONTINUE                                                          00211340
  1055.         IF(NERR.GT.NERRT)WRITE(6,1000)NEL,NERR,NERRT                    00211350
  1056.  1000 FORMAT(19H FATAL ERROR. ****./9H  ELEMENT,I5,                     00211360
  1057.      &4H HAS,I5,32H CONNECTIONS TO A RIGID ELEMENT.                     00211370
  1058.      $,43H  THE MAXIMUM PERMITTED FOR THIS ELEMENT IS,I5)               00211380
  1059.         IF(NERR.GT.NERRT)KSKIP=1                                        00211390
  1060.         IF(NERR.GT.NERRT)RETURN                                         00211400
  1061.         ND=NDOFN*NUMN                                                   00211410
  1062.         DO 11 I=1,ND                                                    00211420
  1063.         DO 10 J=1,ND                                                    00211430
  1064.    10 CC(I,J)=0.D0                                                      00211440
  1065.    11 CC(I,I)=1.D0                                                      00211450
  1066.         DO 20 I=1,NUMN                                                  00211460
  1067.         DO 20 J=1,3                                                     00211470
  1068.         CALL UNPKID(ID,NUMNP,X,XI(J,I),1,IX(I),J)                       00211480
  1069.         IF(NP(I).NE.0)                                                  00211490
  1070.      &CALL UNPKID(ID,NUMNP,X,XP(J,I),1,NP(I),J)                         00211500
  1071.    20 CONTINUE                                                          00211510
  1072.         DO 23 I=1,3                                                     00211520
  1073.         DO 23 J=1,3                                                     00211530
  1074.    23 CIN(I,J)=0.D0                                                     00211540
  1075.         DO 40 I=1,NUMN                                                  00211550
  1076.         IF(NP(I).EQ.0)GO TO 40                                          00211560
  1077.         DO 25 J=1,3                                                     00211570
  1078.    25 DX(J)=XP(J,I)-XI(J,I)                                             00211580
  1079.         CIN(1,2)=DX(3)                                                  00211590
  1080.         CIN(1,3)=-DX(2)                                                 00211600
  1081.         CIN(2,3)=DX(1)                                                  00211610
  1082.         CIN(2,1)=-DX(3)                                                 00211620
  1083.         CIN(3,1)=DX(2)                                                  00211630
  1084.         CIN(3,2)=-DX(1)                                                 00211640
  1085.         M1=6*(I-1)+3                                                    00211650
  1086.         M2=6*(I-1)                                                      00211660
  1087.         DO 30 J=1,3                                                     00211670
  1088.         JJ=J+M1                                                         00211680
  1089.         DO 30 K=1,3                                                     00211690
  1090.         KK=K+M2                                                         00211700
  1091.    30 CC(KK,JJ)=CIN(J,K)                                                00211710
  1092.    40 CONTINUE                                                          00211720
  1093.         DO 50 I=1,ND                                                    00211730
  1094.         DO 50 J=1,ND                                                    00211740
  1095.         DUM(I,J)=0.D0                                                   00211750
  1096.         DO 50 K=1,ND                                                    00211760
  1097.    50 DUM(I,J)=DUM(I,J)+S(I,K)*CC(K,J)                                  00211770
  1098.         DO 60 I=1,ND                                                    00211780
  1099.         DO 60 J=1,ND                                                    00211790
  1100.         S(I,J)=0.D0                                                     00211800
  1101.         DO 60 K=1,ND                                                    00211810
  1102.    60 S(I,J)=S(I,J)+CC(K,I)*DUM(K,J)                                    00211820
  1103.         IF(LL.LE.0)GO TO 75                                             00211830
  1104.         DO 70 K=1,LL                                                    00211840
  1105.         DO 68 I=1,ND                                                    00211850
  1106.         DUM(I,1)=0.D0                                                   00211860
  1107.         DO 68 J=1,ND                                                    00211870
  1108.    68 DUM(I,1)=DUM(I,1)+CC(J,I)*RF(J,K)                                 00211880
  1109.         DO 69 I=1,ND                                                    00211890
  1110.    69   RF(I,K)=DUM(I,1)                                                00211900
  1111.    70 CONTINUE                                                          00211910
  1112.    75 CONTINUE                                                          00211920
  1113.       NSMXX=NSMX                                                        00211930
  1114.       IF(IAISC.EQ.1) NSMXX=NSMX-2                                       00211940
  1115.         DO 80 I=1,NSMXX                                                 00211950
  1116.         DO 79 J=1,ND                                                    00211960
  1117.         DUM(1,J)=0.D0                                                   00211970
  1118.         DO 79 K=1,ND                                                    00211980
  1119.    79 DUM(1,J)=DUM(1,J)+SA(I,K)*CC(K,J)                                 00211990
  1120.         DO 80 J=1,ND                                                    00212000
  1121.    80 SA(I,J)=DUM(1,J)                                                  00212010
  1122.         RETURN                                                          00212020
  1123.         END                                                             00212030
  1124.