对齐PNL0002上游温度并稳定热流体闭合

This commit is contained in:
huojiarong committed 2026-08-11 07:12:52 +00:00
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()