跳到主要内容

Rigid_Body 配置

返回根类型 · 公共类型 · DEM 公共材料与墙面

RigidBody​

根字段名为 Rigid_Body,值为 object。

字段类型长度或范围
rigid_body_listarray<BodyEntry>长度 0..N;自由刚体。
fixed_body_listarray<BodyEntry>长度 0..N;固定或给定运动刚体。
boundary_body_listarray<BodyEntry>长度 0..N;边界刚体。
property_listarray<RigidProperty>长度 1..N;被 property_ID 引用。
connect_listarray<RigidConnection>长度 0..N。
vertex_motionVertexMotion可选顶点运动文件。
initialRigidInitial可选预平衡阶段。
servoRigidServo可选伺服阶段。
time_step_CFD_to_RigidPositiveIntCFD 到刚体的子步倍率。
write_interval_CFD_to_RigidPositiveInt刚体输出倍率。
wall_listarray<DemWall>长度 0..N;元素见 DemWall。
wall_expire_regionRigidWallExpireRegion可选。

BodyEntry​

由 type 判别。rigid_body_list 支持全部三种;fixed_body_list 支持全部三种;boundary_body_list 当前通常使用 single_particle。

公共几何和状态字段​

字段必需性类型范围
type必需stringsingle_particle、particle_array、file_input。
file_name非文件列表模式必需NonEmptyStringSTL 几何文件。
shape_ID非文件列表模式必需UInt当前形状编号 0..5。
property_ID非文件列表模式必需IndexReference必须小于 property_list.length。
scale非文件列表模式必需PositiveNumberSTL 缩放。
density非文件列表模式必需NonNegativeNumber自由体应 >0;边界体可为 0。
velocity, angular_velocity非文件列表模式必需Vector3当前线速度、角速度。
init_velocity, init_angular_velocity非文件列表模式必需Vector3初始线速度、角速度。
if_dynamic可选Flag01fixed_body_list 动态更新开关。
user_define_motion可选MotionFilefixed_body_list 文件运动。

single_particle​

增加 center:Vector3,长度恰好 3。

particle_array​

字段类型范围
x1,x2,y1,y2,z1,z2Box3 的字段阵列区域。
nx,ny,nzPositiveInt三方向数量。
modestring当前为 random;运行时也接受 strict 分支。
cyclicCyclicInsertion可选。

file_input​

字段 txt_file_name 为 NonEmptyString。文件提供刚体列表及其几何/状态;此分支可以不写 property_ID,这也是启动校验保留的已发布格式。

RigidProperty​

数组下标就是 property_ID。字段与 DemGroup 的基本材料子集一致:

字段类型范围
poissonFiniteNumber物理范围 -1..0.5。
friction, friction_wall_valueNonNegativeNumber摩擦系数。
restitutionFiniteNumber0..1。
E_modulusPositiveNumber弹性模量。
Rigid_type_IDUInt当前 0..1。
penetration_IDFlag01穿透开关。
couple_type_IDInteger当前 0..2。
lambda, CpPositiveNumber热属性。
T0FiniteNumber初始温度。
epsFiniteNumber0..1。
k_0PositiveNumber渗透率。
max_thickness_valuePositiveNumber可选最大厚度。
coarse_particleCoarseParticle可选粗粒化参数。

CoarseParticle​

object,仅含 coarse_index_value:PositiveNumber,粗粒化倍率,缺省为 1。

RigidConnection​

字段类型长度或范围
STL_one_IDIndexReference第一个刚体索引。
STL_two_IDInteger第二个刚体索引;-1 表示连接到世界,其余必须是有效索引。
P_one_list, P_two_listVector3每个数组长度恰好 3。
type_IDFlag01当前连接类型 0 或 1。
stiffnessPositiveNumber连接刚度。
lengthFiniteNumber可选;-1 表示自动长度,否则必须 >0。

VertexMotion​

object,仅含 file_name:NonEmptyString,相对算例根目录。

RigidInitial​

结构与 DemInitial 相同:

字段类型范围
time_stepPositiveNumber预平衡步长。
total_stepPositiveInt总步数。
write_intervalPositiveInt输出步数间隔。
wall_listarray<WallPlane>长度 0..N,元素见 WallPlane。

RigidServo​

结构与 DemServo 相同:time_step 为正数,total_step 和 write_interval 为正整数。

RigidWallExpireRegion​

C++ 运行时形状为 object,字段 solid_list 是 array<ExpireSolid>,长度 1..N。

ExpireSolid 公共字段:

字段类型范围
type_IDInteger0=长方体,1=圆柱,2=文件/复杂区域。
user_define_motionMotionFile可选运动区域。
  • type_ID=0:完整 Box3。
  • type_ID=1:radius、height 为正数,bottom_center 为 Vector3,direction 为 Direction3。
  • type_ID=2:由运行时文件驱动规则提供边界变化数据;file_name 必须非空。