Skip to main content

ModelInfo 公共类型

返回根类型

本文定义其他文档重复引用的公共类型。除特别说明外,object 允许模块尚未读取的额外字段,但建议只保存已定义字段。

FiniteNumber​

JSON number,必须可转换为有限的 C++ double。无额外范围时写作 (-∞, +∞);JSON 本身不能表示 NaN 和 ±Infinity。

PositiveNumber​

FiniteNumber,范围 (0, +∞)。

NonNegativeNumber​

FiniteNumber,范围 [0, +∞)。

Integer​

无小数部分的 JSON number,未单列时按 32 位有符号整数,范围 [-2147483648, 2147483647]。

UInt​

Integer,范围 [0, 2147483647]。

PositiveInt​

Integer,范围 [1, 2147483647]。

Flag01​

Integer,只能为 0 或 1。不要使用 JSON boolean 代替,除非字段明确声明为 boolean。

NonEmptyString​

JSON string,UTF-8 编码,长度至少 1。文件名是相对算例根目录的路径时,不应越出算例目录。

Vector3​

长度恰好为 3的 JSON array,每个元素都是 FiniteNumber,顺序为 [x, y, z]。

Direction3​

Vector3,三项不能同时为 0。运行时会按方向使用;建议传单位向量。

Box3​

字段类型范围
x1, x2FiniteNumberx1 < x2
y1, y2FiniteNumbery1 < y2
z1, z2FiniteNumberz1 < z2

MotionFile​

字段类型范围
velocity_IDInteger当前文件驱动模式为 1。
file_nameNonEmptyString相对算例根目录的输入文件。

同一结构也用于 user_define_power 和 user_define_pressure;字段名保留为 velocity_ID。

WallPlane​

字段类型范围
nameNonEmptyString同一列表内应唯一。
x0, y0, z0FiniteNumber平面上一点。
nx, ny, nzFiniteNumber三项不能同时为 0。
penetration_IDFlag01可选;是否允许穿透。

墙面列表是 array<WallPlane>,长度为 0..N;启用墙面接触时至少为 1。

FieldRegion​

初始化场的判别联合对象。

字段必需性类型范围
type必需stringblock、sphere、plane、cylinder、torus、hexahedron、decahedron、STL、file_input。具体模块可只支持子集。
domain条件必需object由 type 决定,见下表。
value通常必需FiniteNumber写入区域内的标量值。
init_velocity可选Vector3区域初速度。
if_reverse可选Flag01STL 内外反转。
txt_file_name文件模式必需NonEmptyStringSTL 或 file_input 的相对文件名。
user_define_motion可选MotionFile文件定义运动。
motion_ID可选Flag01区域运动开关;值为 1 时必须提供 motion_file_name。
motion_file_name条件必需NonEmptyStringmotion_ID=1 时使用的相对算例文件名。
typedomain 字段长度和范围
blockBox3六个边界有限且严格递增。
spherex0,y0,z0,radius中心为有限数,radius > 0。
planeplane_point,direction两者均为长度 3 数组;direction 非零。
cylinderx0,y0,z0,nx,ny,nz,radius,height轴向非零;radius 和 height 为正。
torusx0,y0,z0,nx,ny,nz,radius_major_value,radius_minor_value,height,main_dir_x_value,main_dir_y_value,main_dir_z_value两个半径和 height 为正,两个方向均非零。
hexahedronpoint1、point2、point3、point4、point5、point6、point7、point8每个 point 都是长度恰好为 3 的有限数数组。
decahedronpoint1、point2、point3、point4、point5、point6、point7、point8、point9、point10每个 point 都是长度恰好为 3 的有限数数组。
STLx0,y0,z0可选平移中心;文件由 txt_file_name 指定。
file_input无固定几何字段文件由 txt_file_name 指定。

BoxFieldList​

object,字段 field_list 为 array<FieldRegion>,长度 1..N。用于 Phase、Temperature、Porous、Tag 和 Wire 的分组。

ParallelBreakpoints4​

  • *_T_list:长度恰好为 4,元素为 FiniteNumber,并应严格递增。
  • *_V_list:长度恰好为 4,元素为 FiniteNumber,与对应温度数组一一对应。
  • phase_state_list:长度恰好为 4,元素只能为 0 或 1。

IndexReference​

UInt,从 0 开始。值必须小于被引用数组的实际长度。例如 Rigid_Body.*_body_list[].property_ID 必须小于 Rigid_Body.property_list.length。