perm filename CHS9.F4[1,VDS] blob sn#103694 filedate 1974-05-17 generic text, type C, neo UTF8
COMMENT āŠ—   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	      REAL DIA(8), MC, ID4, LENGTH
C00009 ENDMK
CāŠ—;
      REAL DIA(8), MC, ID4, LENGTH
      LOGICAL PRINT
      INTEGER DP(6), DP1, DP3, T1, T2, T3, T4, TPMIN(6), COUNT
      DATA DIA/12.8302,13.7132,14.5963,15.4793,16.3623,17.2453,
     *         18.1284,19.0114/, DP/32,48,64,72,96,120/,
     *         TPMIN/4*11,10,13/, PRINT/.FALSE./
 1    TYPE 97
      ACCEPT 98, ODMAX, N1, N3, PRINT
      IF (ODMAX.EQ.0.0) STOP
      IF (PRINT) PRINT 99, ODMAX, N1, N3
      FF1=N1/64.0
      FF3=N3/64.0
      COUNT=0
      DP1=96
      T1=TPMIN(I+4)
      A1=1.0/DP1
      CONST1=1.08506944E-4*DP1*DP1
      NN=N1 * CONST1 + 0.5
      F1=NN/64.0
      D2MIN=(0.2375+F1)**2
      DP3=64
      A3=1.0/DP3
      CONST3=2.68554688E-3 * DP3 * DP3 / 11.0
      NN=N3 * CONST3 + 0.5
      F3=NN/64.0
      TYPE 100, DP1, DP3, F1, F3
      IF (PRINT) PRINT 100, DP1, DP3, F1, F3
      OFFSET=(F3/2.0)-1.0/DP3
      DO 40 T1=10,13
         L1=4*T1
         L2=9*T1
         R1=DIA(T1-9)/(2.0*DP1)
         P1=R1-A1
         OD1=2.0*R1
         PD1=2.0*P1
         F1ACT=FF1*CONST1*10/T1
         DO 30 T3=11,17
            R3=DIA(T3-9)/(2.0*DP3)
            P3=R3-A3
            OD3=2.0*R3
            PD3=2.0*P3
            F3ACT=FF3*CONST3*11/T3
            D1=P3-A3
            DO 20 T2=L1,L2
                P2=T2/(2.0*DP1)
                R2=P2+A1
                MC=P1+P2+D1-0.5625
                IF (MC.LT.-0.045) GO TO 20
                X=T1
                Y=T2
                TP=X*T3/Y
                L3=35.0*TP+0.5
                L4=45.0*TP+0.5
                DO 10 T4=L3,L4
                  P4=T4/(2.0*DP3)
                  R4=P4-OFFSET
                  OD4=2.0*(R4+F3)
                  IF (OD4.GT.ODMAX) GO TO 20
                     R=Y*T4/(X*T3)
                     IF (R.LT.35) GO TO 10
                     IF (R.GT.45) GO TO 30
                     D2=R4*R4-R2*R2+D1*D1
                     IF (D2.LT.D2MIN) GO TO 10
                        D2=SQRT(D2)
                        OD2=2.0*R2
                        PD2=2.0*P2
                        ID4=2.0*R4
                        PD4=2.0*P4
                        CD=P1+P2
                        LENGTH=CD+R2+0.200
                        TYPE 200, T1, PD1, OD1, F1ACT, T2, PD2,
     *                            OD2, T3, PD3, OD3, F3ACT, T4,
     *                            PD4, OD4, OFFSET, ID4, R, D2,
     *                            MC, CD, LENGTH
                        IF (PRINT) PRINT 200, T1, PD1, OD1, F1ACT, 
     *                            T2, PD2, OD2, T3, PD3, OD3, F3ACT,
     *                            T4, PD4, OD4, OFFSET, ID4, R, D2,
     *                            MC, CD, LENGTH
                        COUNT=COUNT+1
  10              CONTINUE
  20          CONTINUE
  30        CONTINUE
  40      CONTINUE
      TYPE 300, COUNT, ODMAX, N1, N3
      IF (PRINT) PRINT 300, COUNT, ODMAX, N1, N3
      GO TO 1
      STOP
  97  FORMAT (' ENTER: ODMAX, F1 & F3 (IN 64-THS), PRINT?'/)
  98  FORMAT (F, 2I, L3)
  99  FORMAT ('1 CONSIDER ODMAX =',F7.4,', F1 =',I2,'/64',', F3 =',I2,
     *        '/64'//)
 100  FORMAT (6X,'**********', I4, '/', I2, 5X, '(F1 =', F7.4, 
     *        ', F3 =', F7.4, ') **********'/)
 200  FORMAT (5X,'T1 =',I3,' (P1 =',F7.4,', OD1 =',F7.4,')     (F1'' =',
     *        F7.4,')'/5X,'T2 =',I3,' (P2 =',F7.4,', OD2 =',F7.4,')'/5X,
     *        'T3 =',I3,' (P3 =',F7.4,', OD3 =',F7.4,')     (F3'' =',
     *        F7.4,')'/5X,'T4 =',I3,' (P4 =',F7.4,', OD4 =',F7.4,', ',
     *        'OFFSET =',F7.4,', ID4 =',F7.4,')'/5X,'RATIO =',F6.2,', ',
     *        'D2 =',F7.4,', M. C. =',F8.4,', CD =',F7.4,', LENGTH =',
     *        F7.4/)
 300  FORMAT (//' THE END --- THERE WERE',I3,' SOLUTIONS ---',
     *        ' ODMAX =',F6.3,', F1 =',I2,'/64',', F3 =',I2,'/64'///)
      END