对齐Amesim氦气PR物性与PNVO流量

This commit is contained in:
huojiarong committed 2026-08-03 15:34:33 +00:00
1 parent 18d9802f03
commit 046aa49814
13 files changed
+730 -73

No files matched your search

@@ -16,6 +16,7 @@ from app.simulation.components.experimental.storage.tank import Tank
from app.simulation.core.medium import IdealGasMedium
from app.simulation.core.state import VolumeState
from app.simulation.solvers.algebraic import AlgebraicSolveError, PressureFlowSolver
from app.simulation.systems.generic import GenericFluidSystem
from app.simulation.systems.network import SimulationNetwork
@@ -59,10 +60,40 @@ class PressureFlowSolverInitializationTests(unittest.TestCase):
mass = medium.density(pressure, temperature) * component.V
component.state = VolumeState(
m=mass,
U=mass * medium.specific_internal_energy(temperature),
U=mass
* medium.specific_internal_energy_at_pressure(
pressure,
temperature,
),
)
component.refresh_thermodynamic_ports()
def test_stream_enthalpy_refreshes_explicit_orifice_flow(self) -> None:
network, medium, high, low, valve = self._near_equal_pressure_network()
self._set_pressure_temperature(
high,
medium,
15_201_996.778497815,
292.3997890954483,
)
self._set_pressure_temperature(
low,
medium,
405_072.8123335606,
393.46713105173205,
)
system = GenericFluidSystem(network)
system.consistent_initial_state_vector()
self.assertLess(valve._connected_h["port_2"], 0.0)
self.assertAlmostEqual(
valve.port_2.m_flow,
valve.mass_flow(valve.port_2.p, valve.port_3.p),
places=12,
)
self.assertAlmostEqual(valve.port_3.m_flow, -valve.port_2.m_flow, places=12)
def test_current_storage_pressure_reseeds_stale_orifice_ports_and_flow(self) -> None:
network, medium, high, low, valve = self._near_equal_pressure_network()
solver = PressureFlowSolver(network, max_evaluations=10)