home *** CD-ROM | disk | FTP | other *** search
/ Antennas / Antennas_CD-ROM_Walnut_Creek_September_1996.iso / w4mb / vol1 / basic / selfpipe.asc < prev    next >
Text File  |  1996-06-30  |  6KB  |  149 lines

  1. 10 DIM P(12, 12), Q(12)
  2. 20 GOTO 100
  3. 50 REM CALC ROUTINE
  4. 60 LF = CP / CU
  5. 70 CL = -LF + SQR(LF * LF + FS / CU * P(N, 4) / 6)
  6. 80 RETURN
  7. 100 CLS : PRINT "   ***********************************"
  8. 110 PRINT "   *   SELF-SUPPORTING PIPE MASTS    *"
  9. 120 PRINT "   *   REFERENCE-HAVILAND PAGE 52    *"
  10. 130 PRINT "   *   HAM RADIO,  SEPTEMBER 1974    *"
  11. 140 PRINT "   *    PROGRAM   COPYRIGHT 1985     *"
  12. 150 PRINT "   *       R.P. HAVILAND, W4MB       *"
  13. 160 PRINT "   **********************************"
  14. 165 REM PROGRAM 31
  15. 170 PRINT " CAUTION- MOST LOCALES HAVE REGULATIONS FOR TOWER/MAST DESIGN"
  16. 180 PRINT "   USE THIS PROGRAM FOR PRELIMINARY DESIGN AND CHECKING ONLY"
  17. 200 PRINT : PRINT "THIS PROGRAM GENERATES SECTION LENGTHS"
  18. 210 PRINT "FOR A MAST OF PIPE SECTIONS, SIZE"
  19. 220 PRINT "SELECTED TO INSERT INTO NEXT LOWER PIPE"
  20. 230 PRINT : PRINT "ENTER WIND LOADING AREA"
  21. 240 PRINT " 50=S. FLORIDA, HATTERAS (50 PSF)"
  22. 250 PRINT " 40=HURRICANE/TORNADO AREAS (40 PSF)"
  23. 260 PRINT " 30=OTHER OPEN AREAS (30 PSF)"
  24. 270 PRINT " 20=PROTECTED AREAS (20 PSF)"
  25. 280 PRINT "  CYLINDRICAL STRUCTURES ASSUMED"
  26. 290 INPUT WA: IF WA < 20 OR WA > 50 THEN 230
  27. 300 PRINT "ENTER PIPE QUALITY"
  28. 310 PRINT "    1=NEW PIPE"
  29. 320 PRINT "    2=CLEAN USED PIPE"
  30. 330 INPUT TE
  31. 340 IF TE = 1 THEN FS = 20000
  32. 350 IF TE = 2 THEN FS = 18000
  33. 360 IF TE < 1 OR TE > 2 THEN 300
  34. 370 INPUT " DESIGN HEIGHT OF MAST, FT."; DE
  35. 380 INPUT " WEIGHT OF TOP ANTENNA, LBS."; WT
  36. 390 INPUT " PROJECTED AREA OF TOP ANTENNA, SQ.FT."; PA
  37. 400 INPUT "LOWER ANTENNAS Y/N"; IA$
  38. 410 DEF FNP (X) = INT(10 * X + .5) / 10
  39. 420 PRINT " WAIT-PROCESSING"
  40. 430 FOR J = 1 TO 12
  41. 440 FOR K = 0 TO 4
  42. 450 READ P(J, K)
  43. 460 NEXT K
  44. 470 NEXT J
  45. 480 WA = WA * 2 / 3
  46. 500 GOTO 1000
  47. 1000 P(1, 5) = WT: P(0, 5) = P(1, 5)
  48. 1010 P(1, 7) = WA * PA: P(0, 7) = P(1, 7)
  49. 1020 FOR N = 1 TO 12
  50. 1030 CP = P(N, 5)
  51. 1040 CU = P(N, 3)
  52. 1050 GOSUB 50
  53. 1060 P(N, 9) = CL
  54. 1100 CP = P(N, 7)
  55. 1110 CU = P(N, 1) / 12 * WA
  56. 1120 GOSUB 50
  57. 1130 IF CL < P(N, 9) THEN P(N, 9) = CL: P(N, 10) = 1
  58. 1140 IF P(N, 9) < 5 THEN P(N, 9) = 0: GOTO 1270
  59. 1150 IF P(N, 9) > 20.5 THEN P(N, 9) = 20.5
  60. 1160 AL = AL + P(N, 9)
  61. 1170 MH = AL + 21 - P(N, 9)
  62. 1190 IF N = 12 AND MH < DE THEN PRINT " CANNOT REACH DESIGN HEIGHT": GOTO 2000
  63. 1200 IF IA$ <> "Y" THEN 1270
  64. 1210 IW = 0
  65. 1220 IA = 0
  66. 1230 PRINT "INTERMEDIATE ANTENNA AT"; FNP(DE - AL); "FEET, Y/N": INPUT IL$
  67. 1240 IF IL$ = "N" THEN 1270
  68. 1250 INPUT " INTERMEDIATE ANTENNA WEIGHT, LBS"; IW: Q(N) = 1
  69. 1260 INPUT " INTERMEDIATE ANTENNA AREA, SQ. FT."; IA
  70. 1270 P(N, 6) = (P(N, 9) + .5) * P(N, 3)
  71. 1280 P(N + 1, 5) = P(N, 5) + P(N, 6) + IW
  72. 1290 P(N, 8) = P(N, 9) * P(N, 1) * WA / 12
  73. 1300 P(N + 1, 7) = P(N, 7) + P(N, 8) + IA * WA
  74. 1310 IF MH >= DE THEN N = 12: GOTO 1400
  75. 1320 P(N, 11) = P(N + 1, 5) * P(N, 9) * 12 / P(N, 1) / 30000
  76. 1330 IF P(N + 1, 7) > P(N + 1, 5) THEN P(N, 11) = P(N + 1, 7) * P(N, 9) * 12 / P(N, 1) / 30000
  77. 1400 NEXT N
  78. 2000 PRINT : PRINT "DESIGN DATA FOR PIPE MAST"
  79. 2010 PRINT " DESIGN HEIGHT="; DE; "FEET"
  80. 2015 PRINT " MAXIMUM HEIGHT="; FNP(MH); "FEET (USING THESE SECTIONS)"
  81. 2020 PRINT " TOP ANTENNA- WEIGHT="; WT; "LBS"
  82. 2030 PRINT "            - AREA  ="; PA; "SQ.FT."
  83. 2040 PRINT " FIBER STRESS="; FS; "PSI"
  84. 2050 J = 1
  85. 2100 PRINT " WIND LOAD="; WA * 3 / 2; "LBS./SQ.FT."
  86. 2110 FOR N = 1 TO 12
  87. 2120 IF P(N, 9) = 0 THEN 2300
  88. 2130 PRINT : PRINT "SECTION NO.="; J
  89. 2140 PRINT " PIPE SIZE="; P(N, 0); "INCHES"
  90. 2150 PRINT " SECTION LENGTH="; FNP(P(N, 9)); "FEET"
  91. 2160 PRINT "  LENGTH OF PIPE NEEDED"; FNP(P(N, 9)) + .5; "FEET"
  92. 2170 IF P(N, 12) = 0 THEN 2190
  93. 2180 PRINT " INTERMEDIATE ANTENNA AREA="; P(N, 12); "SQ.FT."
  94. 2190 PRINT " WEIGHT TO SECTION TOP"; FNP(P(N, 5)); "POUNDS"
  95. 2200 PRINT " WEIGHT OF THIS SECTION "; FNP(P(N, 6)); "POUNDS"
  96. 2210 PRINT " WIND LOAD TO SECTION TOP"; FNP(P(N, 7)); "POUNDS"
  97. 2220 PRINT " WIND LOAD OF THIS SECTION"; FNP(P(N, 8)); "POUNDS"
  98. 2230 IF P(N, 10) = 1 THEN PRINT "  DESIGN SET BY WIND LOAD"
  99. 2240 PRINT " MINIMUM FASTENING DIAMETER="; INT(100 * P(N, 11) + .5) / 100; "INCHES"
  100. 2245 IF Q(N) <> 0 THEN PRINT "INTERMEDIATE ANTENNA AT SECTION BOTTOM"
  101. 2250 J = J + 1
  102. 2270 PRINT " PRESS A KEY FOR MORE"
  103. 2280 Q$ = INKEY$: IF Q$ = "" GOTO 2280
  104. 2300 NEXT N
  105. 2400 IF MH < DE THEN PRINT "CANNOT REACH DESIGN HEIGHT.": GOTO 4000
  106. 2410 PRINT : PRINT "NOMINAL FOUNDATION DEPTH="; FNP(.1 * DE); "FEET"
  107. 2420 PRINT "NOMINAL FOUNDATION DEPTH FOR MAX HEIGHT="; FNP(.1 * MH); "FEET"
  108. 2430 PRINT "NOMINAL HINGE  POINT="; FNP(21 - .1 * DE); "FEET"
  109. 2440 PRINT "NOMINAL HINGE POINT FOR MAX HEIGHT="; FNP(21 - .1 * MH); "FEET"
  110. 2450 PRINT "USE POLE-ANCHOR PROGRAM TO CHECK FOUNDATION DESIGN"
  111. 2470 PRINT " PRESS ANY KEY FOR MORE"
  112. 2480 Q$ = INKEY$: IF Q$ = "" GOTO 2480
  113. 2500 PRINT : PRINT "FOR MAXIMUM HEIGHT WITH THESE SECTIONS"
  114. 2510 PRINT "EXTEND BOTTOM SECTION TO LENGTH=21 FEET"
  115. 2520 PRINT "WITH HINGE AT SAME HEIGHT"
  116. 2530 PRINT "USE 21' FOR LATERAL FORCE APPLICATION"
  117. 2540 PRINT : PRINT "PRESS A KEY FOR MORE"
  118. 2550 Q$ = INKEY$: IF Q$ = "" GOTO 2550
  119. 3000 PRINT : PRINT "ERECTION SCHEMATIC"
  120. 3010 PRINT : PRINT "  ***************"
  121. 3020 PRINT "                 **************+++++++++"
  122. 3030 PRINT "  ***************"
  123. 3040 PRINT "   .         *"
  124. 3050 PRINT "     .       *"
  125. 3060 PRINT "       .     *"
  126. 3070 PRINT "         .   *"
  127. 3080 PRINT "           . *"
  128. 3090 PRINT "             *"
  129. 3100 PRINT "             *"
  130. 3110 PRINT ""
  131. 4000 PRINT : PRINT "PRESS R TO RERUN, ANY OTHER KEY FOR MENU"
  132. 4010 PRINT
  133. 4020 Q$ = INKEY$: IF Q$ = "" THEN 4020
  134. 4030 IF Q$ = "R" OR Q$ = "r" THEN RUN
  135. 4040 STOP
  136. 5000 DATA 1.5,1.9,1.61,2.72,.33
  137. 5010 DATA 2,2.375,2.07,3.65,.555
  138. 5020 DATA 2.5,2.875,2.47,5.79,1.1
  139. 5030 DATA 3,3.5,3.07,7.58,1.70
  140. 5040 DATA 3.5,4,3.55,9.11,2.36
  141. 5050 DATA 4,4.5,4.03,10.79,3.33
  142. 5060 DATA 5,5.56,5.05,14.62,5.45
  143. 5070 DATA 6,6.625,6.065,18.79,8.91
  144. 5080 DATA 8,8.625,8.07,24.69,14.71
  145. 5090 DATA 9,9.625,8.94,33.91,22.38
  146. 5100 DATA 10,10.75,10.19,31.2,23.49
  147. 5110 DATA 12,12.75,12.09,43.77,38.97
  148.  
  149.