补充test_mql pneumatic_69局部参考RHS候选

This commit is contained in:
huojiarong committed 2026-07-29 09:23:05 +00:00
1 parent e17a952bee
commit 420bafeb4e
4 files changed
+186 -7

No files matched your search

+41
View File
@@ -778,6 +778,47 @@ class TestMqlPn3P4NodeChamberSegmentTests(unittest.TestCase):
self.assertAlmostEqual(candidate_rhs[1], expected.U)
self.assertNotAlmostEqual(candidate_rhs[1], default_rhs[1])
def test_full_state_closure_can_enable_pneumatic_69_reference_rhs_candidate(
self,
) -> None:
default_closure = self.system.full_state_closure_from_spec(
self.spec,
inlet_node_pressure_pa=15.31e6,
resistance_boundary_pressure_pa=15.29e6,
)
candidate_closure = self.system.full_state_closure_from_spec(
self.spec,
inlet_node_pressure_pa=15.31e6,
resistance_boundary_pressure_pa=15.29e6,
use_pneumatic_69_reference_rhs=True,
)
state = default_closure.initial_state_vector()
default_rhs = default_closure.rhs_at(0.04, state)
candidate_rhs = candidate_closure.rhs_at(0.04, state)
snapshot = candidate_closure.snapshot_at(0.04, state).pneumatic
line = candidate_closure.pneumatic_closure.components.p4_port3_remote_primary_line
expected = candidate_closure.pneumatic_closure._pnl0001_reference_enthalpy_derivative(
line=line,
line_properties=snapshot.p4_port3_remote_primary_line,
port_1_properties=snapshot.p4_port3_remote_primary_chamber,
port_1_flow=snapshot.p4_port3_remote_chamber_to_line_flow,
port_2_properties=snapshot.p4_port3_remote_primary_line,
port_2_flow=snapshot.p4_port3_remote_node_to_primary_line_flow,
port_2_connected_reference_h=(
candidate_closure.pneumatic_closure._p4_port3_remote_port_2_reference_h(
snapshot=snapshot
)
),
)
self.assertAlmostEqual(candidate_rhs[0], default_rhs[0])
self.assertAlmostEqual(candidate_rhs[1], default_rhs[1])
self.assertAlmostEqual(candidate_rhs[44], default_rhs[44])
self.assertAlmostEqual(candidate_rhs[44], expected.m)
self.assertAlmostEqual(candidate_rhs[45], expected.U)
self.assertNotAlmostEqual(candidate_rhs[45], default_rhs[45])
def test_full_state_closure_applies_step_controls_to_variable_orifices(self) -> None:
closure = self.system.full_state_closure_from_spec(
self.spec,