laba7.py 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197
  1. # -*- coding: utf-8 -*-
  2. """
  3. Лаба 7. Расчеты элементов проходческих работ: производительность бурильных
  4. машин, погрузка породы, откатка электровозом, проветривание забоя.
  5. Формулы (7.1)-(7.20) методички sources/Laba_7_Raschety_Elementov_Prokhodcheskikh_Rabot.pdf.
  6. Тарировка по примеру методички (стр. 15-18): формулы (7.1)-(7.5), (7.8),
  7. (7.10)-(7.17), (7.20) воспроизводят пример с точностью до округлений.
  8. Известные погрешности самого примера, на результат варианта не влияющие:
  9. - в печатной формуле (7.6) примера вычитается 106 кН (вес К10), но итог
  10. 296,7 кН соответствует вычитанию G_с = 140 кН (КТ14) при omega'' = 7 Н/кН;
  11. - в (7.16) у примера l_с = 23,57 м, строго по формуле получается 24,0 м;
  12. - в примере веса вагонетки приняты при g ~= 10 м/с2 (85,5/42 кН), здесь g = 9,81.
  13. """
  14. from math import pi, sqrt, floor, ceil, log10
  15. # ---------------------------------------------------------------- справочные данные
  16. # Табл. 7.2: механическая скорость бурения V_м (м/мин) по крепости f
  17. VM_TABLE = {2: 2.20, 3: 2.00, 4: 1.80, 5: 1.65, 6: 1.50,
  18. 7: 1.35, 8: 1.20, 9: 1.10, 10: 1.00}
  19. # Табл. 7.4: техническая производительность погрузочных машин, м3/мин
  20. # (по табл. 7.4 методички: ПНБ-2 = 2,2 при массе 7 т; 2ПНБ-2 = 2,5 при 11,8 т)
  21. PGRUZ = {"ППН-1С": 0.8, "ППН-2Г": 1.0, "ППН-3": 1.25, "1ППН-5": 1.25,
  22. "ППМ-4У": 1.25, "ПНБ-2": 2.2, "2ПНБ-2": 2.5, "ПНБ-3Д": 4.0, "ПНБ-4": 6.0}
  23. # Табл. 7.5: коэффициент разрыхления k_р по крепости f
  24. # (строки 1..2 / 2..3 / 4..6 / 7..9 / 10..14 / 15..20 — нижняя граница строки)
  25. KP_TABLE = ((1, 1.7), (2, 1.8), (4, 1.9), (7, 2.0), (10, 2.1), (15, 2.2))
  26. def k_r(f):
  27. k = KP_TABLE[0][1]
  28. for fmin, kr in KP_TABLE:
  29. if f >= fmin:
  30. k = kr
  31. return k
  32. # Табл. 7.6: сцепной вес электровозов, кН
  33. ELECTROVOZ = {"4КР": 40, "7КРМ1": 79, "К10": 106, "К14М": 140, "КТ14": 140,
  34. "АРВ7": 70, "АМ8Д": 87, "АРП10Б": 104, "АРП14": 134}
  35. # Табл. 7.7: вагонетки: вместимость (м3), грузоподъёмность (т), масса (т)
  36. VAGONETKA = {
  37. "ВГ0.7": (0.7, 1.8, 0.55), "ВГ1.2": (1.2, 2.5, 0.807), "ВГ2.0": (2.0, 5.0, 1.51),
  38. "ВГ2.2": (2.2, 5.5, 1.45), "ВГ4.5А": (4.5, 13.5, 4.2), "ВГ9А": (9.0, 27.0, 8.9),
  39. "ВГ10А": (10.0, 30.0, 9.5),
  40. }
  41. # Табл. 7.8: коэффициент трения альфа по диаметру трубы воздуховода
  42. ALPHA = {0.4: 0.00030, 0.5: 0.00025, 0.6: 0.00022, 0.7: 0.00020}
  43. # Табл. 7.10 (стр. 19-20): f, rho, фракция, уклон ‰, S, бурильная установка,
  44. # глубина бурения м, диаметр шпура мм, погрузочная машина,
  45. # доставочная машина (электровоз/вагонетка), L от забоя до отвала м,
  46. # диаметр трубы м, время проветривания с, число проходчиков
  47. VARIANTS = {
  48. 1: (12, 1.9, "мелкая", 5, 24, "БУ-1Б (УБШ 202)", 2.4, 46, "ППН-2Г", "АРП14", "ВГ2.0", 2100, 0.5, 2400, 2),
  49. 2: (7, 2.0, "крупная", 0, 30, "БУР2Б (УБШ 302)", 2.3, 52, "2ПНБ-2", "АРП14", "ВГ2.0", 2350, 0.7, 3600, 3),
  50. 3: (10, 1.8, "крупная", 6, 28, "БКГ-2 (УБШ 309)", 2.5, 52, "ПНБ-2", "К10", "ВГ2.0", 2200, 0.7, 3000, 3),
  51. 4: (14, 1.7, "мелкая", 3, 22, "СБКН2М (УБШ 207)", 2.0, 55, "ППН-2Г", "К10", "ВГ1.2", 2740, 0.5, 2400, 2),
  52. 5: (15, 2.5, "мелкая", 0, 24, "БУ-1Б (УБШ 202)", 2.1, 60, "1ППН-5", "К14М", "ВГ2.2", 2900, 0.5, 2400, 2),
  53. 6: (8, 2.1, "крупная", 4, 27, "БКГ-2 (УБШ 309)", 2.4, 43, "ППН-3", "КТ14", "ВГ4.5А", 2150, 0.6, 3000, 3),
  54. 7: (11, 2.0, "крупная", 10, 25, "БУ-1Б (УБШ 202)", 2.5, 46, "1ППН-5", "АРП14", "ВГ2.0", 3050, 0.6, 2400, 2),
  55. 8: (16, 2.2, "мелкая", 0, 24, "СБКН2М (УБШ 207)", 2.2, 55, "1ППН-5", "К14М", "ВГ2.2", 2350, 0.5, 2400, 2),
  56. 9: (9, 1.8, "крупная", 9, 30, "БУР2Б (УБШ 302)", 2.5, 52, "ПНБ-2", "АРП10Б", "ВГ2.2", 2400, 0.7, 3600, 3),
  57. 10: (12, 2.1, "мелкая", 4, 22, "СБКН2М (УБШ 207)", 2.1, 46, "ППН-2Г", "К14М", "ВГ2.0", 3100, 0.5, 2400, 2),
  58. 11: (13, 2.1, "мелкая", 5, 25, "БУ-1Б (УБШ 202)", 2.0, 52, "ППН-3", "К14М", "ВГ2.2", 2400, 0.6, 2400, 2),
  59. 12: (8, 1.8, "крупная", 7, 32, "БУР2Б (УБШ 302)", 2.5, 43, "ПНБ-2", "К10", "ВГ2.2", 2600, 0.7, 3600, 3),
  60. 13: (10, 1.9, "мелкая", 9, 21, "СБКН2М (УБШ 207)", 2.5, 46, "ППН-2Г", "АРП14", "ВГ2.0", 3150, 0.5, 2400, 2),
  61. 14: (7, 1.8, "крупная", 3, 30, "БУР2Б (УБШ 302)", 2.4, 40, "ПНБ-2", "АРП10Б", "ВГ2.2", 2440, 0.7, 3600, 3),
  62. 15: (14, 2.0, "крупная", 5, 26, "БУ-1Б (УБШ 202)", 2.2, 52, "1ППН-5", "КТ14", "ВГ2.2", 2150, 0.6, 3000, 3),
  63. 16: (12, 2.1, "мелкая", 7, 28, "БКГ-2 (УБШ 309)", 2.1, 46, "ППН-3", "К14М", "ВГ4.5А", 2350, 0.7, 3000, 3),
  64. 17: (9, 1.9, "мелкая", 12, 27, "БКГ-2 (УБШ 309)", 2.3, 43, "1ППН-5", "АРП14", "ВГ2.0", 2200, 0.6, 3000, 3),
  65. 18: (11, 1.7, "крупная", 2, 31, "БУР2Б (УБШ 302)", 2.1, 52, "2ПНБ-2", "К10", "ВГ2.2", 2740, 0.7, 3600, 3),
  66. 19: (10, 1.6, "крупная", 4, 30, "БУР2Б (УБШ 302)", 2.5, 46, "2ПНБ-2", "АРП10Б", "ВГ2.2", 2900, 0.7, 3600, 3),
  67. 20: (12, 2.0, "мелкая", 0, 26, "БУ-1Б (УБШ 202)", 2.4, 43, "ППН-3", "КТ14", "ВГ2.2", 2150, 0.6, 2400, 2),
  68. }
  69. G = 9.81
  70. # ---------------------------------------------------------------- расчёт
  71. def rup(x, n=2):
  72. p = 10 ** n
  73. return floor(x * p + 0.5) / p
  74. def compute(f, rho, frak, uklon, S, ustanovka, l_shp, d_shp_mm, pogr_mash,
  75. el, vag, L_ot, d_tr, t_prov, n_proh,
  76. m_b=2, k_zam=0.7, k_vsp=0.85, k_od=0.8, k_nad=0.9, k_pr=0.8,
  77. a_p=0.04, omega_tr=None, omega_dv=8.0, v_t=2.0, l_t=10.0,
  78. k_m=1.2, k_nrp=0.9, k_n_pogr=0.85, l_o=100, V_o=80, t_sc=1.5,
  79. t_pod=10, eta=0.9, k_r_mnozh=2.0, t_man=10, m_p=1,
  80. v_sr=200.0, a_koef=None, l_v=75.0, eps=1.2, m_a=1, V_a=3.0,
  81. z_zapas=1.35, q_sk=0.10, zap_v=1.1):
  82. """Полный расчёт по формулам (7.1)-(7.20) методички.
  83. Умолчания соответствуют принятому в отчёте варианту 6; пример методички
  84. считается передачей его коэффициентов (см. __main__).
  85. """
  86. out = {}
  87. d_shp = d_shp_mm / 1000.0
  88. # --- 1. бурение, (7.1)-(7.2)
  89. V_m = VM_TABLE[min(max(f, 2), 10)]
  90. k_d = rup(30 / d_shp_mm, 2)
  91. P_b_t = rup(V_m * k_d * k_zam * k_vsp, 2) # м/мин
  92. P_b_e = rup(60 * P_b_t * k_od * k_nad * k_pr * m_b, 1) # м/ч
  93. # --- 2. погрузка и вес состава
  94. P_p_t = PGRUZ[pogr_mash] # м3/мин (табл. 7.4)
  95. G_sc = ELECTROVOZ[el] # сцепной вес, кН
  96. # (7.5): трогание; omega'_тр = (1,5..2)*omega''; omega'' = 5..8 Н/кН
  97. if omega_tr is None:
  98. omega_tr = 1.5 * omega_dv
  99. Q5 = rup(1000 * 0.25 * G_sc / (omega_tr + uklon + 110 * a_p) - G_sc, 1)
  100. # (7.7): тормозное замедление
  101. a_t = v_t ** 2 / (2 * l_t)
  102. # (7.6): торможение
  103. Q6 = rup(1000 * 0.17 * G_sc / (-omega_dv + uklon + 110 * a_t) - G_sc, 1)
  104. Q_gr = min(Q5, Q6)
  105. V_v, _gr, m_v = VAGONETKA[vag]
  106. G_gr = rup(V_v * rho * G, 1) # вес груза, кН
  107. G_t = rup(m_v * G, 1) # вес тары, кН
  108. m_s = floor(Q_gr / (G_gr + G_t)) # (7.8), вагонов в составе
  109. # (7.4): эксплуатационная производительность погрузочной машины, м3/ч
  110. P_p_e = rup(60 * V_v / (V_v * k_m * k_r(f) / (P_p_t * k_nrp * k_n_pogr)
  111. + 2 * l_o / V_o + t_sc + t_pod / m_s), 1)
  112. # --- 3. рейсы
  113. t_p = rup(60 * V_v * eta * m_s / P_p_e, 1) # (7.10), мин
  114. t_dv = rup(2 * L_ot / v_sr, 1) # (7.11), мин
  115. t_r = rup(k_r_mnozh * m_s, 1) # (7.12), мин
  116. T_r = rup(t_p + t_dv + t_r + t_man, 1) # (7.9), мин
  117. m_t = ceil(T_r * m_p / t_p) # (7.13), составов
  118. z_p = ceil(S * l_shp * k_r(f) / (V_v * m_s)) # (7.14), рейсов
  119. # --- 4. вентиляция (цепочка по округляемым значениям, как в отчёте)
  120. S_tr = rup(pi * d_tr ** 2 / 4, 2) # площадь трубы, м2
  121. l_s = rup(18.7 * sqrt(S) * (S_tr / S) ** (1 / 3), 1) # (7.16), м
  122. a_k = 48 if S > 40 else 26 # (7.15): a = 26 при S = 12..40, 48 при 41..95
  123. Q_vzr = rup(4.715 * (l_s * S / t_prov) * log10(a_k * l_shp * rho / sqrt(S)), 2) # (7.15), м3/с
  124. t_p_s = rup(t_p * 60, 0) # (7.10) в секундах
  125. k_nk = 1.3 if L_ot >= 2000 else 1.7 # (7.17): L >= 2 км
  126. Q_t = rup(0.625 * k_nk * (1.2 * m_a + 2.24 * (L_ot / (t_p_s * V_a) + 0.25)), 2)
  127. N_l = 2 * n_proh # люди в забое
  128. Q_l = rup(0.1 * N_l * z_zapas, 2) # (7.18), м3/с
  129. Q_s = rup(q_sk * S, 2) # (7.19), м3/с
  130. Q_rasch = max(Q_vzr, Q_t, Q_l, Q_s) # расчётный расход
  131. Q_vent = rup(zap_v * Q_rasch, 2) # производительность в-ра
  132. h_v = rup(65 * ALPHA[d_tr] * l_v * Q_rasch ** 2 * eps / d_tr ** 5, 1) # (7.20), Па
  133. out["исходные"] = f"f={f}, S={S} м2, уклон {uklon}‰, L={L_ot} м, {pogr_mash}, {el}+{vag}"
  134. out.update({
  135. "1) Vм": V_m, "1) kд": k_d, "1) Pб.т": P_b_t, "1) Pб.э": P_b_e,
  136. "2) Pп.т": P_p_t, "2) Q(сцепл.)": Q5, "2) aт": rup(a_t, 2),
  137. "2) Q(торм.)": Q6, "2) Qгр": Q_gr,
  138. "2) Gгр": G_gr, "2) Gт": G_t, "2) mс": m_s, "2) Pп.э": P_p_e,
  139. "3) tп": t_p, "3) tдв": t_dv, "3) tр": t_r, "3) Tр": T_r,
  140. "3) mт": m_t, "3) zп(рейсов)": z_p,
  141. "4) Sтр": round(S_tr, 4), "4) lс": l_s, "4) Qвзрыв": Q_vzr,
  142. "4) Qавто": Q_t, "4) Qлюди": Q_l, "4) Qскор": Q_s,
  143. "4) Qрасч": Q_rasch, "4) Qвент": Q_vent, "4) hв,Па": h_v,
  144. })
  145. return out
  146. def report(title, res):
  147. print(f"\n=== {title} ===")
  148. for k, val in res.items():
  149. print(f" {k:14} = {val}")
  150. if __name__ == "__main__":
  151. import sys
  152. if len(sys.argv) > 1 and sys.argv[1].isdigit():
  153. n = int(sys.argv[1])
  154. v = VARIANTS[n]
  155. report(f"Вариант {n}", compute(*v))
  156. else:
  157. # Пример методички: f=7, rho=1,9, крупная, уклон 12‰, S=30, БУР2Б,
  158. # шпур 2,5 м, 43 мм, ППН-3, КТ14+ВГ4.5, L=3100, d_тр=0,7, t=2400 с,
  159. # 3 проходчика; коэффициенты и принятые величины — из примера
  160. # (a = 0,04; v_т = 3 м/с -> a_т = 0,45; k_м = 1,15; k_нр = 0,87;
  161. # k_н = 0,75; l_о = 75 м; V_о = 90 м/мин; t_под = 7,5; t_м = 7;
  162. # V_ср = 200 м/мин; z = 1,35; V_а = 3 м/с; m_а = 3; l_в = 75; eps = 1,2)
  163. report("Пример методички", compute(
  164. 7, 1.9, "крупная", 12, 30, "БУР2Б (УБШ 302)", 2.5, 43, "ППН-3",
  165. "КТ14", "ВГ4.5А", 3100, 0.7, 2400, 3,
  166. m_b=2, k_od=0.72, k_nad=0.85, k_pr=0.8,
  167. a_p=0.04, omega_dv=7.0, omega_tr=12.0, v_t=3.0, k_m=1.15, k_nrp=0.87, k_n_pogr=0.75,
  168. l_o=75, V_o=90, t_pod=7.5, t_man=7, v_sr=200.0, m_a=3))