接入test_mql pn_node3_13固定气室支路

This commit is contained in:
huojiarong committed 2026-07-19 09:10:00 +00:00
1 parent 492562a517
commit 4242057bd8
3 files changed
+301 -13

No files matched your search

+61 -8
View File
@@ -436,8 +436,28 @@ class TestMqlPn3P4NodeChamberSegmentTests(unittest.TestCase):
closure.components.p4_port3_next_resistance_output_line.name,
"pneumatic_70",
)
self.assertEqual(len(closure.initial_state_vector()), 90)
self.assertEqual(len(rhs), 90)
self.assertEqual(
closure.components.p4_port3_next_resistance_chamber_inlet_line.name,
"pneumatic_101",
)
self.assertEqual(
closure.components.p4_port3_next_resistance_chamber.name,
"pn_general_chamber_4",
)
self.assertEqual(
closure.components.p4_port3_next_resistance_chamber_outlet_line.name,
"pneumatic_102",
)
self.assertEqual(
closure.components.p4_port3_next_resistance_chamber_inlet_orifice.name,
"pn_orifice_22",
)
self.assertEqual(
closure.components.p4_port3_next_resistance_chamber_outlet_orifice.name,
"pn_orifice_23",
)
self.assertEqual(len(closure.initial_state_vector()), 96)
self.assertEqual(len(rhs), 96)
self.assertAlmostEqual(
snapshot.p4_balance.pressure_pa,
snapshot.p4_primary_line.p,
@@ -648,6 +668,29 @@ class TestMqlPn3P4NodeChamberSegmentTests(unittest.TestCase):
"port_4",
).name,
)
resistance_chamber_segment = (
self.system.discover_pneumatic_branch_topology().chamber_segment_specs[2]
)
self.assertEqual(
closure.components.p4_port3_next_resistance_chamber_spec,
resistance_chamber_segment,
)
self.assertEqual(
closure.components.p4_port3_next_resistance_chamber_inlet_line.name,
resistance_chamber_segment.inlet_line_alias,
)
self.assertEqual(
closure.components.p4_port3_next_resistance_chamber_outlet_line.name,
resistance_chamber_segment.outlet_line_alias,
)
self.assertEqual(
closure.components.p4_port3_next_resistance_chamber_inlet_orifice.name,
resistance_chamber_segment.inlet_orifice_alias,
)
self.assertEqual(
closure.components.p4_port3_next_resistance_chamber_outlet_orifice.name,
resistance_chamber_segment.outlet_orifice_alias,
)
self.assertEqual(
closure.components.p4_port3_remote_orifice.name,
port3_remote_neighborhood.port_4.orifice_alias,
@@ -812,7 +855,8 @@ class TestMqlPn3P4NodeChamberSegmentTests(unittest.TestCase):
)
self.assertAlmostEqual(
snapshot.p4_port3_next_resistance_node_to_line_flow
+ snapshot.p4_port3_next_resistance_node_to_next_flow,
+ snapshot.p4_port3_next_resistance_node_to_next_flow
+ snapshot.p4_port3_next_resistance_chamber_outlet_node_to_line_flow,
0.0,
delta=1.0e-12,
)
@@ -830,14 +874,23 @@ class TestMqlPn3P4NodeChamberSegmentTests(unittest.TestCase):
),
delta=1.0e-12,
)
mass_derivative_sum = sum(rhs[index] for index in range(0, 90, 2))
resistance_chamber_mass_sum = rhs[90] + rhs[92] + rhs[94]
self.assertAlmostEqual(
resistance_chamber_mass_sum,
(
snapshot.p4_port3_next_resistance_chamber_inlet_boundary_to_line_flow
+ snapshot.p4_port3_next_resistance_chamber_outlet_node_to_line_flow
),
delta=1.0e-12,
)
mass_derivative_sum = sum(rhs[index] for index in range(0, 96, 2))
self.assertAlmostEqual(
mass_derivative_sum,
0.0,
snapshot.p4_port3_next_resistance_chamber_inlet_boundary_to_line_flow,
delta=1.0e-12,
)
def test_simulates_ninety_state_pn3_p4_node_chamber_segment(self) -> None:
def test_simulates_ninety_six_state_pn3_p4_node_chamber_segment(self) -> None:
solution = self.system.simulate_pn3_p4_node_chamber_segment_from_spec(
self.spec,
inlet_node_pressure_pa=15.31e6,
@@ -852,8 +905,8 @@ class TestMqlPn3P4NodeChamberSegmentTests(unittest.TestCase):
self.assertTrue(solution.success)
self.assertEqual(len(solution.t), 3)
self.assertEqual(len(solution.y), 90)
self.assertEqual([len(row) for row in solution.y], [3] * 90)
self.assertEqual(len(solution.y), 96)
self.assertEqual([len(row) for row in solution.y], [3] * 96)
if __name__ == "__main__":