DEM 配置
DEM
DEM 是球形颗粒模块 object。启用 DEM 的 solver_type 时,particle_list、group_list 和 gravity 为核心字段。
| 字段 | 类型 | 长度或范围 |
|---|---|---|
particle_list | array<ParticleEntry> | 长度 1..N。 |
group_list | array<DemGroup> | 长度 1..N。 |
gravity | Vector3 | DEM 重力。 |
fixed_body_list | array<BodyEntry> | 长度 0..N;元素见 BodyEntry。 |
boundary_body_list | array<BodyEntry> | 长度 0..N;元素见 BodyEntry。 |
initial | DemInitial | 可选预平衡阶段。 |
servo | DemServo | 可选伺服阶段。 |
time_step_rate | PositiveInt | CFD 步长相对 DEM 子步倍率。 |
write_interval_rate | PositiveInt | DEM 输出倍率。 |
start_time_value | FiniteNumber | DEM 启动时间,应位于 Time 范围内。 |
wall_list | array<DemWall> | 长度 0..N。 |
wall_expire_region | WallExpireRegion | 可选墙面失效区域。 |
Reuse_init_wall_ID | Flag01 | 是否复用 initial.wall_list。 |
Coriolis_model | CoriolisModel | 可选科里奥利模型。 |
ParticleEntry
由 insert_type 判别。
公共字段
| 字段 | 类型 | 范围 |
|---|---|---|
insert_type | string | single_particle、particle_array、file_input。 |
group_ID | IndexReference | 指向 DEM.group_list。file_input 可由文件提供。 |
rho | PositiveNumber | 颗粒密度。 |
velocity, angular_velocity | Vector3 | 当前速度和角速度。 |
init_velocity, init_angular_velocity | Vector3 | 初始速度和角速度。 |
cyclic | CyclicInsertion | 可选周期插入。 |
reset_C, reset_U, reset_W | ResetTransform | file_input 可选整体变换。 |
single_particle
| 字段 | 类型 | 范围 |
|---|---|---|
radius | PositiveNumber | 球半径。 |
position | Vector3 | 球心。 |
particle_array
| 字段 | 类型 | 长度或范围 |
|---|---|---|
x1,x2,y1,y2,z1,z2 | Box3 的字段 | 插入区域。 |
nx,ny,nz | PositiveInt | strict 模式三方向数量。 |
mode | string | strict 或 random。 |
radius_list | array<PositiveNumber> | 长度 1..N。 |
distribution_list | array<NonNegativeNumber> | 长度必须与 radius_list 相同;总和必须 >0,建议归一化为 1。 |
file_input
字段 txt_file_name 为 NonEmptyString。颗粒数量、位置、半径及属性由文件格式提供。
CyclicInsertion
| 字段 | 类型 | 范围 |
|---|---|---|
time_interval_value | PositiveNumber | 周期间隔。 |
total_iter_ID | PositiveInt | 周期次数。 |
start_time_value | FiniteNumber | 可选起始时间。 |
offset_value_list | Vector3 | 每周期空间偏移。 |
velocity_ID | Flag01 | 0=常量/偏移,1=文件定义。 |
file_name | NonEmptyString | velocity_ID=1 时必需。 |
ResetTransform
reset_C:object,仅含 Vector3center。reset_U:object,仅含 Vector3velocity。reset_W:object,仅含 Vector3angular_velocity。
DemGroup
group_list 数组下标就是可被 group_ID 引用的编号;可选的 group_ID 若写入,应等于数组下标。
基本接触与热属性
| 字段 | 类型 | 范围 |
|---|---|---|
group_ID | UInt | 可选显式编号。 |
poisson | FiniteNumber | 物理范围 -1..0.5。 |
friction, friction_wall_value | NonNegativeNumber | 摩擦系数。 |
restitution | FiniteNumber | 0..1。 |
E_modulus | PositiveNumber | 弹性模量。 |
Rigid_type_ID | UInt | 刚体类型编号。 |
penetration_ID | Flag01 | 穿透开关。 |
couple_type_ID | Integer | 当前 0..2。 |
lambda, Cp | PositiveNumber | 导热系数与比热。 |
T0 | FiniteNumber | 初始温度。 |
eps | FiniteNumber | 孔隙率,0..1。 |
k_0 | PositiveNumber | 渗透率。 |
max_thickness_value | PositiveNumber | 可选最大厚度。 |
coarse_index_value | PositiveNumber | 可选粗粒化倍率,缺省为 1。 |
可选子模型
| 字段 | 类型 | 子字段与范围 |
|---|---|---|
P_rolling_friction | object | friction_value ≥0。 |
Linear_parrallel_bond | ParallelBond | 平行黏结模型;字段拼写沿用运行时。 |
F_VanDerWaals | object | Hamaker_value、d_limit_value 为非负数。 |
F_ElectricalRepulsive | object | eps_0_value、eps_r_value、kappa_value、zeta_value、d_limit_value 均为有限数,距离/介电量应 >0。 |
F_JKR | object | gamma_value 为非负表面能。 |
ParallelBond
| 字段 | 类型 | 范围 |
|---|---|---|
kn_value, ks_value | PositiveNumber | 法向、切向刚度。 |
A_coeff_value, M_coeff_value | NonNegativeNumber | 系数。 |
stress_n_value, stress_t_value | NonNegativeNumber | 强度。 |
DemInitial
| 字段 | 类型 | 长度或范围 |
|---|---|---|
time_step | PositiveNumber | 预平衡步长。 |
total_step | PositiveInt | 总步数。 |
write_interval | PositiveInt | 输出步数间隔。 |
wall_list | array<DemWall> | 长度 0..N。 |
DemServo
| 字段 | 类型 | 范围 |
|---|---|---|
time_step | PositiveNumber | 伺服步长。 |
total_step | PositiveInt | 总步数。 |
write_interval | PositiveInt | 输出步数间隔。 |
DemWall
在 WallPlane 基础上可增加 servo_wall。
ServoWall
| 字段 | 类型 | 长度或范围 |
|---|---|---|
target_f_value | FiniteNumber | 目标力。 |
max_v_value | NonNegativeNumber | 最大速度。 |
damp_value, K_value | NonNegativeNumber | 阻尼和比例系数。 |
Delete_area_value | NonNegativeNumber | 删除区参数。 |
P1, P2, P3, P4 | Vector3 | 每个数组长度恰好 3。 |
user_define_motion | MotionFile | 可选。 |
user_define_pressure | MotionFile | 可选。 |
WallExpireRegion
字段 solid_list 为 array<WallExpireBox>,长度 1..N。WallExpireBox 含:
CoriolisModel
字段 value_list 为 Vector3,表示角速度向量,长度恰好 3。