跳到主要内容

ModelInfo.json 配置参考

本目录描述 ModelInfo.json 的当前配置契约。入口从 JSON 根对象开始,各对象类型和数组元素类型均可通过链接继续展开。

文档导航​

JSON Schema 文件布局​

  • model-info.schema.json:根对象、根字段和跨 section 条件。
  • common.schema.json:数值、字符串、通用 object 和复用项类型。
  • solver.schema.json:Solver section。
  • time.schema.json:Time section 及时间控制条件。
  • rigid-body.schema.json:Rigid_Body section 和列表元素。

源码中的多个 Schema 在构建时全部内嵌到 C++ registry,运行时通过 loader 解析 跨文件 $ref,不依赖部署目录。SDK 同时把原始文件安装到 TFluidSDK/share/schema/model-info/v1/,供 Desktop、Server 和工具复用。

约束层级​

  • 启动校验:ModelInfoValidator 在 Engine lease 和 CUDA 初始化前执行;不满足时直接拒绝启动。
  • 运行时约束:C++ 求解器读取对应模块时必须满足;某模块未启用时可不出现。
  • Desktop 约束:Desktop 参数编辑器保存前使用的输入约束。文档以 C++ 实际读取字段名为准。
  • 未注明兼容拼写时,只应写本文档给出的规范字段名。
  • 所有 JSON number 必须是有限数,不能使用 NaN 或 Infinity。

根类型:ModelInfo​

根值必须是 object。当前启动校验允许未知字段,避免破坏已发布算例;未知字段不会自动获得求解器语义。

字段必需性类型约束与说明
Version必需Version整数,当前只能为 1。
Solver必需Solver求解器、网格来源和模块开关。
Time必需Time时间范围、步长和输出间隔。
Property必需Property流体、固体和全局物性。
Boundary必需Boundary初值与边界条件列表。
Mesh条件必需MeshSolver.mesh_source == "TFluid" 时必需;OpenFOAM 网格可省略。
Scheme可选Scheme数值格式、DEM 域、激光和参考压力。
Phase可选Phase相分布初始化。
Pressure可选Pressure压力场的区域化初始化。
Velocity可选Velocity速度场的区域化初始化。
Temperature可选Temperature温度场初始化。
Porous可选Porous多孔介质参数和分区。
Tag可选Tag标签场初始化。
Wire可选Wire丝材区域及送丝参数。
Mesh_delete可选MeshDelete几何删除与浸没边界预处理。
Move_Boundary可选MoveBoundary运动边界几何。
Wave可选Wave造波与消波区域。
DEM可选DEM球形颗粒、材料组、墙面和伺服。
Rigid_Body可选RigidBody非球形刚体、固定体、连接和材料。
PFM可选PFM相场断裂参数。
Crack可选Crack初始裂纹几何。
AMG_TFluid可选AmgTFluidTFluid AMG 收敛参数。
Restart_ID可选RestartId0 或 1;缺省等价于不重启。
reuse_name_list可选ReuseNameList需要从已有结果复用的变量名数组。

文档导航​

最小配置​

{
"Version": 1,
"Solver": {"solver_type": "single_phase", "mesh_source": "TFluid"},
"Time": {
"start_time": 0,
"end_time": 1,
"time_control": "time_step",
"time_step": 0.001,
"write_interval": 0.1
},
"Mesh": {"part_list": []},
"Property": {},
"Boundary": {}
}

该示例只展示启动校验所需形状;真正运行 TFluid 网格和求解器时,Mesh.part_list、物性和边界内容还必须符合对应模块文档。