实现test_mql PNL0002管路动态
This commit is contained in:
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(
|
||||
|
||||
Reference in new issue
Block a user