feat: integrate AMESim media models and editor UI
This commit is contained in:
1 parent
3e4f466114
commit
e7177ab03e
181 files changed
+7042
-25270
No files matched your search
@@ -550,6 +550,30 @@ GET /api/components/catalog
|
||||
6. 使用 `symbol` 选择图标渲染器。
|
||||
7. 不在前端重新定义参数默认值、边界或端口语义。
|
||||
|
||||
目录协议提供以下可选的 AMESim 介质扩展字段:
|
||||
|
||||
- 参数的 `editor: "amesimGasReference"` 表示该数值不是普通连续量,而是
|
||||
项目介质定义的 `gi` 引用。前端应保留索引 `0`,并从当前画布的介质定义
|
||||
组件生成其余下拉项;索引下拉项只显示数值,不拼接介质名称或中文说明。
|
||||
- 参数的 `editor: "amesimGasPropertyModel"` 表示该参数选择介质定义内部的
|
||||
物性计算模型。参数同时提供 `options: [{"value": 0, "label": "理想气体"}]`
|
||||
一类目录数据,前端据此生成下拉栏;后续增加算法时由介质模型注册新的选项,
|
||||
前端不硬编码算法名称。
|
||||
- 模型的 `role: "amesimGasMediumDefinition"` 表示该模型是项目级介质定义。
|
||||
此类模型允许 `ports: []`,在 System XML v2 中仍按普通零端口
|
||||
`Component` 保存。
|
||||
|
||||
这些字段在目录对象中均为可选。宽松读取目录的消费者可以把未知编辑器参数
|
||||
退化为普通数值输入;按本仓库 JSON Schema 严格校验的消费者必须与后端成套
|
||||
升级,才能识别新增的 `editor` 值和 `options` 字段。正式前端必须依据目录字段
|
||||
生成控件,不能硬编码具体 AMESim 模型名。
|
||||
|
||||
`property_model` 是每种介质组件内部的稳定选项编号,不等同于 AMESim 原始
|
||||
`eosType`。例如空气组件的 `property_model=0` 表示理想气体,并映射到
|
||||
`fluidType=2/eosType=1`;氦气组件的 `property_model=0` 表示
|
||||
Peng-Robinson,并映射到 `fluidType=12/eosType=6`。编译层负责保存这种映射,
|
||||
前端只使用目录选项。
|
||||
|
||||
当前前端保留内置兜底目录,用于后端未启动时继续打开工程。兜底只是一种开发期
|
||||
容错机制,不能成为新增模型的正式注册方式;正式环境应明确提示目录加载失败。
|
||||
|
||||
@@ -603,6 +627,12 @@ System XML 中:
|
||||
- `<Port name>`:必须存在于模型的 `PORTS`。
|
||||
- `<Parameter name>`:必须存在于模型的 `PARAMETERS`。
|
||||
|
||||
介质定义组件不通过物理端口连接。编译器先收集目录角色为
|
||||
`amesimGasMediumDefinition` 的零端口组件,再解析带
|
||||
`editor="amesimGasReference"` 参数的组件引用;介质定义组件本身不进入数值
|
||||
仿真网络。System XML 语义校验会在编译前检查介质索引的整数范围、定义唯一
|
||||
性、正索引引用完整性,以及同一气动连通分量的引用一致性。
|
||||
|
||||
XML 解析器只负责结构、引用和契约校验;模型注册中心负责选择 Python 类并创建实例;
|
||||
模型自身负责方程和状态。三层职责不得混合。
|
||||
|
||||
|
||||
Reference in new issue
Block a user