97 A_c = math.pi / 4 * 0.127 ** 2
98 assert (_layer1_chamber_mass_kg(A_c, 0.15, 0.0381, 2000.0)
99 == pytest.approx(_layer1_chamber_mass_kg(A_c, 0.15, 0.0381, 2000.0, Pc_pa=0.0)))
102 """Barrel-only keeps rewarding a fatter chamber; the closure must turn it over.
104 This is the documented reason a mass penalty was abandoned in Layer 1:
105 mass/volume ~ 4t/D, so charging barrel mass alone buys a short fat chamber.
107 th = math.radians(45.0)
108 R_t = math.sqrt(A_T / math.pi)
109 bores = (0.1143, 0.127, 0.1397, 0.1524, 0.1651)
110 barrel, full = [], []
112 A_c = math.pi / 4 * D ** 2
113 L = (chamber_length_calc(1.0 * A_T, A_T, A_c / A_T, th)
114 + contraction_length_horizontal_calc(A_c, R_t, th))
115 barrel.append(_layer1_chamber_mass_kg(A_c, L, 0.0381, 2000.0))
116 full.append(_layer1_chamber_mass_kg(A_c, L, 0.0381, 2000.0, Pc_pa=PC))
118 assert barrel[-1] ==
min(barrel)
120 assert full.index(
min(full)) < len(bores) - 1