ModelInfo v1 JSON Schema 结构参考
本页由 schemas/model-info/v1/*.schema.json 自动生成,记录 C++、Desktop、Server 和工具可共同使用的机器可读结构契约。物理意义、单位和模块细节仍以其他手写分册为准。
JSON Schema 负责类型、required、enum、数组元素和局部范围。跨字段大小关系、数组索引引用、文件存在性以及 GPU/运行环境条件由 C++ ModelInfoValidator 校验。
根对象
TFluid 算例的根结构契约。各核心 section 由同目录的独立 Schema 定义。
| 字段 | 必需性 | 类型 | 结构约束 | 说明 |
|---|---|---|---|---|
Version | 必需 | integer,固定值 1 | — | ModelInfo 格式版本。 |
Solver | 必需 | Solver | — | — |
Time | 必需 | Time | — | — |
Property | 必需 | ObjectSection | — | — |
Boundary | 必需 | ObjectSection | — | — |
Mesh | 条件必需 | ObjectSection | — | — |
Scheme | 可选 | ObjectSection | — | — |
Phase | 可选 | ObjectSection | — | — |
Pressure | 可选 | ObjectSection | — | — |
Velocity | 可选 | ObjectSection | — | — |
Temperature | 可选 | ObjectSection | — | — |
Porous | 可选 | ObjectSection | — | — |
Tag | 可选 | ObjectSection | — | — |
Wire | 可选 | ObjectSection | — | — |
Mesh_delete | 可选 | ObjectSection | — | — |
Move_Boundary | 可选 | ObjectSection | — | — |
Wave | 可选 | ObjectSection | — | — |
DEM | 可选 | ObjectSection | — | — |
Rigid_Body | 可选 | RigidBody | — | — |
PFM | 可选 | ObjectSection | — | — |
Crack | 可选 | ObjectSection | — | — |
AMG_TFluid | 可选 | ObjectSection | — | — |
Restart_ID | 可选 | integer:0、1 | — | 0=从初始条件启动,1=复用已有结果。 |
reuse_name_list | 可选 | array<ReuseName> | — | 从已有结果复用的变量名称。 |
FiniteNumber
有限 JSON number。
| 类型 | 结构约束 |
|---|---|
number | ≥ -1.7976931348623157e+308;≤ 1.7976931348623157e+308 |
PositiveNumber
严格大于 0 的有限 JSON number。
| 类型 | 结构约束 |
|---|---|
| FiniteNumber | > 0 |
NonEmptyString
至少包含一个字符的 JSON string。
| 类型 | 结构约束 |
|---|---|
string | 长度 ≥ 1 |
ObjectSection
由对应求解模块继续解释的 object。
| 类型 | 结构约束 |
|---|---|
object | — |
ReuseName
| 字段 | 必需性 | 类型 | 结构约束 | 说明 |
|---|---|---|---|---|
variable_name | 必需 | NonEmptyString | — | — |
Solver
求解器类型、网格来源和模块开关。
| 字段 | 必需性 | 类型 | 结构约束 | 说明 |
|---|---|---|---|---|
solver_type | 必需 | NonEmptyString | — | — |
mesh_source | 必需 | string:TFluid、OpenFOAM、openfoam | — | TFluid 内建网格或 OpenFOAM 网格。openfoam 是已发布算例兼容拼写。 |
Time
时间范围、时间步控制和结果输出间隔。
| 字段 | 必需性 | 类型 | 结构约束 | 说明 |
|---|---|---|---|---|
start_time | 必需 | FiniteNumber | — | — |
end_time | 必需 | FiniteNumber | — | — |
time_control | 必需 | string:time_step、courant_number、Courant_number、file_input | — | — |
time_step | 必需 | PositiveNumber | — | — |
write_interval | 必需 | PositiveNumber | — | — |
courant_number | 可选 | PositiveNumber | — | — |
file_name | 可选 | NonEmptyString | — | — |
RigidBody
非球形刚体、固定体、边界体和材料列表。
| 字段 | 必需性 | 类型 | 结构约束 | 说明 |
|---|---|---|---|---|
property_list | 可选 | array<object> | — | — |
rigid_body_list | 可选 | RigidBodyEntryList | — | — |
fixed_body_list | 可选 | RigidBodyEntryList | — | — |
boundary_body_list | 可选 | RigidBodyEntryList | — | — |
RigidBodyEntry
刚体列表元素;property_ID 的数组上界由 C++ 语义校验。
| 字段 | 必需性 | 类型 | 结构约束 | 说明 |
|---|---|---|---|---|
property_ID | 可选 | integer | ≥ 0 | — |
RigidBodyEntryList
| 类型 | 结构约束 |
|---|---|
| array<RigidBodyEntry> | — |