前端进度条性能优化、仿真结束后后处理优化;后端C代码生成流程优化:先识别来源,再按照已知未知量需求排序,最后局部求解

This commit is contained in:
ljz committed 2026-09-11 11:27:54 +08:00
1 parent 0dcb465d84
commit 91bd9fb252
77 files changed
+11223 -551

No files matched your search

+11
View File
@@ -24,6 +24,7 @@ from app.simulation.core.metadata import (
)
from app.simulation.core.medium import GasMedium, IdealGasMedium
from app.simulation.core.ports import PortDefinition, PortVariableDefinition
from app.simulation.core.port_computation import PortComputation
ParameterSpec = ParameterDefinition
@@ -877,8 +878,18 @@ def validate_component_model_class(
f"Component '{model_type}' RESULT_VARIABLES must be a tuple."
)
port_by_name = {port.name: port for port in ports if isinstance(port, PortDefinition)}
for port in ports:
_validate_port(port, model_type=model_type)
contract = port.computation
if contract is not None:
if port.domain != 'pneumatic' or not isinstance(contract, PortComputation):
raise ValueError(f"Component '{model_type}' has an invalid pneumatic computation contract.")
if contract.reference_port:
reference = port_by_name.get(contract.reference_port)
if (reference is None or reference.computation is None
or not {'p', 'T'}.issubset(reference.computation.inputs)):
raise ValueError(f"Component '{model_type}.{port.name}' must alias a pressure/temperature input port.")
for parameter in parameters:
_validate_parameter(parameter, model_type=model_type)
for variable in result_variables: