数值格式、边界与高级模块
Boundary
Boundary 必须是 object,字段 boundary_list 为 array<BoundaryField>,运行时长度至少 1。
BoundaryField
| 字段 | 类型 | 长度或范围 |
|---|---|---|
name | NonEmptyString | 字段名;当前常见 p、U、phase1、phase2、T、tag、u/F 及其分量。boundary_list 内唯一。 |
field_type | string | scalar 或 vector。 |
inner_field | FieldValue | 必须与 field_type 匹配。 |
boundary_condition_list | array<BoundaryCondition> | 长度 1..N;边界名在本字段内唯一。 |
FieldValue
- field_type=scalar:一个 FiniteNumber。
- field_type=vector:长度恰好为 3 的 Vector3。
BoundaryCondition
| 字段 | 必需性 | 类型 | 范围 |
|---|---|---|---|
name | 必需 | NonEmptyString | 必须匹配 Mesh 中产生的边界名。 |
ID | 必需 | Integer | 当前边界条件编号 0..11;具体含义由字段类型和求解模块共同决定。 |
value | 必需 | FieldValue | 必须与父 BoundaryField.field_type 匹配。 |
file_name | 文件边界必需 | NonEmptyString | 相对算例路径。 |
value_0, value_delta, value_final | 渐变边界可选 | Vector3 | 三个数组都必须恰好 3 项。 |
Scheme
Scheme 是可选 object;不存在时求解器使用内部默认数值格式。出现的子对象必须满足下表。
| 字段 | 类型 | 长度或范围 |
|---|---|---|
U | VelocityScheme | 速度离散格式。 |
MULES_ID | Flag01 | MULES 开关。 |
backflow_coeff_value | FiniteNumber | 建议 0..1。 |
drag_model_ID | UInt | 阻力模型编号。 |
IB_coeff_value | PositiveNumber | 浸没边界惩罚系数。 |
DEM_domain | Box3 | DEM 计算域。 |
Delete_DEM_domain | array<Box3> | 长度 0..N。 |
Delete_DEM_domain_couple | array<Box3> | 长度 0..N;新配置使用该完整拼写。 |
Delete_Solidfraction_domain | array<Box3> | 长度 0..N;删除固相体积分数的闭合区域。 |
AMR_region_list | array<AmrRegion> | 长度 0..N;元素见 AmrRegion。 |
if_DEM_output_viscous_force_ID | Flag01 | 是否输出 DEM 黏性力。 |
stf_mode_ID | UInt | 表面张力模式编号,缺省为 0。 |
transfer_to_phase1_ID | Flag01 | 是否把转移量计入 phase1,缺省为 0。 |
reference_pressure | ReferencePressure | 参考压力。 |
Laser_model | array<LaserModel> | 长度 1..N。 |
AmrRegion
| 字段 | 类型 | 范围 |
|---|---|---|
domain | Box3 | 六个边界有限且三轴严格递增。 |
value | FiniteNumber | 区域对应的 AMR 控制值。 |
VelocityScheme
字段 convection 为 string,当前支持 upwind 或 linear_upwind。
ReferencePressure
| 字段 | 类型 | 范围 |
|---|---|---|
reference_point_list | Vector3 | 长度恰好 3。 |
reference_pressure_value | FiniteNumber | 参考压力。 |
LaserModel
| 字段 | 类型 | 范围 |
|---|---|---|
x0,y0,z0 | FiniteNumber | 初始位置。 |
nx,ny,nz | FiniteNumber | 方向,三项不能同时为 0。 |
radius | PositiveNumber | 光斑半径。 |
power_value | NonNegativeNumber | 功率。 |
vx_value,vy_value,vz_value | FiniteNumber | 移动速度。 |
epsilon_value | FiniteNumber | 吸收率,建议 0..1。 |
refe_index_value | PositiveNumber | 折射系数。 |
heatCoeff_solid_value | NonNegativeNumber | 固体换热系数。 |
number_ID | PositiveInt | 光线或采样数量。 |
ray_tracing_ID | UInt | 光线追踪模型编号。 |
write_laser_ID | boolean | 可选;是否输出激光数据。 |
user_define_motion | MotionFile | 可选。 |
user_define_power | MotionFile | 可选。 |
user_define_pressure | MotionFile | 可选。 |
PFM
PFM 为相场断裂参数 object。
| 字段 | 类型 | 长度或范围 |
|---|---|---|
biot_coeff_value | FiniteNumber | Biot 系数,物理上通常 0..1。 |
drag_coeff_value | NonNegativeNumber | 阻力系数。 |
GAir_by_Gliquid_value | PositiveNumber | 气/液断裂能比;这是 C++ 实际读取的规范拼写。 |
GII_by_GI_value | NonNegativeNumber | II/I 型断裂能比。 |
AMR_threshold_value | FiniteNumber | 建议 0..1。 |
start_couple_time_value | FiniteNumber | 可选耦合开始时间,应位于 Time.start_time..Time.end_time。 |
Output_point_P | boolean | 是否在 Desktop 中启用测点输出。 |
Output_point_P_step | PositiveNumber | 测点输出间隔。 |
Output_point_P_list | array<PressurePoint> | 长度 0..N;启用输出时至少 1。 |
PressurePoint 只有字段 point_value_list,类型为 Vector3,长度恰好 3。
Crack
| 字段 | 类型 | 长度 |
|---|---|---|
initial_crack_list | array<InitialCrack> | 1..N。 |
InitialCrack 的 field_list 为 array<CrackSegment>,长度 1..N。每个 CrackSegment:
| 字段 | 类型 | 约束 |
|---|---|---|
point1, point2 | Point3Object | 两点不能完全相同。 |
Point3Object
object,字段 x、y、z 均为 FiniteNumber。
AmgTFluid
根字段名为 AMG_TFluid。
| 字段 | 类型 | 范围 |
|---|---|---|
max_iter_ID | PositiveInt | 最大迭代次数。 |
tolerance_value | PositiveNumber | 收敛容差。 |
RestartId
Flag01。0=从初始条件启动,1=从已有结果重启;使用 1 时结果目录和时间信息必须完整。缺省按 0 处理。
ReuseNameList
根字段 reuse_name_list 是 array<ReuseName>,长度 0..N。每个元素必须是 object,且只包含运行时需要的变量名:
| 字段 | 类型 | 范围 |
|---|---|---|
variable_name | NonEmptyString | 要从已有结果复用的变量名称;同一数组内不应重复。 |