网格与几何配置
Mesh
当 Solver.mesh_source 为 TFluid 时,Mesh 必须是 object。
| 字段 | 必需性 | 类型 | 长度或范围 |
|---|---|---|---|
part_list | 运行必需 | array<MeshPart> | 长度 1..N;Desktop 允许动态增删,C++ 运行至少需要一个网格块。 |
Auto_Decompose | 可选 | AutoDecompose | 自动分区设置。 |
MeshPart
| 字段 | 类型 | 约束 |
|---|---|---|
type | string | block 或 ring。 |
domain | MeshDomain | 由 type 决定。 |
mesh_number | MeshNumber | 三方向单元数。 |
boundary | MeshBoundary | 各面的非空边界名。 |
distribution | MeshDistribution | 各面的加密设置。 |
MeshDomain
- block:使用 Box3。
- ring:字段
radius_in_value、radius_out_value、height均为正数,且radius_in_value < radius_out_value。
MeshNumber
字段 x_number、y_number、z_number 均为 PositiveInt。block 和 ring 都固定包含这三个字段。
MeshBoundary
每个值均为 NonEmptyString,表示边界集合名称:
- block 固定字段:
left、right、front、back、bottom、top。 - ring 固定字段:
inner、outer,并按网格实现使用 top/bottom。 - 同名面会归入同一边界;
bind用于块间连接。名称没有固定长度上限,但不得为空。
MeshDistribution
对象键与 MeshBoundary 的面键一致。每个值为 DistributionSide:
| 字段 | 类型 | 范围 |
|---|---|---|
ratio | PositiveNumber | 网格尺寸比;均匀网格为 1。 |
number | UInt | 受分布控制的层数;0 表示不额外加密。 |
AutoDecompose
| 字段 | 类型 | 范围 |
|---|---|---|
x_number, y_number, z_number | PositiveInt | 三方向分区数。 |
inner_boundary_name | NonEmptyString | 自动生成的内部边界名。 |
MeshDelete
根字段名为 Mesh_delete,值为 object。
| 字段 | 类型 | 长度或范围 |
|---|---|---|
solid_list | array<MeshDeleteSolid> | 长度 1..N。 |
boundary_layer | UInt | 可选;保留或生成的边界层数。 |
MeshDeleteSolid
公共字段:
| 字段 | 类型 | 范围 |
|---|---|---|
type | string | cylinder、cylinder_Array、plane、stl。 |
treatment | string | 当前支持 delete。 |
boundary_type | NonEmptyString | 新边界名称,不能与待处理输入含义冲突。 |
if_reverse | Flag01 | 内外反转。 |
按 type 的条件字段:
| type | 必需字段 | 类型和范围 |
|---|---|---|
| cylinder | boundary_thick,radius,height,bottom_center,direction | boundary_thick ≥ 0;radius、height > 0;bottom_center 为 Vector3;direction 为 |