实现test_mql PNL0002管路动态

This commit is contained in:
huojiarong committed 2026-07-17 09:38:32 +00:00
1 parent 7569917924
commit a071896834
6 files changed
+492

No files matched your search

@@ -3,11 +3,59 @@ from __future__ import annotations
import unittest
from PythonModels.components.amesim_pneumatic_line import (
AmesimPnl0002Pipe,
AmesimPnl0003Pipe,
AmesimPnl00rPipe,
)
class AmesimPnl0002PipeTests(unittest.TestCase):
def setUp(self) -> None:
self.pipe = AmesimPnl0002Pipe(
name="pneumatic_86",
diameter_mm=20.0,
length_m=2.0,
relative_roughness=0.045 / 20.0,
pctr_0=100_000.0,
Tctr_0=293.15,
)
def test_initial_state_uses_center_compliance(self) -> None:
properties = self.pipe.properties()
self.assertAlmostEqual(self.pipe.volume, 6.283185307179586e-4)
self.assertEqual(len(self.pipe.get_state_vector()), 2)
self.assertAlmostEqual(properties.p, 100_000.0, delta=1.0e-6)
self.assertAlmostEqual(properties.T, 293.15)
self.assertAlmostEqual(self.pipe.port_1.p, properties.p)
self.assertAlmostEqual(self.pipe.port_2.p, properties.p)
def test_port_flow_enters_center_from_higher_external_pressure(self) -> None:
forward = self.pipe.port_mass_flow(
port_pressure_pa=101_000.0,
port_temperature_k=293.15,
)
reverse = self.pipe.port_mass_flow(
port_pressure_pa=99_000.0,
port_temperature_k=293.15,
)
self.assertGreater(forward, 0.0)
self.assertLess(reverse, 0.0)
def test_connection_derivatives_conserve_two_external_port_flows(self) -> None:
properties = self.pipe.properties()
derivative = self.pipe.derivatives_from_connections(
port_1_m_flow=0.2,
connected_h_1=properties.h + 1000.0,
port_2_m_flow=-0.1,
connected_h_2=properties.h - 1000.0,
)
self.assertAlmostEqual(derivative.m, 0.1)
class AmesimPnl0003PipeTests(unittest.TestCase):
def setUp(self) -> None:
self.pipe = AmesimPnl0003Pipe(