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

  1. 100 CLS : PRINT "  ************************************"
  2. 110 PRINT "  *       ELEMENT DATA AND SAG       *"
  3. 120 PRINT "  *SEE-MARKS,MECHANICAL ENG. HANDBOOK*"
  4. 130 PRINT "  *  ITT-RADIO ENGINEERING HANDBOOK  *"
  5. 140 PRINT "  *      PROGRAM COPYRIGHT 1985      *"
  6. 150 PRINT "  *        R.P. HAVILAND, W4MB       *"
  7. 160 PRINT "  ************************************"
  8. 165 REM PROGRAM 28
  9. 170 DEF FNP (X) = INT(10 * X + .5) / 10
  10. 180 DEF FNQ (X) = INT(1000 * X + .5) / 1000
  11. 190 PI = 3.14159
  12. 200 PRINT : PRINT "NOTE: THIS PROGRAM USES EQUATIONS FOR    SIZE AND PROPERTIES."
  13. 210 PRINT "  CENTER SUPPORTED SAG USES APPROXIMA-     TIONS VALID FOR SMALL SAG"
  14. 300 PRINT : PRINT " ENTER 1=WIRE TABLE"
  15. 310 PRINT "       2=ELEMENT TABLE"
  16. 320 PRINT "       3=END SAG,CENTER ELEMENT SUPPORT"
  17. 330 PRINT "       4=CENTER SAG,WIRE ELEMENT"
  18. 340 PRINT "       5=WIRE SAG,ENDS DIFFERENT HEIGHT"
  19. 350 PRINT "       6=QUIT"
  20. 360 INPUT MS
  21. 370 IF MS < 1 OR MS > 6 THEN 360
  22. 380 ON MS GOSUB 1000, 2000, 3000, 4000, 5000, 6000
  23. 390 GOTO 300
  24. 500 WD = 10.03 * 1.1228 ^ (30 - WN)
  25. 510 IF WM = 3 THEN 580
  26. 520 WW = .3042 * 1.2608 ^ (30 - WN)
  27. 530 IF WM = 1 THEN WR = 103.2 * .793 ^ (30 - WN)
  28. 540 IF WM = 2 THEN WR = 6.64 * .793 ^ (18 - WN)
  29. 550 IF WM = 1 THEN WS = 197.5 * 1.2526 ^ (12 - WN)
  30. 560 IF WM = 2 THEN WS = 85.47 * 1.2546 ^ (18 - WN)
  31. 570 GOTO 610
  32. 580 WW = .279 * 1.261 ^ (30 - WN)
  33. 590 WR = 350.8 * .793 ^ (30 - WN)
  34. 600 WS = 10 * 1.2725 ^ (30 - WN)
  35. 610 RETURN
  36. 700 WT = .058
  37. 710 D2 = D1 - 2 * WT
  38. 720 WF = .214437 * (D1 - WT)
  39. 730 ME = 1.03E+07
  40. 740 MI = PI / 64 * (D1 ^ 4 - D2 ^ 4)
  41. 750 SM = 2 * MI / D1
  42. 760 RG = SQR(D1 * D1 + D2 * D2) / 4
  43. 770 RETURN
  44. 800 D0 = D1 + 1
  45. 810 WI = 3 * (D0 * D0 - D1 * D1) * .0324
  46. 820 WF = WF + WI
  47. 830 PRINT "THE ICE LOAD IS "; FNQ(WI); "LBS/FT"
  48. 840 RETURN
  49. 1000 PRINT : PRINT "ENTER WIRE MATERIAL"
  50. 1010 PRINT "      1=SOFT COPPER, #6-#36"
  51. 1020 PRINT "      2=HARD COPPER, #6-#18"
  52. 1030 PRINT "      3=30% COPPER ON STEEL, #6-#36"
  53. 1040 INPUT WM
  54. 1050 IF WM < 1 OR WM > 3 THEN 1040
  55. 1060 INPUT "ENTER WIRE GAGE"; WN
  56. 1070 IF WN < 6 OR WN > 36 THEN 1060
  57. 1080 IF WM = 2 AND WN > 18 THEN 1060
  58. 1100 GOSUB 500
  59. 1200 PRINT : PRINT "FOR WIRE SIZE"; WN
  60. 1210 PRINT "  THE DIAMETER IS"; FNP(WD); "MILS"
  61. 1220 PRINT "  THE RESISTANCE IS"; FNP(WR); "OHMS/1000 FT"
  62. 1230 PRINT "  THE WEIGHT IS"; FNP(WW); "LBS/1000 FT"
  63. 1240 PRINT "  THE BREAKING STRENGTH IS"; FNP(WS); "LBS"
  64. 1250 RETURN
  65. 2000 PRINT " DATA IS AVAILABLE FOR DIAMETERS 1/4 TO 1 7/8 INCH, .058 WALL"
  66. 2010 INPUT " ENTER OUTSIDE DIAMETER AS DECIMAL"; DOU
  67. 2020 DE = INT(8 * DOU + .5)
  68. 2030 IF DE < 2 OR DE > 15 THEN 2010
  69. 2040 D1 = DE / 8
  70. 2050 GOSUB 700
  71. 2060 PRINT "  ENTER LENGTH OF PIECE, 12 FOOT= STANDARD"
  72. 2070 INPUT LS
  73. 2100 PRINT : PRINT "FOR A SECTION"; D2; "INSIDE AND"; D1
  74. 2110 PRINT " INCHES OUTSIDE DIAMETER(WALL=.058 IN.)"
  75. 2120 PRINT " AND A LENGTH OF"; LS; "FEET"
  76. 2130 PRINT : PRINT " THE WEIGHT IS"; FNQ(LS * WF); "LBS"
  77. 2140 PRINT " THE SECTION MODULUS IS"; FNQ(SM); "INCHES      CUBED"
  78. 2150 PRINT " THE MOMENT OF INERTIA IS"; FNQ(MI); "INCHES      FOURTH"
  79. 2160 PRINT " THE RADIUS OF GYRATION IS"; FNQ(RG); "INCHES"
  80. 2170 PRINT " THE MODULUS OF ELASTICITY (ALUMINUM) IS"; ME; "LBS/IN SQ."
  81. 2180 RETURN
  82. 3000 PRINT : INPUT "ENTER NUMBER OF TELESCOPING SECTIONS"; TS
  83. 3010 PRINT " DATA AVAILABLE FOR ALUMINUM TUBE 1/4 TO 1 7/8 INCH DIAMETER"
  84. 3020 PRINT " ENTER DIAMETER OF OUTER SECTION, DECIMAL INCHES"
  85. 3030 INPUT DOU
  86. 3040 DE = INT(DOU * 8 + .5)
  87. 3050 IF DE < 2 OR DP > 15 THEN 3010
  88. 3060 D1 = DE / 8
  89. 3070 PL = 0
  90. 3080 TH = 0
  91. 3090 INPUT "ENTER 1=ICE LOAD, OR ZERO"; IL
  92. 3100 FOR N = 1 TO TS
  93. 3110 PRINT " ENTER LENGTH,FEET, SECTION"; N; ",OF DIAMETER="; D1; " INCHES"
  94. 3120 INPUT LS(N)
  95. 3130 GOSUB 700
  96. 3140 IF IL = 1 THEN GOSUB 800
  97. 3150 DU = 144 * WF * LS(N) ^ 4 / 8 / ME / MI
  98. 3160 DW = 144 * PL * LS(N) ^ 3 / 3 / ME / MI
  99. 3170 DT(N) = DU + DW
  100. 3180 TH(N) = ATN(2 * DT(N) / LS(N))
  101. 3190 PL(N + 1) = PL(N) + (LS(N) + .25) * WF
  102. 3200 D1 = D1 + .125
  103. 3210 M = 12 * PL(N) * LS(N) + 12 * WF * LS(N) * LS(N) / 2
  104. 3220 FS = M * D1 / 2 / MI
  105. 3230 IF FS > 17000 THEN PRINT " UNSAFE DESIGN"
  106. 3240 IF FS > 50000! THEN PRINT " HIGH FAILURE RISK"
  107. 3250 NEXT N
  108. 3260 PRINT
  109. 3300 AA = 0
  110. 3310 ASG = 0
  111. 3320 TL = 0
  112. 3330 FOR N = TS TO 1 STEP -1
  113. 3340 TL = TL + LS(N)
  114. 3350 AA = AA + TH(N - 1)
  115. 3360 ASG = ASG + DT(N) + LS(N) * SIN(AA)
  116. 3370 PRINT "SAG="; FNP(12 * ASG); "INCHES, END"; LS(N); "FOOT SECTION"; N
  117. 3380 NEXT N
  118. 3390 PRINT "TOTAL LENGTH="; FNP(TL); "FEET, CENTER-END"
  119. 3400 PRINT " WEIGHT, CENTER TO END="; FNP(PL(TS + 1)); "LBS"
  120. 3410 IF IL = 1 THEN PRINT " 1/2 INCH ICE LOAD ASSUMED"
  121. 3420 RETURN
  122. 4000 INPUT "ENTER FOOTAGE BETWEEN MASTS"; MD: IF MD = 0 THEN 4000
  123. 4010 GOSUB 1000
  124. 4020 WW = WW / 1000
  125. 4030 PRINT : INPUT "ENTER 1=ICE LOAD, OR ZERO"; IL
  126. 4040 IF IL <> 1 THEN 4080
  127. 4050 GOSUB 800
  128. 4060 IF WI > 10 * WW THEN PRINT " WIRE WILL BREAK": GOTO 4120
  129. 4070 IF WI > 8 * WW THEN PRINT "WIRE LIKELY TO STRETCH"
  130. 4080 WW = WW + WI
  131. 4090 SA = WW * MD * MD / .8 / WS
  132. 4100 PRINT : PRINT "FOR PRE-TENSION=10% BREAKING STRENGTH"
  133. 4110 PRINT "SAG="; FNQ(SA); "FEET"
  134. 4120 RETURN
  135. 5000 INPUT "ENTER ON-LEVEL FOOTAGE BETWEEN MASTS"; MD: IF MD = 0 THEN 5000
  136. 5010 INPUT "ENTER DIFFERENCE IN MAST HEIGHT"; DH
  137. 5020 IF DH = 0 THEN 4110
  138. 5030 GOSUB 1000
  139. 5040 WW = WW / 1000
  140. 5050 PRINT : INPUT "ENTER 1=ICE LOAD, OR ZERO"; IL
  141. 5060 IF IL <> 1 THEN 5100
  142. 5070 GOSUB 800
  143. 5080 IF WI > 10 * WW THEN PRINT " WIRE WILL BREAK": GOTO 5180
  144. 5090 IF WI > 8 * WW THEN PRINT "WIRE LIKELY TO STRETCH"
  145. 5100 WW = WW + WI
  146. 5110 AA = ATN(DH / MD)
  147. 5120 DD = MD / COS(AA)
  148. 5130 SA = WW * DD * DD * COS(AA) / .8 / WS
  149. 5140 PRINT : PRINT "FOR PRE-TENSION=10% BREAKING STRENGTH"
  150. 5150 PRINT "  AND MAST HEIGHT DIFFERENCE="; DH; "FEET"
  151. 5160 PRINT "SAG="; FNQ(SA); "FEET"
  152. 5170 PRINT " BELOW LOWER SUPPORT"
  153. 5180 RETURN
  154. 6000 END
  155.  
  156.