同步仿真框架并接入AMESim气动组件

This commit is contained in:
huojiarong committed 2026-07-30 03:53:10 +00:00
1 parent 420bafeb4e
commit db4bdb4b70
109 files changed
+26920 -420

No files matched your search

+45
View File
@@ -0,0 +1,45 @@
from __future__ import annotations
import unittest
from app.simulation.components.amesim.boundary.sources import AmesimPnpl01
from app.simulation.core.medium import IdealGasMedium
from app.simulation.registry import COMPONENT_MODEL_REGISTRY
class AmesimPnpl01ComponentTests(unittest.TestCase):
def setUp(self) -> None:
self.medium = IdealGasMedium()
def test_default_create_preserves_zero_flow_boundary_contract(self) -> None:
source = COMPONENT_MODEL_REGISTRY["amesim_pnpl01"].create(
"plug_1",
self.medium,
{},
)
self.assertIsInstance(source, AmesimPnpl01)
self.assertEqual(set(source.ports), {"port_1"})
self.assertEqual(source.parameter_values, {})
def test_zero_flow_residual_uses_port_mass_flow(self) -> None:
source = AmesimPnpl01("plug_1")
source.port_1.m_flow = 0.125
residuals = source.pressure_flow_equation_residuals()
self.assertEqual(len(residuals), 1)
self.assertEqual(residuals[0].id, "plug_1:zero_mass_flow")
self.assertEqual(residuals[0].variables, ("plug_1.port_1.m_flow",))
self.assertEqual(residuals[0].value, 0.125)
def test_stream_outflow_tracks_connected_enthalpy_when_available(self) -> None:
source = AmesimPnpl01("plug_1")
source.update_stream_outflows({"port_1": 123.0})
self.assertEqual(source.port_1.h_outflow, 123.0)
if __name__ == "__main__":
unittest.main()