对齐PNL0002上游温度并稳定热流体闭合
This commit is contained in:
1 parent
6abcc220de
commit
0f73d5b568
5 files changed
+224
-13
No files matched your search
@@ -45,6 +45,80 @@ class AmesimPnl0002ComponentTests(unittest.TestCase):
|
||||
self.assertGreater(forward, 0.0)
|
||||
self.assertLess(reverse, 0.0)
|
||||
|
||||
def test_external_upstream_flow_uses_connected_stream_temperature(self) -> None:
|
||||
pipe = AmesimPnl0002("pnl_2", self.medium, p0=100000.0, T0=350.0)
|
||||
center = pipe.properties()
|
||||
external_pressure = 15.3e6
|
||||
external_temperature = 293.15
|
||||
external_h = self.medium.specific_enthalpy_at_pressure(
|
||||
external_pressure,
|
||||
external_temperature,
|
||||
)
|
||||
pipe.update_stream_outflows(
|
||||
{"port_1": external_h, "port_2": center.h}
|
||||
)
|
||||
|
||||
flow = pipe.port_mass_flow(
|
||||
external_pressure,
|
||||
center.p,
|
||||
center.T,
|
||||
port_name="port_1",
|
||||
)
|
||||
expected = pipe.mass_flow(
|
||||
external_pressure,
|
||||
center.p,
|
||||
external_temperature,
|
||||
)
|
||||
center_temperature_flow = pipe.mass_flow(
|
||||
external_pressure,
|
||||
center.p,
|
||||
center.T,
|
||||
)
|
||||
|
||||
self.assertAlmostEqual(flow, expected)
|
||||
self.assertNotAlmostEqual(flow, center_temperature_flow)
|
||||
|
||||
def test_missing_stream_cache_preserves_center_temperature_fallback(self) -> None:
|
||||
pipe = AmesimPnl0002("pnl_2", self.medium, p0=100000.0, T0=350.0)
|
||||
center = pipe.properties()
|
||||
external_pressure = 15.3e6
|
||||
|
||||
flow = pipe.port_mass_flow(
|
||||
external_pressure,
|
||||
center.p,
|
||||
center.T,
|
||||
port_name="port_1",
|
||||
)
|
||||
|
||||
self.assertAlmostEqual(
|
||||
flow,
|
||||
pipe.mass_flow(external_pressure, center.p, center.T),
|
||||
)
|
||||
|
||||
def test_center_upstream_flow_keeps_center_temperature(self) -> None:
|
||||
pipe = AmesimPnl0002("pnl_2", self.medium, p0=15.3e6, T0=350.0)
|
||||
center = pipe.properties()
|
||||
external_pressure = 1.0e5
|
||||
external_h = self.medium.specific_enthalpy_at_pressure(
|
||||
external_pressure,
|
||||
293.15,
|
||||
)
|
||||
pipe.update_stream_outflows(
|
||||
{"port_1": external_h, "port_2": center.h}
|
||||
)
|
||||
|
||||
flow = pipe.port_mass_flow(
|
||||
external_pressure,
|
||||
center.p,
|
||||
center.T,
|
||||
port_name="port_1",
|
||||
)
|
||||
|
||||
self.assertAlmostEqual(
|
||||
flow,
|
||||
pipe.mass_flow(external_pressure, center.p, center.T),
|
||||
)
|
||||
|
||||
def test_pressure_flow_residuals_use_two_port_resistances(self) -> None:
|
||||
pipe = AmesimPnl0002("pnl_2", self.medium, p0=100000.0, T0=293.15)
|
||||
center = pipe.properties()
|
||||
|
||||
Reference in new issue
Block a user