跳到主要内容

网格与几何配置

返回根类型 · 公共类型

Mesh​

当 Solver.mesh_source 为 TFluid 时,Mesh 必须是 object。

字段必需性类型长度或范围
part_list运行必需array<MeshPart>长度 1..N;Desktop 允许动态增删,C++ 运行至少需要一个网格块。
Auto_Decompose可选AutoDecompose自动分区设置。

MeshPart​

字段类型约束
typestringblock 或 ring。
domainMeshDomain由 type 决定。
mesh_numberMeshNumber三方向单元数。
boundaryMeshBoundary各面的非空边界名。
distributionMeshDistribution各面的加密设置。

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:

字段类型范围
ratioPositiveNumber网格尺寸比;均匀网格为 1。
numberUInt受分布控制的层数;0 表示不额外加密。

AutoDecompose​

字段类型范围
x_number, y_number, z_numberPositiveInt三方向分区数。
inner_boundary_nameNonEmptyString自动生成的内部边界名。

MeshDelete​

根字段名为 Mesh_delete,值为 object。

字段类型长度或范围
solid_listarray<MeshDeleteSolid>长度 1..N。
boundary_layerUInt可选;保留或生成的边界层数。

MeshDeleteSolid​

公共字段:

字段类型范围
typestringcylinder、cylinder_Array、plane、stl。
treatmentstring当前支持 delete。
boundary_typeNonEmptyString新边界名称,不能与待处理输入含义冲突。
if_reverseFlag01内外反转。

按 type 的条件字段:

type必需字段类型和范围
cylinderboundary_thick,radius,height,bottom_center,directionboundary_thick ≥ 0;radius、height > 0;bottom_center 为 Vector3;direction 为 Direction3。
cylinder_Arraycylinder 全部字段,加 dx,dy,dz,nx,ny,nzdx/dy/dz 为有限间距;nx/ny/nz 为 PositiveInt。
planeboundary_thick,plane_point,directionboundary_thick ≥ 0;两个向量长度恰好为 3,direction 非零。
stlfile_name,center,boundary_ID,retained_layer_IDfile_name 非空;center 为 Vector3;boundary_ID 为 0 或 1;retained_layer_ID 为 UInt。

MoveBoundary​

根字段名为 Move_Boundary,字段 solid_list 是 array<MoveBoundarySolid>,长度 1..N。

MoveBoundarySolid​

字段必需性类型范围
type_ID必需Integer0=长方体,1=圆柱,2=STL。
boundary_type必需NonEmptyString运动边界名。
user_define_motion可选MotionFile文件定义运动。
reset_C.center可选Vector3重置中心。
reset_U.velocity可选Vector3重置线速度。
reset_W.angular_velocity可选Vector3重置角速度。

type_ID 条件字段:

  • 0:完整 Box3。
  • 1:radius、height 为正数,bottom_center 为 Vector3,direction 为 Direction3。
  • 2:file_name 非空,center 为 Vector3,if_reverse 为 Flag01,solid_Hash_value 为正数。

Wave​

object,可包含 generate 和 eliminate 两个 object。

Wave.generate​

字段 solid_list 为 array<WaveGenerator>,长度 1..N。

WaveGenerator 字段类型范围
type_IDInteger当前值 0。
x1,x2,y1,y2,z1,z2Box3 的字段三轴严格递增。
velocity_IDInteger1=单幅正弦波,2=双幅 Stokes 波。
magnititude_valueNonNegativeNumber波幅;字段名沿用运行时拼写。
magnititude1_value, magnititude2_valueNonNegativeNumbervelocity_ID=2 时必需的两级波幅;字段名沿用运行时拼写。
wave_frequency_valuePositiveNumber波频率。

Wave.eliminate​

字段 solid_list 为 array<WaveEliminator>,长度 1..N。

WaveEliminator 字段类型范围
type_IDInteger当前值 0。
x1,x2,y1,y2,z1,z2Box3 的字段三轴严格递增。
dir_IDUInt消波方向编号。
elimination_coeff_valueNonNegativeNumber消波系数。