补充test_mql气动支路配置接口
This commit is contained in:
1 parent
2cea81739e
commit
95ebca89f6
3 files changed
+102
No files matched your search
@@ -3896,6 +3896,34 @@ class TestMqlSystem:
|
||||
def pneumatic_state_vector(self) -> list[float]:
|
||||
return self.network.initial_state_vector()
|
||||
|
||||
@staticmethod
|
||||
def pneumatic_branch_spec(
|
||||
*,
|
||||
name: str,
|
||||
upstream_volume_alias: str,
|
||||
orifice_alias: str,
|
||||
downstream_volume_alias: str,
|
||||
source: str = "manual",
|
||||
):
|
||||
from PythonModels.systems.test_mql_closure import TestMqlPneumaticBranchSpec
|
||||
|
||||
return TestMqlPneumaticBranchSpec(
|
||||
name=name,
|
||||
upstream_volume_alias=upstream_volume_alias,
|
||||
orifice_alias=orifice_alias,
|
||||
downstream_volume_alias=downstream_volume_alias,
|
||||
source=source,
|
||||
)
|
||||
|
||||
def pneumatic_branch_closure_from_spec(self, spec):
|
||||
return self.pneumatic_branch_closure(
|
||||
name=spec.name,
|
||||
upstream_volume_alias=spec.upstream_volume_alias,
|
||||
orifice_alias=spec.orifice_alias,
|
||||
downstream_volume_alias=spec.downstream_volume_alias,
|
||||
spec=spec,
|
||||
)
|
||||
|
||||
def pneumatic_branch_closure(
|
||||
self,
|
||||
*,
|
||||
@@ -3903,6 +3931,7 @@ class TestMqlSystem:
|
||||
upstream_volume_alias: str,
|
||||
orifice_alias: str,
|
||||
downstream_volume_alias: str,
|
||||
spec=None,
|
||||
):
|
||||
from PythonModels.components.amesim_pneumatic import (
|
||||
AmesimPneumaticOrifice,
|
||||
@@ -3910,6 +3939,7 @@ class TestMqlSystem:
|
||||
)
|
||||
from PythonModels.systems.test_mql_closure import (
|
||||
TestMqlPneumaticBranchComponents,
|
||||
TestMqlPneumaticBranchSpec,
|
||||
TestMqlPneumaticClosure,
|
||||
)
|
||||
|
||||
@@ -3935,12 +3965,19 @@ class TestMqlSystem:
|
||||
upstream_volume.set_state_vector(values[:2])
|
||||
downstream_volume.set_state_vector(values[2:])
|
||||
|
||||
branch_spec = spec or TestMqlPneumaticBranchSpec(
|
||||
name=name,
|
||||
upstream_volume_alias=upstream_volume_alias,
|
||||
orifice_alias=orifice_alias,
|
||||
downstream_volume_alias=downstream_volume_alias,
|
||||
)
|
||||
return TestMqlPneumaticClosure(
|
||||
components=TestMqlPneumaticBranchComponents(
|
||||
name=name,
|
||||
upstream_volume=upstream_volume,
|
||||
orifice=orifice,
|
||||
downstream_volume=downstream_volume,
|
||||
spec=branch_spec,
|
||||
),
|
||||
initial_state_vector=initial_state_vector,
|
||||
apply_state_vector=apply_state_vector,
|
||||
@@ -3970,6 +4007,35 @@ class TestMqlSystem:
|
||||
t_eval=t_eval,
|
||||
)
|
||||
|
||||
def simulate_pneumatic_branch_from_spec(
|
||||
self,
|
||||
spec,
|
||||
*,
|
||||
config: SolveIVPConfig | None = None,
|
||||
t_eval: list[float] | None = None,
|
||||
):
|
||||
return self.simulate_pneumatic_branch(
|
||||
name=spec.name,
|
||||
upstream_volume_alias=spec.upstream_volume_alias,
|
||||
orifice_alias=spec.orifice_alias,
|
||||
downstream_volume_alias=spec.downstream_volume_alias,
|
||||
config=config,
|
||||
t_eval=t_eval,
|
||||
)
|
||||
|
||||
def evaluate_pneumatic_branch_solution_from_spec(
|
||||
self,
|
||||
solution: object,
|
||||
spec,
|
||||
) -> dict[str, list[float]]:
|
||||
return self.evaluate_pneumatic_branch_solution(
|
||||
solution,
|
||||
name=spec.name,
|
||||
upstream_volume_alias=spec.upstream_volume_alias,
|
||||
orifice_alias=spec.orifice_alias,
|
||||
downstream_volume_alias=spec.downstream_volume_alias,
|
||||
)
|
||||
|
||||
def evaluate_pneumatic_branch_solution(
|
||||
self,
|
||||
solution: object,
|
||||
|
||||
Reference in new issue
Block a user