perf: retain exact flow caches and compiled targets

This commit is contained in:
Codex committed 2026-08-16 11:21:44 +00:00
1 parent f09dfcf542
commit 22b35b2945
7 files changed
+138 -21

No files matched your search

@@ -320,6 +320,38 @@ class AmesimPnl0003ComponentTests(unittest.TestCase):
self.assertLess(abs(above - below), abs(above) * 0.05)
self.assertEqual(equal, 0.0)
def test_exact_repeated_center_flow_inversion_is_cached(self) -> None:
pipe = AmesimPnl0003("pnl_3", self.medium)
pipe._mass_flow_for_pressure_drop.cache_clear()
first = pipe._mass_flow_for_pressure_drop(
1000.0,
density=1.2,
temperature=300.0,
)
after_first = pipe._mass_flow_for_pressure_drop.cache_info()
second = pipe._mass_flow_for_pressure_drop(
1000.0,
density=1.2,
temperature=300.0,
)
after_second = pipe._mass_flow_for_pressure_drop.cache_info()
changed_temperature = pipe._mass_flow_for_pressure_drop(
1000.0,
density=1.2,
temperature=400.0,
)
after_temperature_change = pipe._mass_flow_for_pressure_drop.cache_info()
self.assertEqual(first, second)
self.assertEqual(after_first.misses, 1)
self.assertEqual(after_second.hits, after_first.hits + 1)
self.assertNotEqual(changed_temperature, second)
self.assertEqual(
after_temperature_change.misses,
after_second.misses + 1,
)
def test_pressure_flow_residuals_bind_both_port_pressures_to_states(self) -> None:
pipe = AmesimPnl0003("pnl_3", self.medium)
pipe.properties_1()