home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 9 / 09.iso / e / e003 / 10.ddi / PASST.FOR < prev    next >
Encoding:
Text File  |  1987-06-23  |  66.4 KB  |  830 lines

  1.       SUBROUTINE PASS                                                   00161290
  2.       IMPLICIT REAL*8(A-H,O-Z)                                          00161300
  3.       REAL*8 NPAR                                                       00161310
  4.       COMMON /MISC/ NBLOCK,NEQB,LL,NF,LB                                00161320
  5.       COMMON /JUNK/ DUK(200),KKK(4),NDYN,NRJUNK(49)                     R0161330
  6.       COMMON /BAND/ KOPT,NRBAND(7)                                      R0161340
  7.       DIMENSION T(3)                                                    00161350
  8.       COMMON /ELPAR/ NPAR(14),NUMNP,MBAND,NELTYP,N1,N2,N3,N4,N5,MTOT,NEQ00161360
  9.      & ,RRELPA(24)                                                      R0161361
  10.       COMMON /OUT/ IDUMM(4),IOSIG,IODISP,NROUT(4)                       R0161370
  11.       COMMON /HEADIN/ TITLE1(8),TITLE2(2),TITLE3(4),RRHEAD(21)          R0161380
  12.       COMMON A(1)                                                       00161390
  13.       COMMON /TRASH/ TIM(400),RRTRAS(90)                                R0161400
  14.       COMMON /PREP/ XD(2),KSKIP,RRPREP(8)                               R0161410
  15.         LL=NF                                                           00161420
  16.         NEQB=NEQ                                                        00161430
  17.         LB=1                                                            00161440
  18. 100     FORMAT(8F10.0)                                                  00161450
  19.       WRITE(6, 110) LL                                                  00161460
  20. 110   FORMAT (1X ,20X,38HTHERE WILL BE OUTPUT AT THE FOLLOWING ,I5,7H TI00161470
  21.      1MES.//)                                                           00161480
  22.       IF (LL.LE.400) GO TO 130                                          00161490
  23.       WRITE(6, 120)                                                     00161500
  24. 120   FORMAT (1H0,20X,34HTOO MANY TIMES HAVE BEEN SELECTED.//)          00161510
  25.       KSKIP=1                                                           00161520
  26. 130   READ(5, 100) (TIM(I),I=1,LL)                                      00161530
  27.       TL=-1.0                                                           00161540
  28.       DO 140 I=1,LL                                                     00161550
  29.          IF (TIM(I).LT.0.0) GO TO 150                                   00161560
  30.          IF (TIM(I).LE.TL) GO TO 150                                    00161570
  31. 140   TL=TIM(I)                                                         00161580
  32.       GO TO 170                                                         00161590
  33. 150   WRITE(6, 160)                                                     00161600
  34. 160   FORMAT (/20X,49HERROR - TIMES MUST BE POS. AND IN ASCENDING ORDER/00161610
  35.      1)                                                                 00161620
  36.       KSKIP=1                                                           00161630
  37. 170   WRITE(6, 180) (TIM(I),I=1,LL)                                     00161640
  38. 180   FORMAT (20X,6G15.6)                                               00161650
  39.         IF(KSKIP.EQ.1) RETURN                                           00161660
  40.       NT14=14                                                           00161670
  41.         ND=1                                                            00161680
  42.         NV=N1+NEQ                                                       00161690
  43.       REWIND NT14                                                       00161700
  44.       NREC=2*((NEQ-1)/5+1)                                              00161710
  45.       NT=2                                                              00161720
  46.       REWIND NT                                                         00161730
  47.       LY=0                                                              00161740
  48.       TH=-1.0                                                           00161750
  49.       TL=-10.0                                                          00161760
  50.       TIME=-10.0                                                        00161770
  51.         LFL=0                                                           00161780
  52.       DO 260 I=1,LL                                                     00161790
  53.          IF (I.EQ.1) GO TO 190                                          00161800
  54.          IF (TIM(I).LE.TIM(LY)) GO TO 260                               00161810
  55.         IF((TIM(I)-TIM(LY)).LT.(TH-TL))  TIM(I)=TH*(2.0+1.0E-8)-TL      00161820
  56. 190     CONTINUE                                                        00161830
  57.         IF(LFL.EQ.1) GO TO 200                                          00161840
  58.         TL=TIME                                                         00161850
  59.          CALL RDDIS (TIME,1,NT14,KFL,0,I)                               00161860
  60.          IF (KFL.EQ.1) GO TO 270                                        00161870
  61.         TH=TIME                                                         00161880
  62. 200      CALL RDDIS (A(N1),NEQ,NT14,KFL,0,I)                            00161890
  63.          IF (KFL.EQ.1) GO TO 320                                        00161900
  64.          CALL RDDIS (A(NV),NEQ,NT14,KFL,0,NREC)                         00161910
  65.          CALL RDDIS (A(NV),NEQ,NT14,KFL,0,NREC)                         00161920
  66.          IF (KFL.EQ.1) GO TO 320                                        00161930
  67.         TL=TIME                                                         00161940
  68.          CALL RDDIS (TIME,1,NT14,KFL,0,I)                               00161950
  69.          IF (KFL.EQ.1) GO TO 270                                        00161960
  70.          TH=TIME                                                        00161970
  71.          IF (I.GT.1) GO TO 210                                          00161980
  72.          IF (TIM(I).LT.TL) GO TO 230                                    00161990
  73. 210      DIFF1=TIM(I)-TL                                                00162000
  74.          DIFF2=TIME-TIM(I)                                              00162010
  75.          IF (TIM(I).GE.TL.AND.TIM(I).LE.TH) GO TO 220                   00162020
  76.          GO TO 200                                                      00162030
  77. 220      IF (DIFF1.GT.DIFF2) GO TO 240                                  00162040
  78. 230     IF(LY.EQ.0) GO TO 231                                           00162050
  79.         IF(TIM(LY).EQ.TL) GO TO 260                                     00162060
  80. 231     CONTINUE                                                        00162070
  81.         LY=LY+1                                                         00162080
  82.          TIM(LY)=TL                                                     00162090
  83.         LFL=1                                                           00162100
  84.          GO TO 250                                                      00162110
  85. 240     JFL=0                                                           00162120
  86.         IF(LY.EQ.0) GO TO 241                                           00162130
  87.         IF(TIM(LY).EQ.TH) JFL=1                                         00162140
  88.         IF(JFL.EQ.1) GO TO 242                                          00162150
  89. 241     LY=LY+1                                                         00162160
  90.          TIM(LY)=TH                                                     00162170
  91. 242     CONTINUE                                                        00162180
  92.         LFL=0                                                           00162190
  93.          CALL RDDIS (A(N1),NEQ,NT14,KFL,0,I)                            00162200
  94.          IF (KFL.EQ.1) GO TO 320                                        00162210
  95.          CALL RDDIS (A(NV),NEQ,NT14,KFL,0,NREC)                         00162220
  96.          CALL RDDIS (A(NV),NEQ,NT14,KFL,0,NREC)                         00162230
  97.          IF (KFL.EQ.1) GO TO 320                                        00162240
  98.         IF(JFL.EQ.1) GO TO 260                                          00162250
  99. 250      CALL RDWRT (NT,A(N1),NEQ,13,I)                                 00162260
  100. 260   CONTINUE                                                          00162270
  101.       GO TO 280                                                         00162280
  102. 270     CONTINUE                                                        00162290
  103.       CALL RDWRT (NT,A(N1),NEQ,13,I)                                    00162300
  104.       LY=LY+1                                                           00162310
  105.       TIM(LY)=TL                                                        00162320
  106. 280   REWIND NT                                                         00162330
  107.         IF(LY.EQ.1) GO TO 281                                           00162340
  108.         IF(TIM(LY).EQ.TIM(LY-1)) LY=LY-1                                00162350
  109. 281     CONTINUE                                                        00162360
  110.       LL=LY                                                             00162370
  111.         NBLOCK=LL                                                       00162380
  112.       CALL SECOND (T(1))                                                00162390
  113.       N2=N1+NUMNP*3                                                     00162400
  114.       N3=N2+6                                                           00162410
  115.       IF (IODISP.EQ.1) TITHOL=TITLE3(3)                                 00162420
  116.       CALL DPRNTD (A(N1),A(N2),A(N3),NUMNP,LL,NEQ,NT)                   00162430
  117.       IF (IODISP.EQ.1) REWIND 6                                         00162440
  118.       IF (IODISP.EQ.1) TITLE3(3)=TITHOL                                 00162450
  119.       CALL SECOND (T(2))                                                00162460
  120.       NADD=1                                                            00162470
  121.       IF (KOPT.GT.0) NADD=NUMNP                                         00162480
  122.       N2=N1                                                             00162490
  123.       N2A=N2+NEQ                                                        00162500
  124.       N3=N2A+NADD                                                       00162510
  125.       NDYN=0                                                            00162520
  126.       KL=1                                                              00162530
  127.       IF (IOSIG.EQ.1) TITHOL=TITLE3(3)                                  00162540
  128.       CALL DSTRES (A(N3),LL,NEQ,A(KL),A(N2A),NADD)                      00162550
  129.       IF (IOSIG.EQ.1) REWIND 6                                          00162560
  130.       IF (IODISP.EQ.1) WRITE (6,300)                                    00162570
  131.       IF (IOSIG.EQ.1) WRITE (6,310)                                     00162580
  132.       IF (IOSIG.EQ.1) TITLE3(3)=TITHOL                                  00162590
  133.       CALL SECOND (T(3))                                                00162600
  134.       T(1)=T(2)-T(1)                                                    00162610
  135.       T(2)=T(3)-T(2)                                                    00162620
  136.       WRITE (6,290) T(1),T(2)                                           00162630
  137.       RETURN                                                            00162640
  138. 290   FORMAT (27H1....TIME LOG (CPU SECONDS)///33H  PRINT DISPLACEMENTS.00162650
  139.      1.......... ,F8.2//33H  COMPUTE STRESSES.............. ,F8.2//)    00162660
  140. 300   FORMAT (///20X,34(1H*)/20X,34HDISPLACEMENTS WILL NOT BE PRINTED./200162670
  141.      10X,34(1H*)//)                                                     00162680
  142. 310   FORMAT (///20X,29(1H*)/20X,29HSTRESSES WILL NOT BE PRINTED./20X,2900162690
  143.      1(1H*)//)                                                          00162700
  144. 320   WRITE(6, 330) NT14                                                00162710
  145. 330   FORMAT (///20X,35HAN ERROR WAS FOUND ON RESTART TAPE ,I4///)      00162720
  146.       KSKIP=1                                                           00162730
  147.       RETURN                                                            00162740
  148.       END                                                               00162750
  149.       SUBROUTINE RDDIS (A,N,NT,K,J,NREC)                                00196520
  150.         IMPLICIT REAL*8(A-H,O-Z)                                        00196530
  151.       DIMENSION A(N)                                                    00196540
  152.       K=0                                                               00196550
  153.       IF (J.GT.0) GO TO 40                                              00196560
  154.       READ (NT,10,END=20) A                                             00196570
  155.         GO TO 30                                                        00196580
  156. 10    FORMAT (5E16.9)                                                   00196590
  157. 20    K=1                                                               00196600
  158. 30    RETURN                                                            00196610
  159. 40    DO 50 I=1,NREC                                                    00196620
  160.          READ (NT,10,END=20)X                                           00196630
  161. 50    CONTINUE                                                          00196640
  162.       RETURN                                                            00196650
  163.       END                                                               00196660
  164.       SUBROUTINE DPRNTD (ID,D,B,NUMNP,LL,NEQ,NT)                        00062880
  165.       IMPLICIT REAL*8(A-H,O-Z)                                          00062890
  166.       REAL*8 ID                                                         00062900
  167.       COMMON /PREP/ XMX,XAD,KSKIP,NDYN,I1,RRPREP(7)                     R0062910
  168.       INTEGER DUMMY                                                     00062920
  169.       COMMON /OUT/ NRES,NSTR,NDIS,DUMMY,IOSIG,IODISP,NROUT(4)           R0062930
  170.       COMMON/ELPAR/XPAR(14),NDUM(8),MTOT,NDUM1(6),NUMEL,NUMEL2,NELPA(41)R0062940
  171.       COMMON A(1)                                                       00062950
  172.       DIMENSION ID(NUMNP,3), B(NEQ), D(6)                               00062960
  173.       IF (NDIS.LT.0) RETURN                                             00062970
  174.       REWIND NT                                                         00062980
  175.       REWIND 8                                                          00062990
  176.       READ (8) ID                                                       00063000
  177.       REWIND 17                                                         00063010
  178.       REWIND 18                                                         00063020
  179.       NDPBLK=(MTOT-6-NUMNP)/6                                           00063030
  180.       NBLK=(NUMNP-1)/NDPBLK+1                                           00063040
  181.       KK=1                                                              00063050
  182.       IF (NDIS.GT.0) WRITE (NDIS,20) KK,LL,NDYN,NDIS,NSTR,NUMNP,NUMEL,NU00063060
  183.      1MEL2                                                              00063070
  184.       DO 30 LD=1,LL                                                     00063080
  185.         READ (NT) B                                                     00063090
  186.       DO 30 N=1,NUMNP                                                   00063100
  187.          DO 10 I=1,6                                                    00063110
  188.         D(I)=0.0                                                        00063120
  189.             CALL UNPKID (ID,NUMNP,W,WX,2,N,I)                           00063130
  190.             NNN=W                                                       00063140
  191.             IF (NNN.LT.1) GO TO 10                                      00063150
  192.             D(I)=B(NNN)                                                 00063160
  193. 10       CONTINUE                                                       00063170
  194. 20    FORMAT (8I5)                                                      00063180
  195.          WRITE (18) D                                                   00063190
  196. 30    CONTINUE                                                          00063200
  197.       K=1                                                               00063210
  198.       N2=K+NUMNP                                                        00063220
  199.       N3=N2+6                                                           00063230
  200.       N4=N3+6*NDPBLK                                                    00063240
  201.       CALL WRDISD (A(K),A(N2),A(N3),NUMNP,LL,NDPBLK,NDIS,NBLK)          00063250
  202.       RETURN                                                            00063260
  203.       END                                                               00063270
  204.       SUBROUTINE WRDISD (NORD,A,B,NUMNP,LL,NDPBLK,NDIS,NBLK)            00327500
  205.       REAL*8 A,B                                                        00327510
  206.       DIMENSION NORD(NUMNP), A(6), B(NDPBLK,6)                          00327520
  207.       COMMON /TRASH/ TIM(400),RRTRAS(580)                               R0327530
  208.       COMMON /OUT/ KDUMMY(9),KROT                                       00327540
  209.       COMMON /BAND/ KOPT,NRBAND(7)                                      R0327550
  210.       NT1=17                                                            00327560
  211.       NT2=18                                                            00327570
  212.         REWIND NT2                                                      00327580
  213.       IF (KOPT.GT.0) READ (NT1) NORD                                    00327590
  214.       DO 70 M=1,LL                                                      00327600
  215.          WRITE(6, 10) TIM(M)                                            00327610
  216. 10    FORMAT (1X ,/20X,24HDISPLACEMENTS AT TIME = ,G15.6//)             00327620
  217.          WRITE (6,110)                                                  00327630
  218.          KSHF2=0                                                        00327640
  219.          KSHF=1-NDPBLK                                                  00327650
  220.          KNT=0                                                          00327660
  221.          DO 60 I=1,NBLK                                                 00327670
  222.             KOUNT=0                                                     00327680
  223.             KK=NUMNP+1                                                  00327690
  224.             KSHF=KSHF+NDPBLK                                            00327700
  225.             KSHF2=KSHF2+NDPBLK                                          00327710
  226.             DO 30 KK=1,NUMNP                                            00327720
  227.                READ (NT2) A                                             00327730
  228.                KCH=KK                                                   00327740
  229.                IF (KOPT.GT.0) KCH=NORD(KK)                              00327750
  230.                IF (KCH.LT.KSHF.OR.KCH.GT.KSHF2) GO TO 30                00327760
  231.                KNT=KNT+1                                                00327770
  232.                KOUNT=KOUNT+1                                            00327780
  233.                NSHFT=KCH-KSHF+1                                         00327790
  234.                DO 20 K=1,6                                              00327800
  235. 20             B(NSHFT,K)=A(K)                                          00327810
  236.                IF (KOUNT.EQ.NDPBLK.OR.KNT.EQ.NUMNP) GO TO 40            00327820
  237. 30          CONTINUE                                                    00327830
  238. 40          KNT1=(I-1)*NDPBLK                                           00327840
  239.             DO 50 J=1,NDPBLK                                            00327850
  240.                KNT1=KNT1+1                                              00327860
  241.                IF (KNT1.GT.NUMNP) GO TO 70                              00327870
  242.                WRITE (6,80) KNT1,(B(J,K),K=1,6)                         00327880
  243.                IF (NDIS.GT.0) WRITE (NDIS,90) KNT1,(B(J,K),K=1,3)       00327890
  244.       IF(NDIS.GT.0.AND.KROT.EQ.2) WRITE(NDIS,90) KNT1,(B(J,K),K=4,6)    00327900
  245.         WRITE(33,200)KNT1                                               00327910
  246.         WRITE(33,201)(B(J,K),K=1,3)                                     00327920
  247. 200     FORMAT(I5)                                                      00327930
  248. 201     FORMAT(3(F20.10))                                               00327940
  249. 50          CONTINUE                                                    00327950
  250. 60       CONTINUE                                                       00327960
  251.         KBL=0                                                           00327970
  252.         WRITE(33,200)KBL                                                00327980
  253. 70    IF (KOPT.GT.0) WRITE (6,100)                                      00327990
  254. 80    FORMAT (1H0,I4,1P3E12.3,3E11.2)                                   00328000
  255. 90    FORMAT (I10,7E10.4/(8E10.4))                                      00328010
  256. 100   FORMAT (//3X,46H*** NOTE *** NODE NUMBERS ARE ORIGINAL NUMBERS//) 00328020
  257. 110   FORMAT (40H0.......NODE DISPLACEMENTS AND ROTATIONS//5H NODE,7X,  00328030
  258.      11HX,11X,1HY,11X,1HZ,9X,2HXX,9X,2HYY,9X,2HZZ)                      00328040
  259.       RETURN                                                            00328050
  260.       END                                                               00328060
  261.       SUBROUTINE DSTRES (D,LL,NEQ,SA,NORD,NADD)                         00064960
  262.       IMPLICIT REAL*8(A-H,O-Z)                                          00064970
  263.       REAL*8 NPAR                                                       00064980
  264.       DIMENSION D(NEQ)                                                  00064990
  265.       DIMENSION SA(1)                                                   00065000
  266.       COMMON /ELPAR/ NPAR(14),NUMNP,MBAND,NELTYP,N1,N2,N3,N4,N5,MTOT,MEQ00065010
  267.      1,N2P,N3P,NMRI,NTRI,N1P,NUMEL,NUMEL2,KZ(20,2),NEMN                 00065020
  268.       INTEGER DUMMY                                                     00065030
  269.       COMMON /TRASH/ TIM(400),RRTRAS(90)                                R0065040
  270.       COMMON /OUT/ NRES,NSTR,NDIS,DUMMY,IOSIG,IODISP,NROUT(4)           R0065050
  271.       DIMENSION NORD(NADD)                                              00065060
  272.       COMMON /JUNK/ SIG(200),MM,L,KDU,NTAG,NDYN,NRJUNK(49)              R0065070
  273.       COMMON /GPS/ NEQ4(10),NRGPS(10)                                   R0065080
  274.       IF (NSTR.LT.0) RETURN                                             00065090
  275.       NT1=1                                                             00065100
  276.       NT3=3                                                             00065110
  277.       NT9=17                                                            00065120
  278.       IF (NADD.GT.1) REWIND NT9                                         00065130
  279.       IF (NADD.GT.1) READ (NT9) NORD                                    00065140
  280.       NT=LL                                                             00065150
  281.       LB=1                                                              00065160
  282.       LH=0                                                              00065170
  283.       CALL RDWRT (NT3,SA,1,6,J)                                         00065180
  284.       NELAST=0                                                          00065190
  285.       N=2                                                               00065200
  286.       IF (NSTR.GT.0) WRITE (NSTR,10) N,LL,NDYN,NDIS,NSTR,NUMNP,NUMEL,NUM00065210
  287.      1EL2                                                               00065220
  288. 10    FORMAT (8I5)                                                      00065230
  289.         NTU=2                                                           00065240
  290.         REWIND NTU                                                      00065250
  291.       DO 260 II=1,NT                                                    00065260
  292.          WRITE(6, 20) TIM(II)                                           00065270
  293. 20    FORMAT (1X ,/20X,19HSTRESSES AT TIME = ,G15.6//)                  00065280
  294.          LT=LH+1                                                        00065290
  295.          LLT=1-LT                                                       00065300
  296.          LH=LT+LB-1                                                     00065310
  297.          IF (LH.GT.LL) LH=LL                                            00065320
  298.          IF (NSTR.GT.0) WRITE (NSTR,10) LT,LH                           00065330
  299.         READ (NTU) D                                                    00065340
  300.          LK=LH-LT+1                                                     00065350
  301.          CALL RDWRT (NT1,SA,1,6,J)                                      00065360
  302.          NPAR(1)=0                                                      00065370
  303.          NUME=NUMEL+NUMEL2                                              00065380
  304.       DO 260 MM=1,NUME                                                  00065390
  305.          CALL RDWRT (NT1,SA,NEMN,0,KOUNT)                               00065400
  306.          Z=SA(KOUNT)                                                    00065410
  307.          IF (Z.NE.7.OR.MM.GT.NUMEL) GO TO 60                            00065420
  308.          NELAST=7                                                       00065430
  309.          WRITE (6,30) MM                                                00065440
  310. 30    FORMAT (/20X,7HELEMENT,I5,19H IS A BLANK ELEMENT/)                00065450
  311.          IF (NDYN.EQ.3) CALL RDWRT (NT3,Z,1,1,J)                        00065460
  312.          DO 40 L=LT,LH                                                  00065470
  313. 40       IF (NSTR.GT.0) WRITE (NSTR,50) L                               00065480
  314. 50    FORMAT (3X,1H1,I2,2X,2H 7,6G10.4)                                 00065490
  315.          GO TO 260                                                      00065500
  316. 60       CONTINUE                                                       00065510
  317.          NS1=SA(KOUNT-1)                                                00065520
  318.          ND1=SA(KOUNT-2)                                                00065530
  319.          K=0                                                            00065540
  320.          KSTR=ND1*NS1+ND1                                               00065550
  321.          DO 250 L=LT,LH                                                 00065560
  322.             K=K+1                                                       00065570
  323.             LMIN1=(L-1)*NS1+KSTR                                        00065580
  324.             DO 70 N=1,NS1                                               00065590
  325.                NPN=N+ND1                                                00065600
  326.                SIG(N)=0.0                                               00065610
  327.             DO 70 J=1,ND1                                               00065620
  328.                NELM=NPN+(J-1)*NS1                                       00065630
  329.                JJ=SA(J)                                                 00065640
  330.                IF (JJ.LE.0) GO TO 70                                    00065650
  331.                SIG(N)=SIG(N)+SA(NELM)*D(JJ)                             00065660
  332. 70          CONTINUE                                                    00065670
  333.             MTYPE=Z                                                     00065680
  334.             NTAG=1                                                      00065690
  335.             IF (MTYPE.NE.NELAST) NTAG=0                                 00065700
  336.             NELAST=MTYPE                                                00065710
  337.             GO TO (80,90,100,110,120,130,140,150,160,210,170,170,170,23000065720
  338.      1      ), MTYPE                                                    00065730
  339. 80          CALL DTRUSS                                                 00065740
  340.             GO TO 240                                                   00065750
  341. 90          CONTINUE                                                    00065760
  342.             SIG(200)=NS1                                                00065770
  343.             CALL DBEAM                                                  00065780
  344.             GO TO 240                                                   00065790
  345. 100         CALL DPLANE                                                 00065800
  346.             GO TO 240                                                   00065810
  347. 110         CALL DAXIS                                                  00065820
  348.             GO TO 240                                                   00065830
  349. 120         NELM=KSTR                                                   00065840
  350.             SIG(13)=SA(NELM+4)                                          00065850
  351.             SIG(14)=SA(NELM+6)                                          00065860
  352.             SIG(15)=NS1                                                 00065870
  353.             CALL DTHRED                                                 00065880
  354.             GO TO 240                                                   00065890
  355. 130         CALL DSHELL                                                 00065900
  356.             GO TO 240                                                   00065910
  357. 140     SIG(150)=DABS(SA(KSTR+1))                                       00065920
  358.         SIG(151)=DABS(SA(KSTR+2))                                       00065930
  359.         CALL DBOUND(NORD,NADD)                                          00065940
  360.             GO TO 240                                                   00065950
  361. 150         CALL DPLANE                                                 00065960
  362.             GO TO 240                                                   00065970
  363. 160         CONTINUE                                                    00065980
  364.             SIG(200)=NS1                                                00065990
  365.         CALL DELBST                                                     00066000
  366.             GO TO 240                                                   00066010
  367. 170         NELM=KSTR-1                                                 00066020
  368.             JJ=(NS1-16)/4                                               00066030
  369.             IF (JJ.LE.0) JJ=1                                           00066040
  370.             KK=NS1                                                      00066050
  371.             DO 180 N=1,JJ                                               00066060
  372.                NELM=NELM+4                                              00066070
  373.                KK=KK+1                                                  00066080
  374. 180         SIG(KK)=SA(NELM)                                            00066090
  375.             SIG(150)=NS1                                                00066100
  376.             IF (NS1.LE.4) GO TO 200                                     00066110
  377.             JJ=JJ+1                                                     00066120
  378.             JF=NS1/4                                                    00066130
  379.             DO 190 N=JJ,JF                                              00066140
  380.                NELM=NELM+4                                              00066150
  381.                KK=KK+1                                                  00066160
  382.                SIG(KK)=SA(NELM)                                         00066170
  383.                KK=KK+1                                                  00066180
  384. 190         SIG(KK)=SA(NELM+1)                                          00066190
  385. 200         SIG(151)=Z                                                  00066200
  386.             CALL ST2DD (NORD,NADD)                                      00066210
  387.             GO TO 240                                                   00066220
  388. 210         NELM=KSTR-2                                                 00066230
  389.             JJ=NS1/6                                                    00066240
  390.             KK=NS1                                                      00066250
  391.             DO 220 N=1,JJ                                               00066260
  392.                NELM=NELM+6                                              00066270
  393.                KK=KK+1                                                  00066280
  394. 220         SIG(KK)=SA(NELM)                                            00066290
  395.             SIG(150)=NS1                                                00066300
  396.             CALL ST3DD (NORD,NADD)                                      00066310
  397.             GO TO 240                                                   00066320
  398. 230         CALL SIXSTD                                                 00066330
  399. 240         CONTINUE                                                    00066340
  400. 250      CONTINUE                                                       00066350
  401. 260   CONTINUE                                                          00066360
  402.       RETURN                                                            00066370
  403.       END                                                               00066380
  404.       SUBROUTINE DTRUSS                                                 00066920
  405.       IMPLICIT REAL*8  (A-H,O-Z)                                        00066930
  406.         REAL*8 NPAR                                                     00066940
  407.       COMMON A(1)                                                       00066950
  408.       COMMON /ELPAR/ NPAR(14),NUMNP,MBAND,NELTYP,N1,N2,N3,N4,N5,MTOT,NEQ00066960
  409.      1,N2P,N3P,NMRI,NTRI,N1P,NUMEL,NUMEL2,KZ(20,2),NEMN                 00066970
  410.       COMMON /JUNK/ SIG(12),EXTRA(188),MM,L,K,NTAG,NDYN,NRJUNK(49)      R0066980
  411.       COMMON /OUT/ NRES,NSTR,NDIS,NROUT(7)                              R0066990
  412. 10    IF (NTAG.EQ.0) WRITE (6,30)                                       00067000
  413.       WRITE (6,40) MM,L,SIG(1),SIG(2)                                   00067010
  414.       NTAG=1                                                            00067020
  415.       IF (NSTR.GT.0) WRITE (NSTR,20) L,SIG(1),SIG(2)                    00067030
  416. 20    FORMAT (3X,1H2,I2,2X,2H 1,6G10.4)                                 00067040
  417.       RETURN                                                            00067050
  418. 30    FORMAT (23H1  TRUSS MEMBER ACTIONS//46H0 MEMBER    LOAD         ST00067060
  419.      1RESS          FORCE/)                                             00067070
  420. 40    FORMAT (2I8,F15.0,F15.0)                                          00067080
  421.       END                                                               00067090
  422.       SUBROUTINE DBEAM                                                  00052470
  423.       IMPLICIT REAL*8  (A-H,O-Z)                                        00052480
  424.       COMMON /JUNK/ SIG(26),EXTRA(174),MM,L,K,NTAG,NDYN,NRJUNK(49)      R0052490
  425.       COMMON /OUT/ NRES,NSTR,NDIS,NBMSTR,NROUT(6)                       R0052500
  426. 10    IF (NTAG.EQ.0) WRITE (6,30)                                       00052510
  427.       IF (NTAG.EQ.0.AND.NBMSTR.EQ.1) WRITE (6,40)                       00052520
  428.       IF (NTAG.EQ.0) WRITE (6,50)                                       00052530
  429.       NS=EXTRA(174)                                                     00052540
  430.       IF (NS.GT.12) WRITE (6,60) MM,L,(SIG(I1),I1=1,6),(SIG(I2),I2=13,1900052550
  431.      1),(SIG(I3),I3=7,12),(SIG(I4),I4=20,26)                            00052560
  432.       IF (NS.LE.12) WRITE (6,70) MM,L,(SIG(I1),I1=1,12)                 00052570
  433.       NTAG=1                                                            00052580
  434.       IF (NSTR.GT.0) WRITE (NSTR,20) NS,L,(SIG(I),I=1,NS)               00052590
  435. 20    FORMAT (I4,I2,2X,2H 2,7G10.4/(8G10.4))                            00052600
  436.       RETURN                                                            00052610
  437. 30    FORMAT (/59H1....BEAM FORCES(LBS), MOMENTS(IN-LBS), AND STRESSES(P00052620
  438.      1SI)  //1X,7HELEMENT,2X,4HLOAD,2X,7HSTATION,15X,5HAXIAL,2(6X,5HSHEA00052630
  439.      2R),4X,9HTORSION  ,2(5X,13HB E N D I N G,4X)/2X,6HNUMBER,2X,4HCASE,00052640
  440.      311X,5HFORCE,11X,2HR1,9X,2HR2,9X,2HR3,9X,2HM1,20X,2HM2,20X,2HM3)   00052650
  441. 40    FORMAT (25X,6HSTRESS,7X,5HR1/A1,3X,8HAT Q3/B3,4X,8HAT Q2/B2,5X,4H-00052660
  442.      1 - ,1X,2X,9H   AT +C3,2X,9H   AT -C3,2X,9H   AT +C2,2X,9H   AT -C200052670
  443.      2)                                                                 00052680
  444. 50    FORMAT (1X)                                                       00052690
  445. 60    FORMAT (4X,I4,2X,I4,4X,5HEND-I,2X,6HFORCE ,1X,4F11.0,11X,F11.0,11X00052700
  446.      1,F11.0/23X,2X,6HSTRESS,1X,3F11.0,11X,4F11.0/18X,5HEND-J,2X,6HFORCE00052710
  447.      2 ,1X,4F11.0,11X,F11.0,11X,F11.0/23X,2X,6HSTRESS,1X,3F11.0,11X,4F1100052720
  448.      3.0)                                                               00052730
  449. 70    FORMAT (4X,I4,2X,I4,4X,5HEND-I,2X,6HFORCE ,1X,4F11.0,11X,F11.0,11X00052740
  450.      1,F11.0/18X,5HEND-J,2X,6HFORCE ,1X,4F11.0,11X,F11.0,11X,F11.0)     00052750
  451.       END                                                               00052760
  452.       SUBROUTINE DPLANE                                                 00062090
  453.       IMPLICIT REAL*8  (A-H,O-Z)                                        00062100
  454.       COMMON /OUT/ NRES,NSTR,NDIS,NROUT(7)                              R0062110
  455.       COMMON /JUNK/ SIG(12),EXTRA(188),MM,L,K,NTAG,NDYN,NRJUNK(49)      R0062120
  456. 10    IF (NTAG.EQ.0) WRITE (6,40)                                       00062130
  457.       CC=(SIG(1)+SIG(2))/2.0                                            00062140
  458.       BB=(SIG(1)-SIG(2))/2.                                             00062150
  459.       CR=DSQRT(BB**2+SIG(4)**2)                                         00062160
  460.       SIG(5)=CC+CR                                                      00062170
  461.       SIG(6)=CC-CR                                                      00062180
  462.       SIG(7)=0.0                                                        00062190
  463.       EF=(SIG(3)-SIG(5))**2+(SIG(5)-SIG(6))**2+(SIG(6)-SIG(3))**2       00062200
  464.       EF=DSQRT(EF/2.)                                                   00062210
  465.       IF ((BB.EQ.0.0).AND.(SIG(4).EQ.0.0)) GO TO 20                     00062220
  466.       SIG(7)=28.648D0*DATAN2(SIG(4),BB)                                 00062230
  467. 20    WRITE (6,50) MM,L,(SIG(I),I=1,7),EF                               00062240
  468.       NTAG=1                                                            00062250
  469.       IF (NSTR.GT.0) WRITE (NSTR,30) L,SIG(5),SIG(6),EF,(SIG(I),I=1,4)  00062260
  470. 30    FORMAT (3X,1H7,I2,4H12 3,7G10.4)                                  00062270
  471.       RETURN                                                            00062280
  472. 40    FORMAT (1X ,37H PLANE STRESS/STRAIN ELEMENT STRESSES//            00062290
  473.      112H0EL.NO. LOAD,7X,8HR-STRESS,7X,                                 00062300
  474.      18HZ-STRESS,7X,8HT-STRESS,6X,9HRZ-STRESS,5X,10HMAX-STRESS,5X,      00062310
  475.      210HMIN-STRESS,3X,5HANGLE,5X,6HSIG-EF/)                            00062320
  476. 50    FORMAT (2I6,6F15.0,F8.3,F10.0)                                    00062330
  477.       END                                                               00062340
  478.       SUBROUTINE DAXIS                                                  00052180
  479.       IMPLICIT REAL*8  (A-H,O-Z)                                        00052190
  480.         REAL*8 NPAR                                                     00052200
  481.       COMMON /JUNK/ SIG(200),MM,L,K,NTAG,NDYN,NRJUNK(49)                R0052210
  482.       COMMON /ELPAR/ NPAR(14),NUMNP,MBAND,NELTYP,N1,N2,N3,N4,N5,MTOT,NEQ00052220
  483.      1,N2P,N3P,NMRI,NTRI,N1P,NUMEL,NUMEL2,KZ(20,2),NEMN                 00052230
  484.       COMMON /OUT/ NRES,NSTR,NDIS,NROUT(7)                              R0052240
  485. 10    IF (NTAG.EQ.0) WRITE (6,40)                                       00052250
  486.       CC=(SIG(1)+SIG(2))/2.0                                            00052260
  487.       BB=(SIG(1)-SIG(2))/2.                                             00052270
  488.       CR=DSQRT(BB**2+SIG(4)**2)                                         00052280
  489.       SIG(5)=CC+CR                                                      00052290
  490.       SIG(6)=CC-CR                                                      00052300
  491.       SIG(7)=0.0                                                        00052310
  492.       EF=(SIG(3)-SIG(5))**2+(SIG(5)-SIG(6))**2+(SIG(6)-SIG(3))**2       00052320
  493.       EF=DSQRT(EF/2.)                                                   00052330
  494.       IF ((BB.EQ.0.0).AND.(SIG(4).EQ.0.0)) GO TO 20                     00052340
  495.       SIG(7)=28.648D0*DATAN2(SIG(4),BB)                                 00052350
  496. 20    WRITE (6,50) MM,L,(SIG(I),I=1,7),EF                               00052360
  497.       IF (NSTR.GT.0) WRITE (NSTR,30) L,SIG(5),SIG(6),EF,(SIG(I),I=1,4)  00052370
  498. 30    FORMAT (3X,1H7,I2,4H12 4,7G10.4)                                  00052380
  499.       NTAG=1                                                            00052390
  500.       RETURN                                                            00052400
  501. 40    FORMAT (1X ,30H AXISYMMETRIC ELEMENT STRESSES//                   00052410
  502.      112H0EL.NO. LOAD,7X,8HR-STRESS,                                    00052420
  503.      17X,8HZ-STRESS,7X,8HT-STRESS,6X,9HRZ-STRESS,5X,10HMAX-STRESS,5X,   00052430
  504.      210HMIN-STRESS,3X,5HANGLE,5X,6HSIG-EF/)                            00052440
  505. 50      FORMAT(2I6,6F15.0,F8.3,F10.0)                                   00052450
  506.       END                                                               00052460
  507.       SUBROUTINE DTHRED                                                 00066390
  508.       IMPLICIT REAL*8(A-H,O-Z)                                          00066400
  509.       REAL*8 NS                                                         00066410
  510.       REAL*8 IS1,IS2,IS3,IS4                                            00066420
  511.       DIMENSION SPR(6)                                                  00066430
  512.       DIMENSION EFS(2)                                                  00066440
  513.       COMMON /JUNK/ SIG(15),EXRA(185),MM,L,K,NTAG,NDYN,NRJUNK(49)       R0066450
  514.       COMMON /OUT/ NRES,NSTR,NDIS,NROUT(7)                              R0066460
  515.       EQUIVALENCE (IS3,SIG(13)), (IS4,SIG(14)), (NS,SIG(15))            00066470
  516. 10    CONTINUE                                                          00066480
  517.       IF (NTAG.EQ.0) WRITE (6,50)                                       00066490
  518.       NG=NS                                                             00066500
  519.       IS1=IS3                                                           00066510
  520.       IS2=IS4                                                           00066520
  521.       IF (IS1.LT.1) IS1=IS1*100.+0.001                                  00066530
  522.       IF (IS2.LT.1) IS2=IS2*100.+0.001                                  00066540
  523.       NF1=IS1                                                           00066550
  524.       NF2=IS2                                                           00066560
  525.       IS1=NF1                                                           00066570
  526.       IS2=NF2                                                           00066580
  527.       IF (NF1.EQ.0) NF1=7                                               00066590
  528.       IF (NF2.EQ.0) NF2=7                                               00066600
  529.       NF=10*NF1+NF2                                                     00066610
  530.       IF (NF.EQ.77) NF=71                                               00066620
  531.       EFS(2)=0.0                                                        00066630
  532.       SPR(4)=0.0                                                        00066640
  533.       SPR(5)=0.0                                                        00066650
  534.       CALL DPRIST (IS1,IS2,SIG,SPR,NS)                                  00066660
  535.       II=NG/6                                                           00066670
  536.       DO 30 J=1,II                                                      00066680
  537.          M=6*J-6                                                        00066690
  538.          EFS(J)=(SIG(M+1)-SIG(M+2))**2+(SIG(M+2)-SIG(M+3))**2+(SIG(M+3)-00066700
  539.      1   SIG(M+1))**2                                                   00066710
  540.          DO 20 I=4,6                                                    00066720
  541.             MI=M+I                                                      00066730
  542. 20       EFS(J)=EFS(J)+6.*SIG(MI)**2                                    00066740
  543. 30    EFS(J)=DSQRT(EFS(J)/2.)                                           00066750
  544.       WRITE (6,60) MM,L,IS1,(SIG(I),I=1,6),(SPR(I),I=1,3),EFS(1)        00066760
  545.       IF (NG.EQ.12) WRITE (6,70) IS2,(SIG(I),I=7,12),(SPR(I),I=4,6),EFS(00066770
  546.      12)                                                                00066780
  547.       II=6+NG                                                           00066790
  548.       IF (NSTR.GT.0) WRITE (NSTR,40) II,L,NF,SPR(1),SPR(2),EFS(1),SPR(4)00066800
  549.      1,SPR(5),EFS(2),(SIG(I),I=1,NG)                                    00066810
  550. 40    FORMAT (I4,I2,I2,2H 5,7G10.4/(8G10.4))                            00066820
  551.       RETURN                                                            00066830
  552. 50    FORMAT (1X ,35H .....8-NODE SOLID ELEMENT STRESSES//              00066840
  553.      113H ELEM. LOAD F,                                                 00066850
  554.      162HACE    SIG-XX    SIG-YY    SIG-ZZ    SIG-XY    SIG-YZ   SIG-ZX,00066860
  555.      238H   SIG-MAX   SIG-MIN   S2 OR    SIG-EF/16H   NO.  NO.  NO.,84X,00066870
  556.      35HANGLE/)                                                         00066880
  557. 60    FORMAT (I5,I4,F5.0,1X,10F10.0)                                    00066890
  558. 70    FORMAT (9X,F5.0,1X,10F10.0)                                       00066900
  559.       END                                                               00066910
  560.       SUBROUTINE DPRIST (IS1,IS2,SIG,SPR,NS)                            00062350
  561.       IMPLICIT REAL*8  (A-H,O-Z)                                        00062360
  562.       REAL*8 IS1,IS2,NS                                                 00062370
  563.       DIMENSION SIG(12), SPR(6), IS(2), SG(6)                           00062380
  564.       IS(1)=IS1                                                         00062390
  565.       IS(2)=IS2                                                         00062400
  566.       NNS=1                                                             00062410
  567.       IF (NS.EQ.12.) NNS=2                                              00062420
  568.       DO 60 N=1,NNS                                                     00062430
  569.          IN=3*N-3                                                       00062440
  570.          II=IN*2                                                        00062450
  571.          IF (IS(N).EQ.0) GO TO 10                                       00062460
  572.          CC=(SIG(II+1)+SIG(II+2))/2.                                    00062470
  573.          BB=(SIG(II+1)-SIG(II+2))/2.                                    00062480
  574.          CR=DSQRT(BB**2+SIG(II+4)**2)                                   00062490
  575.          SPR(IN+1)=CC+CR                                                00062500
  576.          SPR(IN+2)=CC-CR                                                00062510
  577.          SPR(IN+3)=0.                                                   00062520
  578.          IF (BB.NE.0.) SPR(IN+3)=28.648*DATAN2(SIG(II+4),BB)            00062530
  579.          GO TO 60                                                       00062540
  580. 10       CC=(SIG(II+1)+SIG(II+2)+SIG(II+3))/3.                          00062550
  581.          DO 20 I=1,3                                                    00062560
  582.             SG(I)=SIG(II+I)-CC                                          00062570
  583. 20       SG(I+3)=SIG(II+I+3)                                            00062580
  584.          C2=(SG(1)**2+SG(2)**2+SG(3)**2)*.5+SG(4)**2+SG(5)**2+SG(6)**2  00062590
  585.          C3=SG(1)*(SG(2)*SG(3)-SG(5)*SG(5))+SG(4)*(SG(5)*SG(6)-SG(4)*SG(00062600
  586.      1   3))+SG(6)*(SG(4)*SG(5)-SG(2)*SG(6))                            00062610
  587.          IF (C2.EQ.0.0) C2=1.0E-08                                      00062620
  588.          T=DSQRT(C2/1.5)                                                00062630
  589.          A=C3*1.414214/T**3                                             00062640
  590.          AXQ=A+1.0                                                      00062650
  591.          IF (AXQ.GT.0.0.AND.AXQ.LT.2.0) A=DACOS(A)/3.0                  00062660
  592.          IF (AXQ.GE.2.0) A=0.0                                          00062670
  593.          IF (AXQ.LE.0.0) A=1.0471976                                    00062680
  594.          T=T*1.414214                                                   00062690
  595.          SPR(IN+1)=T*DCOS(A)                                            00062700
  596.          SPR(IN+2)=T*DCOS(A+2.0944)                                     00062710
  597.          SPR(IN+3)=T*DCOS(A-2.0944)                                     00062720
  598.          DO 30 I=2,3                                                    00062730
  599.             IF (SPR(IN+1).GT.SPR(IN+I)) GO TO 30                        00062740
  600.             C3=SPR(IN+1)                                                00062750
  601.             SPR(IN+1)=SPR(IN+I)                                         00062760
  602.             SPR(IN+I)=C3                                                00062770
  603. 30       CONTINUE                                                       00062780
  604.          IF (SPR(IN+2).LE.SPR(IN+3)) GO TO 40                           00062790
  605.          C3=SPR(IN+2)                                                   00062800
  606.          SPR(IN+2)=SPR(IN+3)                                            00062810
  607.          SPR(IN+3)=C3                                                   00062820
  608. 40       DO 50 I=1,3                                                    00062830
  609. 50       SPR(IN+I)=SPR(IN+I)+CC                                         00062840
  610. 60    CONTINUE                                                          00062850
  611.       RETURN                                                            00062860
  612.       END                                                               00062870
  613.       SUBROUTINE DBOUND(NORD,NADD)                                      00052770
  614.       IMPLICIT REAL*8  (A-H,O-Z)                                        00052780
  615.       COMMON /JUNK/ SIG(12),EXRA(188),MM,L,K,NTAG,NDYN,NRJUNK(49)       R0052790
  616.         DIMENSION NORD(NADD)                                            00052800
  617. 10    IF (NTAG.EQ.0) WRITE (6,20)                                       00052810
  618.         NN=EXRA(138)*10000.+.001                                        00052820
  619.         IF(EXRA(138).GT.1.0) NN=EXRA(139)*10000.+.001                   00052830
  620.         IF(NADD.GT.1.AND.NN.LE.NADD.AND.NN.GT.0) NN=NORD(NN)            00052840
  621.         IF(NN.LE.0) NN=0                                                00052850
  622.         WRITE(6,30) MM,NN,L,SIG(1),SIG(2)                               00052860
  623.       RETURN                                                            00052870
  624. 20      FORMAT(1X ,39H   CONSTRAINT FORCE - BOUNDARY ELEMENTS //        00052880
  625.      $77H   EL. NUMBER     NODE N     LOAD CASE          FORCE(LBS.)   M00052890
  626.      $OMENT(IN-LBS.) /)                                                 00052900
  627. 30      FORMAT(1X,I10,I12,I11,4X,2F15.0)                                00052910
  628.       END                                                               00052920
  629.       SUBROUTINE DELBST                                                 00055930
  630.       IMPLICIT REAL*8(A-H,O-Z)                                          00055940
  631.       COMMON /JUNK/ SIG(39),EXR(161),MM,L,K,NTAG,RRJUNK(25)             R0055950
  632.       COMMON /OUT/ N,NSTR,NDIS,NBMSTR,NROUT(6)                          R0055960
  633.       IF (NTAG.EQ.0) WRITE (6,20)                                       00055970
  634.       IF (NTAG.EQ.0.AND.NBMSTR.EQ.1) WRITE (6,30)                       00055980
  635.       IF (NTAG.EQ.0) WRITE (6,10)                                       00055990
  636. 10    FORMAT (1X)                                                       00056000
  637. 20    FORMAT (85H1E L B O W - F O R C E S(LBS), M O M E N T S(IN-LBS), A00056010
  638.      1 N D  S T R E S S E S(PSI)    //1X,7HELEMENT,2X,4HLOAD,2X,7HSTATIO00056020
  639.      2N,15X,5HAXIAL,2(6X,5HSHEAR),4X,9HTORSION  ,2(5X,13HB E N D I N G,400056030
  640.      3X)/2X,6HNUMBER,2X,4HCASE,11X,5HFORCE,11X,2HRX,9X,2HRY,9X,2HRZ,9X,200056040
  641.      4HMX,20X,2HMY,20X,2HMZ)                                            00056050
  642. 30    FORMAT (25X,6HSTRESS,7X,5HRX/A1,3X,8HAT Q3/B3,4X,8HAT Q2/B2,5X,4H-00056060
  643.      1 - ,1X,2X,9H   AT +C3,2X,9H   AT -C3,2X,9H   AT +C2,2X,9H   AT -C200056070
  644.      2)                                                                 00056080
  645.       NS=EXR(161)                                                       00056090
  646.       IF (NS.GT.18) WRITE (6,50) MM,L,(SIG(I1),I1=1,6),(SIG(I2),I2=19,2500056100
  647.      1),(SIG(I3),I3=7,12),(SIG(I4),I4=26,32),(SIG(I5),I5=13,18),(SIG(I6)00056110
  648.      2,I6=33,39)                                                        00056120
  649.       IF (NS.LE.18) WRITE (6,60) MM,L,(SIG(I1),I1=1,18)                 00056130
  650.       NTAG=1                                                            00056140
  651.       IF (NSTR.GT.0) WRITE (NSTR,40) NS,L,(SIG(I),I=1,NS)               00056150
  652. 40    FORMAT (I4,I2,2X,2H 9,7G10.4/(8G10.4))                            00056160
  653. 50    FORMAT (4X,I4,2X,I4,4X,5HEND-I,2X,6HFORCE ,1X,4F11.0,11X,F11.0,11X00056170
  654.      1,F11.0/23X,2X,6HSTRESS,1X,3F11.0,11X,4F11.0/17X,6HCENTER,2X,6HFORC00056180
  655.      2E ,1X,4F11.0,11X,F11.0,11X,F11.0/23X,2X,6HSTRESS,1X,3F11.0,11X,4F100056190
  656.      31.0/18X,5HEND-J,2X,6HFORCE ,1X,4F11.0,11X,F11.0,11X,F11.0/23X,2X,600056200
  657.      4HSTRESS,1X,3F11.0,11X,4F11.0)                                     00056210
  658. 60    FORMAT (4X,I4,2X,I4,4X,5HEND-I,2X,6HFORCE ,1X,4F11.0,11X,F11.0,11X00056220
  659.      1,F11.0/17X,6HCENTER,2X,6HFORCE ,1X,4F11.0,11X,F11.0,11X,F11.0/18X,00056230
  660.      25HEND-J,2X,6HFORCE ,1X,4F11.0,11X,F11.0,11X,F11.0)                00056240
  661.       RETURN                                                            00056250
  662.       END                                                               00056260
  663.       SUBROUTINE ST2DD (NORD,NADD)                                      00262790
  664.       IMPLICIT REAL*8(A-H,O-Z)                                          00262800
  665.       COMMON /JUNK/ SIG(200),MM,L,K,NTAG,RRJUNK(25)                     R0262810
  666.       COMMON /BAND/ KOPT,NRBAND(7)                                      R0262820
  667.       COMMON /OUT/ NRES,NSTR,NROUT(8)                                   R0262830
  668.       COMMON /PREP/ XMX,XAD,NRPREP(17)                                  R0262840
  669.       DIMENSION NORD(NADD)                                              00262850
  670.       COMMON /QTSARG/ SIGEX(100),X(2),RRQTSA(898)                       R0262860
  671.       DIMENSION C(4), D(4), Q(3)                                        00262870
  672.       DATA Q/4HNODE,4HC.G.,4HI.P./                                      00262880
  673.       JJ=SIG(150)/4                                                     00262890
  674.       MTYP=SIG(151)                                                     00262900
  675.       KL=0                                                              00262910
  676.       IF (NTAG.GT.0) GO TO 70                                           00262920
  677.       IF (MTYP.EQ.11.AND.NTAG.EQ.0) WRITE (6,10)                        00262930
  678.       IF (MTYP.EQ.12.AND.NTAG.EQ.0) WRITE (6,20)                        00262940
  679.       IF (MTYP.EQ.13.AND.NTAG.EQ.0) WRITE (6,30)                        00262950
  680. 10    FORMAT (1H0,32H .... AXISYMMETRIC ELEMENTS ..../)                 00262960
  681. 20    FORMAT (1H0,32H .... PLANE STRESS ELEMENTS ..../)                 00262970
  682. 30    FORMAT (1H0,32H .... PLANE STRAIN ELEMENTS ..../)                 00262980
  683.       IF (NTAG.EQ.0.AND.MTYP.NE.11) WRITE (6,40)                        00262990
  684.       IF (NTAG.EQ.0.AND.MTYP.EQ.11) WRITE (6,50)                        00263000
  685. 40    FORMAT (12H0EL.NO. LOAD,12X,                                      00263010
  686.      1                          90HY-STRESS   Z-STRESS  YZ-STRESS   T-ST00263020
  687.      1RESS MAX-STRESS MIN-STRESS  ANGLE   SIG-EF   LOCATION/)           00263030
  688. 50    FORMAT (12H0EL.NO. LOAD,12X,                                      00263040
  689.      1                          90HR-STRESS   Z-STRESS  RZ-STRESS   T-ST00263050
  690.      1RESS MAX-STRESS MIN-STRESS  ANGLE   SIG-EF   LOCATION/)           00263060
  691.       IF (NTAG.EQ.0.AND.KOPT.GT.1.AND.NADD.EQ.1) WRITE (6,60)           00263070
  692. 60    FORMAT (5X,39HNOTE - NODES ARE NEW RENUMBERED NODES  /)           00263080
  693. 70    KK=SIG(150)                                                       00263090
  694.       JL=1000                                                           00263100
  695.       IF (JJ.GT.1) JL=(KK-16)/4                                         00263110
  696.       DO 140 I=1,JJ                                                     00263120
  697.          KK=KK+1                                                        00263130
  698.          FACE=SIG(KK)*10000.+.001                                       00263140
  699.          NF=FACE                                                        00263150
  700.          LL=NF                                                          00263160
  701.          A=Q(2)                                                         00263170
  702.          IF (I.EQ.1) GO TO 80                                           00263180
  703.          IF (NADD.GT.1.AND.I.LE.JL) NF=NORD(LL)                         00263190
  704.          A=Q(1)                                                         00263200
  705.          IF (I.EQ.1) A=Q(2)                                             00263210
  706.          IF (I.LE.JL) GO TO 80                                          00263220
  707.          A=Q(3)                                                         00263230
  708.          NF=I-JL                                                        00263240
  709.          LL=SIG(KK)                                                     00263250
  710.          IF (SIG(KK).LT.0.0) LL=LL-1                                    00263260
  711.          X(1)=(SIG(KK)-LL-XAD)*XMX                                      00263270
  712.          KK=KK+1                                                        00263280
  713.          LL=SIG(KK)                                                     00263290
  714.          IF (SIG(KK).LT.0.0) LL=LL-1                                    00263300
  715.          X(2)=(SIG(KK)-LL-XAD)*XMX                                      00263310
  716. 80       CONTINUE                                                       00263320
  717.          LL=4*(I-1)                                                     00263330
  718.          DO 90 J=1,4                                                    00263340
  719.             LL=LL+1                                                     00263350
  720. 90       D(J)=SIG(LL)                                                   00263360
  721.          CALL MXMND (D,C(1),C(2),C(3),C(4))                             00263370
  722.          DO 100 K=1,4                                                   00263380
  723.             KL=KL+1                                                     00263390
  724. 100      SIGEX(KL)=C(K)                                                 00263400
  725.          IF (I.EQ.1) WRITE (6,120) MM,L,D,C,A                           00263410
  726.          IF (I.GT.1.AND.I.LE.JL) WRITE (6,130) D,C,A,NF                 00263420
  727.          IF (I.GT.JL) SIGEX(KL-1)=X(1)                                  00263430
  728.          IF (I.GT.JL) SIGEX(KL)=X(2)                                    00263440
  729.          IF (I.GT.JL) GO TO 140                                         00263450
  730.          IF (I.GT.JL.AND.L.EQ.1) WRITE (6,110) X(1),X(2),D,C,A,NF       00263460
  731.          IF (I.GT.JL.AND.L.GT.1) WRITE (6,130) D,C,A,NF                 00263470
  732. 110   FORMAT (3H Y=,F8.2,3H Z=,F8.2,F10.0,5F11.0,F7.2,F9.0,2X,A4,I5)    00263480
  733. 120   FORMAT (2I6,9X,6F11.0,F7.2,F9.0,2X,A4,I5)                         00263490
  734. 130   FORMAT (21X,6F11.0,F7.2,F9.0,2X,A4,I5)                            00263500
  735. 140   CONTINUE                                                          00263510
  736.       KK=SIG(150)                                                       00263520
  737.       LL=JJ*4                                                           00263530
  738.       NS=KK+LL                                                          00263540
  739.       IF (NSTR.GT.0) WRITE (NSTR,150) NS,L,MTYP,(SIGEX(I),I=1,LL),(SIG(I00263550
  740.      1),I=1,KK)                                                         00263560
  741. 150   FORMAT (I4,I2,2X,I2,7G10.4/(8G10.4))                              00263570
  742.       RETURN                                                            00263580
  743.       END                                                               00263590
  744.       SUBROUTINE MXMND (STRESS,P1,P2,AG,EF)                             00152110
  745.       IMPLICIT REAL*8 (A-H,O-Z)                                         00152120
  746.       DIMENSION STRESS(1)                                               00152130
  747.       CC=(STRESS(1)+STRESS(2))*0.5E0                                    00152140
  748.       BB=(STRESS(1)-STRESS(2))*0.5E0                                    00152150
  749.       CR=DSQRT(BB**2+STRESS(3)**2)                                      00152160
  750.       P1=CC+CR                                                          00152170
  751.       P2=CC-CR                                                          00152180
  752.       AG=45.0E0                                                         00152190
  753.       IF (DABS(BB).LT.1.0D-8) GO TO 10                                  00152200
  754.       AG=28.648D0*DATAN2(STRESS(3),BB)                                  00152210
  755. 10    EF=(P1-P2)**2+(P2-STRESS(4))**2+(STRESS(4)-P1)**2                 00152220
  756.       EF=DSQRT(EF/2.0)                                                  00152230
  757.       RETURN                                                            00152240
  758.       END                                                               00152250
  759.       SUBROUTINE ST3DD (NORD,NADD)                                      00264960
  760.       IMPLICIT REAL*8(A-H,O-Z)                                          00264970
  761.       COMMON /JUNK/ SIG(200),MM,L,K,NTAG,RRJUNK(25)                     R0264980
  762.       COMMON /BAND/ KOPT,NRBAND(7)                                      R0264990
  763.       COMMON /OUT/ NR,NSTR,NROUT(8)                                     R0265000
  764.       COMMON /QTSARG/ SIGEX(90),RRQTSA(910)                             R0265010
  765.       DIMENSION C(6), D(12), Q(2)                                       00265020
  766.       DIMENSION NORD(NADD)                                              00265030
  767.       DATA Q/4HNODE,4HC.G./                                             00265040
  768.       JJ=SIG(150)/6.                                                    00265050
  769.       IF (NTAG.GT.0) GO TO 40                                           00265060
  770.       IF (NTAG.EQ.0) WRITE (6,10)                                       00265070
  771. 10    FORMAT (1H0,39H .... 3-D SOLID ELEMENTS 8-20NODE .... /)          00265080
  772.       IF (NTAG.EQ.0.AND.KOPT.GT.1.AND.NADD.EQ.1) WRITE (6,20)           00265090
  773. 20    FORMAT (5X,35H NODE NUMBERS ARE RENUMBERED NODES /)               00265100
  774.       IF (NTAG.EQ.0) WRITE (6,30)                                       00265110
  775. 30    FORMAT (118H ELEM. LOAD LOC.    SIG-XX    SIG-YY    SIG-ZZ    SIG-00265120
  776.      1XY    SIG-YZ    SIG-ZX    SIG-MAX    SIG-MIN    SIG-MID   SIG-EF/)00265130
  777. 40    KK=SIG(150)                                                       00265140
  778.       A=0.                                                              00265150
  779.       B=0.                                                              00265160
  780.       E=6.                                                              00265170
  781.       KL=0                                                              00265180
  782.       DO 100 I=1,JJ                                                     00265190
  783.          KK=KK+1                                                        00265200
  784.          FACE=SIG(KK)*10000.+.001                                       00265210
  785.          NF=FACE                                                        00265220
  786.          LL=NF                                                          00265230
  787.          IF (NADD.GT.1.AND.I.GT.1) NF=NORD(LL)                          00265240
  788.          LL=6*(I-1)                                                     00265250
  789.          DO 50 J=1,6                                                    00265260
  790.             LL=LL+1                                                     00265270
  791. 50       D(J)=SIG(LL)                                                   00265280
  792.          CALL DPRIST (A,B,D,C,E)                                        00265290
  793.          EFS=(C(1)-C(2))**2+(C(2)-C(3))**2+(C(3)-C(1))**2               00265300
  794.          EFS=DSQRT(EFS/2.)                                              00265310
  795.          DO 60 K=1,3                                                    00265320
  796.             KL=KL+1                                                     00265330
  797. 60       SIGEX(KL)=C(K)                                                 00265340
  798.          KL=KL+1                                                        00265350
  799.          SIGEX(KL)=EFS                                                  00265360
  800.          IF (I.GT.1) GO TO 80                                           00265370
  801.          WRITE (6,70) MM,L,Q(2),(D(J),J=1,6),(C(J),J=1,3),EFS           00265380
  802. 70    FORMAT (I5,I4,1X,A4,1X,10F10.0)                                   00265390
  803.          GO TO 100                                                      00265400
  804. 80       WRITE (6,90) Q(1),NF,(D(J),J=1,6),(C(J),J=1,3),EFS             00265410
  805. 90    FORMAT (5X,A4,I5,1X,10F10.0)                                      00265420
  806. 100   CONTINUE                                                          00265430
  807.       KK=SIG(150)                                                       00265440
  808.       LL=JJ*4                                                           00265450
  809.       NS=KK+LL                                                          00265460
  810.       IF (NSTR.GT.0) WRITE (NSTR,110) NS,L,(SIGEX(I),I=1,LL),(SIG(I),I=100265470
  811.      1,KK)                                                              00265480
  812. 110   FORMAT (I4,I2,2X,2H10,7G10.4/(8G10.4))                            00265490
  813.       RETURN                                                            00265500
  814.       END                                                               00265510
  815.       SUBROUTINE SIXSTD                                                 00238470
  816.         IMPLICIT REAL*8(A-H,O-Z)                                        00238480
  817.       COMMON /OUT/ NRES,NSTR,NROUT(8)                                   R0238490
  818.       COMMON /JUNK/ SIG(6),EXTRA(194),MM,L,K,NTAG,RRJUNK(25)            R0238500
  819.       IF (NTAG.EQ.0) WRITE (6,20)                                       00238510
  820.       WRITE (6,10) MM,L,SIG                                             00238520
  821.       NTAG=1                                                            00238530
  822.       RETURN                                                            00238540
  823. 10    FORMAT (2I6,6F15.1)                                               00238550
  824. 20    FORMAT (//10X,48H SIX BY SIX STIFFNESS ELEMENT FORCES AND MOMENTS/00238560
  825.      120X,18H(LOCAL DIRECTIONS)/                                        00238570
  826.      112H0EL.NO. LOAD,5X,10HFORCE - XX,5X,10HFORCE - YY,                00238580
  827.      25X,10HFORCE - ZZ,4X,11HMOMENT - XX,4X,11HMOMENT - YY,4X,          00238590
  828.      311HMOMENT - ZZ)                                                   00238600
  829.       END                                                               00238610
  830.