接入test_mql PNVO上游PN3子网
This commit is contained in:
1 parent
62c8aabeab
commit
8c8b4f26e9
3 files changed
+389
-92
No files matched your search
@@ -292,6 +292,14 @@ class TestMqlPn3P4NodeChamberSegmentTests(unittest.TestCase):
|
||||
closure.components.p4_port1_remote_orifice.name,
|
||||
"pn_morifice_10",
|
||||
)
|
||||
self.assertEqual(
|
||||
closure.components.p4_port1_remote_orifice_line.name,
|
||||
"pneumatic_75",
|
||||
)
|
||||
self.assertEqual(
|
||||
closure.components.p4_port1_remote_orifice_node.alias,
|
||||
"pn_node3_10",
|
||||
)
|
||||
self.assertEqual(closure.components.p4_port3_line.name, "pneumatic_83")
|
||||
self.assertEqual(closure.components.p4_port3_remote_node.alias, "pnnode4_16")
|
||||
self.assertEqual(
|
||||
@@ -319,8 +327,20 @@ class TestMqlPn3P4NodeChamberSegmentTests(unittest.TestCase):
|
||||
closure.components.p4_port3_remote_orifice.name,
|
||||
"pn_morifice_1",
|
||||
)
|
||||
self.assertEqual(len(closure.initial_state_vector()), 38)
|
||||
self.assertEqual(len(rhs), 38)
|
||||
self.assertEqual(
|
||||
closure.components.p4_port3_remote_orifice_line.name,
|
||||
"pneumatic_87",
|
||||
)
|
||||
self.assertEqual(
|
||||
closure.components.p4_port3_remote_orifice_node.alias,
|
||||
"pn_node3_8",
|
||||
)
|
||||
self.assertEqual(
|
||||
closure.components.p4_port3_remote_orifice_resistance.name,
|
||||
"pneumatic_105",
|
||||
)
|
||||
self.assertEqual(len(closure.initial_state_vector()), 46)
|
||||
self.assertEqual(len(rhs), 46)
|
||||
self.assertAlmostEqual(
|
||||
snapshot.p4_balance.pressure_pa,
|
||||
snapshot.p4_primary_line.p,
|
||||
@@ -375,6 +395,14 @@ class TestMqlPn3P4NodeChamberSegmentTests(unittest.TestCase):
|
||||
closure.components.p4_port1_remote_orifice.name,
|
||||
port1_remote_neighborhood.port_4.orifice_alias,
|
||||
)
|
||||
self.assertEqual(
|
||||
closure.components.p4_port1_remote_orifice_line.name,
|
||||
self.system._pnl0003_line_for_node_port("pn_node3_10", "port_2").name,
|
||||
)
|
||||
self.assertEqual(
|
||||
closure.components.p4_port1_remote_orifice_node.alias,
|
||||
"pn_node3_10",
|
||||
)
|
||||
self.assertEqual(
|
||||
closure.components.p4_port3_line.name,
|
||||
neighborhood.port_3.line_alias,
|
||||
@@ -404,6 +432,18 @@ class TestMqlPn3P4NodeChamberSegmentTests(unittest.TestCase):
|
||||
closure.components.p4_port3_remote_orifice.name,
|
||||
port3_remote_neighborhood.port_4.orifice_alias,
|
||||
)
|
||||
self.assertEqual(
|
||||
closure.components.p4_port3_remote_orifice_line.name,
|
||||
self.system._pnl0003_line_for_node_port("pn_node3_8", "port_2").name,
|
||||
)
|
||||
self.assertEqual(
|
||||
closure.components.p4_port3_remote_orifice_node.alias,
|
||||
"pn_node3_8",
|
||||
)
|
||||
self.assertEqual(
|
||||
closure.components.p4_port3_remote_orifice_resistance.name,
|
||||
self.system._pnl00r_line_for_node_port("pn_node3_8", "port_3").name,
|
||||
)
|
||||
self.assertEqual(
|
||||
closure.components.node_orifice.name,
|
||||
neighborhood.port_4.orifice_alias,
|
||||
@@ -455,6 +495,18 @@ class TestMqlPn3P4NodeChamberSegmentTests(unittest.TestCase):
|
||||
0.0,
|
||||
delta=1.0e-12,
|
||||
)
|
||||
self.assertAlmostEqual(
|
||||
snapshot.p4_port1_remote_node_to_orifice_line_flow,
|
||||
snapshot.node_to_resistance_flow,
|
||||
delta=1.0e-12,
|
||||
)
|
||||
self.assertAlmostEqual(
|
||||
snapshot.p4_port3_remote_node_to_orifice_line_flow
|
||||
+ snapshot.inlet_node_to_line_flow
|
||||
+ snapshot.p4_port3_remote_node_to_resistance_flow,
|
||||
0.0,
|
||||
delta=1.0e-12,
|
||||
)
|
||||
self.assertAlmostEqual(
|
||||
snapshot.p4_port3_remote_node_to_primary_line_flow
|
||||
+ snapshot.p4_port3_remote_node_to_line_flow
|
||||
@@ -469,19 +521,14 @@ class TestMqlPn3P4NodeChamberSegmentTests(unittest.TestCase):
|
||||
0.0,
|
||||
delta=1.0e-12,
|
||||
)
|
||||
mass_derivative_sum = sum(rhs[index] for index in range(0, 38, 2))
|
||||
mass_derivative_sum = sum(rhs[index] for index in range(0, 46, 2))
|
||||
self.assertAlmostEqual(
|
||||
mass_derivative_sum,
|
||||
(
|
||||
snapshot.inlet_node_to_line_flow
|
||||
- snapshot.node_to_resistance_flow
|
||||
+ snapshot.p4_port1_remote_orifice_to_node_flow
|
||||
+ snapshot.p4_port3_remote_orifice_to_node_flow
|
||||
),
|
||||
-snapshot.p4_port3_remote_node_to_resistance_flow,
|
||||
delta=1.0e-12,
|
||||
)
|
||||
|
||||
def test_simulates_thirty_eight_state_pn3_p4_node_chamber_segment(self) -> None:
|
||||
def test_simulates_forty_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,
|
||||
@@ -496,8 +543,8 @@ class TestMqlPn3P4NodeChamberSegmentTests(unittest.TestCase):
|
||||
|
||||
self.assertTrue(solution.success)
|
||||
self.assertEqual(len(solution.t), 3)
|
||||
self.assertEqual(len(solution.y), 38)
|
||||
self.assertEqual([len(row) for row in solution.y], [3] * 38)
|
||||
self.assertEqual(len(solution.y), 46)
|
||||
self.assertEqual([len(row) for row in solution.y], [3] * 46)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
Reference in new issue
Block a user