接入test_mql P4桥接环网管路

This commit is contained in:
huojiarong committed 2026-07-18 09:38:52 +00:00
1 parent 8639b42574
commit a09a8c8daf
3 files changed
+274 -26

No files matched your search

+52 -8
View File
@@ -298,6 +298,10 @@ class TestMqlPn3P4NodeChamberSegmentTests(unittest.TestCase):
closure.components.p4_port1_next_primary_chamber.name,
"pn_c1_12",
)
self.assertEqual(closure.components.p4_port1_next_port1_line.name, "pneumatic_81")
self.assertEqual(closure.components.p4_bridge_node.alias, "pnnode4_20")
self.assertEqual(closure.components.p4_bridge_primary_line.name, "pneumatic_72")
self.assertEqual(closure.components.p4_bridge_primary_chamber.name, "pn_c1_13")
self.assertEqual(
closure.components.p4_port1_remote_orifice.name,
"pn_morifice_10",
@@ -343,6 +347,7 @@ class TestMqlPn3P4NodeChamberSegmentTests(unittest.TestCase):
closure.components.p4_port3_next_primary_chamber.name,
"pn_c1_14",
)
self.assertEqual(closure.components.p4_port3_next_port3_line.name, "pneumatic_84")
self.assertEqual(
closure.components.p4_port3_remote_orifice.name,
"pn_morifice_1",
@@ -371,8 +376,8 @@ class TestMqlPn3P4NodeChamberSegmentTests(unittest.TestCase):
closure.components.p4_port3_remote_resistance_orifice.name,
"pn_morifice_14",
)
self.assertEqual(len(closure.initial_state_vector()), 62)
self.assertEqual(len(rhs), 62)
self.assertEqual(len(closure.initial_state_vector()), 70)
self.assertEqual(len(rhs), 70)
self.assertAlmostEqual(
snapshot.p4_balance.pressure_pa,
snapshot.p4_primary_line.p,
@@ -441,6 +446,24 @@ class TestMqlPn3P4NodeChamberSegmentTests(unittest.TestCase):
port1_far_port1.remote_node_alias
).line_alias,
)
port1_next_port1 = self.system._pnl0002_connection_for_node_port(
closure.components.p4_port1_next_node.alias,
"port_1",
)
self.assertEqual(
closure.components.p4_port1_next_port1_line.name,
port1_next_port1.line_alias,
)
self.assertEqual(
closure.components.p4_bridge_node.alias,
port1_next_port1.remote_node_alias,
)
self.assertEqual(
closure.components.p4_bridge_primary_line.name,
self.system._p4_primary_connection_for_node(
closure.components.p4_bridge_node.alias
).line_alias,
)
self.assertEqual(
closure.components.p4_port1_remote_orifice.name,
port1_remote_neighborhood.port_4.orifice_alias,
@@ -496,6 +519,18 @@ class TestMqlPn3P4NodeChamberSegmentTests(unittest.TestCase):
port3_far_port3.remote_node_alias
).line_alias,
)
port3_next_port3 = self.system._pnl0002_connection_for_node_port(
closure.components.p4_port3_next_node.alias,
"port_3",
)
self.assertEqual(
closure.components.p4_port3_next_port3_line.name,
port3_next_port3.line_alias,
)
self.assertEqual(
closure.components.p4_bridge_node.alias,
port3_next_port3.remote_node_alias,
)
self.assertEqual(
closure.components.p4_port3_remote_orifice.name,
port3_remote_neighborhood.port_4.orifice_alias,
@@ -578,7 +613,15 @@ class TestMqlPn3P4NodeChamberSegmentTests(unittest.TestCase):
)
self.assertAlmostEqual(
snapshot.p4_port1_next_node_to_primary_line_flow
+ snapshot.p4_port1_next_node_to_line_flow,
+ snapshot.p4_port1_next_node_to_line_flow
+ snapshot.p4_port1_next_to_bridge_line_flow,
0.0,
delta=1.0e-12,
)
self.assertAlmostEqual(
snapshot.p4_bridge_node_to_primary_line_flow
+ snapshot.p4_bridge_to_port1_next_line_flow
+ snapshot.p4_bridge_to_port3_next_line_flow,
0.0,
delta=1.0e-12,
)
@@ -617,18 +660,19 @@ class TestMqlPn3P4NodeChamberSegmentTests(unittest.TestCase):
)
self.assertAlmostEqual(
snapshot.p4_port3_next_node_to_primary_line_flow
+ snapshot.p4_port3_next_node_to_line_flow,
+ snapshot.p4_port3_next_node_to_line_flow
+ snapshot.p4_port3_next_to_bridge_line_flow,
0.0,
delta=1.0e-12,
)
mass_derivative_sum = sum(rhs[index] for index in range(0, 62, 2))
mass_derivative_sum = sum(rhs[index] for index in range(0, 70, 2))
self.assertAlmostEqual(
mass_derivative_sum,
0.0,
delta=1.0e-12,
)
def test_simulates_sixty_two_state_pn3_p4_node_chamber_segment(self) -> None:
def test_simulates_seventy_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,
@@ -643,8 +687,8 @@ class TestMqlPn3P4NodeChamberSegmentTests(unittest.TestCase):
self.assertTrue(solution.success)
self.assertEqual(len(solution.t), 3)
self.assertEqual(len(solution.y), 62)
self.assertEqual([len(row) for row in solution.y], [3] * 62)
self.assertEqual(len(solution.y), 70)
self.assertEqual([len(row) for row in solution.y], [3] * 70)
if __name__ == "__main__":