复用test_mql P4邻接拓扑装配

This commit is contained in:
huojiarong committed 2026-07-17 10:10:41 +00:00
1 parent 43e238034a
commit 853ae3043d
2 files changed
+49 -14

No files matched your search

+20 -14
View File
@@ -4598,26 +4598,32 @@ class TestMqlSystem:
else node_line_spec.source_component else node_line_spec.source_component
) )
p4_node_alias = self._p4_node_alias_for_orifice_port_2(node_orifice_alias) p4_node_alias = self._p4_node_alias_for_orifice_port_2(node_orifice_alias)
node_orifice = self.pneumatic_assembly.variable_orifices[node_orifice_alias] p4_neighborhood = self.p4_node_neighborhood(p4_node_alias)
if p4_neighborhood.port_4.orifice_alias != node_orifice_alias:
raise ValueError(
f"P4 neighborhood for {p4_node_alias} does not match "
f"{node_orifice_alias}"
)
node_orifice = self.pneumatic_assembly.variable_orifices[
p4_neighborhood.port_4.orifice_alias
]
node_resistance = self._pnl00r_line_for_node_port( node_resistance = self._pnl00r_line_for_node_port(
spec.outlet_node_alias, spec.outlet_node_alias,
"port_1", "port_1",
) )
node = self.node3_assembly[spec.outlet_node_alias] node = self.node3_assembly[spec.outlet_node_alias]
p4_node = self.node4_assembly[p4_node_alias] p4_node = self.node4_assembly[p4_neighborhood.node_alias]
p4_primary_line_spec = self._pnl0001_spec_for_node_port( p4_primary_line = self.pnl0001_assembly.lines[
p4_node_alias, p4_neighborhood.primary.line_alias
"port_2", ]
) p4_primary_chamber_alias = p4_neighborhood.primary.chamber_alias
p4_primary_line = self.pnl0001_assembly.lines[p4_primary_line_spec.alias]
p4_primary_chamber_alias = (
p4_primary_line_spec.target_component
if p4_primary_line_spec.source_component == p4_node_alias
else p4_primary_line_spec.source_component
)
p4_primary_chamber = self.network.components[p4_primary_chamber_alias] p4_primary_chamber = self.network.components[p4_primary_chamber_alias]
p4_port1_line = self._pnl0002_line_for_node_port(p4_node_alias, "port_1") p4_port1_line = self.pnl0002_assembly.lines[
p4_port3_line = self._pnl0002_line_for_node_port(p4_node_alias, "port_3") p4_neighborhood.port_1.line_alias
]
p4_port3_line = self.pnl0002_assembly.lines[
p4_neighborhood.port_3.line_alias
]
volume = self.network.components[spec.volume_alias] volume = self.network.components[spec.volume_alias]
inlet_orifice = self.network.components[spec.inlet_orifice_alias] inlet_orifice = self.network.components[spec.inlet_orifice_alias]
outlet_orifice = self.network.components[spec.outlet_orifice_alias] outlet_orifice = self.network.components[spec.outlet_orifice_alias]
+29
View File
@@ -278,6 +278,35 @@ class TestMqlPn3P4NodeChamberSegmentTests(unittest.TestCase):
snapshot.p4_primary_line.T, snapshot.p4_primary_line.T,
) )
def test_p4_closure_uses_structured_neighborhood(self) -> None:
closure = self.system.pn3_p4_node_chamber_segment_closure_from_spec(
self.spec,
inlet_node_pressure_pa=15.31e6,
resistance_boundary_pressure_pa=15.29e6,
)
neighborhood = self.system.p4_node_neighborhood(closure.components.p4_node.alias)
self.assertEqual(
closure.components.p4_primary_line.name,
neighborhood.primary.line_alias,
)
self.assertEqual(
closure.components.p4_primary_chamber.name,
neighborhood.primary.chamber_alias,
)
self.assertEqual(
closure.components.p4_port1_line.name,
neighborhood.port_1.line_alias,
)
self.assertEqual(
closure.components.p4_port3_line.name,
neighborhood.port_3.line_alias,
)
self.assertEqual(
closure.components.node_orifice.name,
neighborhood.port_4.orifice_alias,
)
def test_p4_node_flow_cancels_between_pnvo_pnl0002_and_primary_line(self) -> None: def test_p4_node_flow_cancels_between_pnvo_pnl0002_and_primary_line(self) -> None:
closure = self.system.pn3_p4_node_chamber_segment_closure_from_spec( closure = self.system.pn3_p4_node_chamber_segment_closure_from_spec(
self.spec, self.spec,