接入test_mql pneumatic_105远端PN3子网

This commit is contained in:
huojiarong committed 2026-07-18 09:24:36 +00:00
1 parent f74b414b24
commit 8639b42574
3 files changed
+180 -18

No files matched your search

+41
View File
@@ -4605,6 +4605,16 @@ class TestMqlSystem:
)
raise KeyError(f"No PN3/PNL0003 line attached to {orifice_alias}.port_3")
def other_node3_for_pnl00r(line_alias: str, local_node_alias: str):
for line_spec in self.pnl00r_assembly.specs:
if line_spec.alias != line_alias:
continue
if line_spec.source_component == local_node_alias:
return self.node3_assembly[line_spec.target_component]
if line_spec.target_component == local_node_alias:
return self.node3_assembly[line_spec.source_component]
raise KeyError(f"No remote PN3 node found for {line_alias}")
inlet_line = self.pnl0001_assembly.lines[spec.inlet_line_alias]
outlet_line = self.pnl0001_assembly.lines[spec.outlet_line_alias]
node_line_spec = self._pnl0003_spec_for_node_port(
@@ -4764,6 +4774,26 @@ class TestMqlSystem:
p4_port3_remote_orifice_node.alias,
"port_3",
)
p4_port3_remote_resistance_node = other_node3_for_pnl00r(
p4_port3_remote_orifice_resistance.name,
p4_port3_remote_orifice_node.alias,
)
p4_port3_remote_resistance_node_line_spec = self._pnl0003_spec_for_node_port(
p4_port3_remote_resistance_node.alias,
"port_2",
)
p4_port3_remote_resistance_node_line = self.pnl0003_assembly.lines[
p4_port3_remote_resistance_node_line_spec.alias
]
p4_port3_remote_resistance_orifice_alias = (
p4_port3_remote_resistance_node_line_spec.target_component
if p4_port3_remote_resistance_node_line_spec.source_component
== p4_port3_remote_resistance_node.alias
else p4_port3_remote_resistance_node_line_spec.source_component
)
p4_port3_remote_resistance_orifice = self.pneumatic_assembly.variable_orifices[
p4_port3_remote_resistance_orifice_alias
]
volume = self.network.components[spec.volume_alias]
inlet_orifice = self.network.components[spec.inlet_orifice_alias]
outlet_orifice = self.network.components[spec.outlet_orifice_alias]
@@ -4805,6 +4835,10 @@ class TestMqlSystem:
raise TypeError(
f"{spec.outlet_orifice_alias} is not an AMESim pneumatic orifice"
)
if not isinstance(p4_port3_remote_resistance_orifice, AmesimPneumaticOrifice):
raise TypeError(
f"{p4_port3_remote_resistance_orifice_alias} is not an AMESim pneumatic orifice"
)
return TestMqlPn3P4NodeChamberSegmentClosure(
components=TestMqlPn3P4NodeChamberSegmentComponents(
inlet_line=inlet_line,
@@ -4847,6 +4881,13 @@ class TestMqlSystem:
p4_port3_remote_orifice_line=p4_port3_remote_orifice_line,
p4_port3_remote_orifice_node=p4_port3_remote_orifice_node,
p4_port3_remote_orifice_resistance=p4_port3_remote_orifice_resistance,
p4_port3_remote_resistance_node=p4_port3_remote_resistance_node,
p4_port3_remote_resistance_node_line=(
p4_port3_remote_resistance_node_line
),
p4_port3_remote_resistance_orifice=(
p4_port3_remote_resistance_orifice
),
volume=volume,
inlet_orifice=inlet_orifice,
outlet_orifice=outlet_orifice,