刚体#
关键字:
*RIGID BODY
参考示例:
刚体定义#
1. 刚体的定义方式
刚体通过节点或单元定义
NSET
: 定义由节点集中的节点组成的刚体ELSET
: 定义由单元集中的单元组成的刚体(刚体由属于这些单元的节点组成)
2. 自由度
刚体内节点之间的距离始终保持不变,因此
自由度减少到六个:三个平移自由度和三个旋转自由度
运动简化为参考节点的平移和围绕旋转节点的旋转
3. 参考节点(REF NODE
)
参考节点承载刚体的平移自由度,其位移量直接传递到刚体节点。参考节点上定义力
使用
REF NODE
参数指定参考节点编号,在*NODE
中为其分配坐标参考节点可以属于刚体,但并非一定。若参考节点属于刚体,则
*NODE PRINT
卡片打印的力将不正确默认采用全局坐标系的原点(默认)
4. 旋转节点(ROT NODE
)
旋转节点承载刚体的旋转自由度,但通过平移自由度表征(即平移自由度的值分别是绕旋转节点轴的 \(x,y,z\) 轴的旋转角度),通过映射计算刚体节点的位移。旋转节点上定义力矩
使用
ROT NODE
明确定义旋转节点,必须分配坐标值(占位),并且不属于任何单元显式定义节点可以在特定点进行旋转,例如使用
*BOUNDARY
或*CLOAD
来定义旋转
5. 非线性多点约束(NL-MPC)
非线性多点约束是一种通过数学方程强制定义不同节点间位移关系的数值方法。在刚体建模中,其核心目标是确保所有节点在运动过程中保持相对位置和姿态的固定,从而有效模拟刚体的不可变形特性
如果刚体节点位于一条直线上,则围绕该线的刚体旋转无法定义,并会导致错误。因此,需要通过 *EQUATION
卡片指定绕该轴的旋转为零,以消除旋转自由度。例如,如果 \(\mathbf{a}\) 是轴的单位法向量,\(\mathbf{u}_{r}\) 是旋转节点的位移,此时 MPC 形式为 \(\mathbf{a}\cdot \mathbf{u}_{r} = 0\)
示例#
** 刚体定义
*RIGID BODY, NSET=rigid, REF NODE=100, ROT NODE=101
** 约束施加
*CLOAD
101,3,0.1 // 定义了一个大小为 0.1 的力矩,作用在 101 节点上,绕 z 轴旋转
*boundary
101,2,2,1.57 // 对 Nrot 点集的第 2 个自由度施加 1.57 的变化(绕 y 轴旋转 90°)
** 材料属性定义
*material, name=property // 定义材料属性 property
*elastic // 弹性属性
210000,0.3 // 弹性模量为 210000,泊松比为 0.3
** 材料属性赋予
*solid section, elset=rigid, material=property // 分配属性 property 给 rigid
Note
在 CCX 中,需要对刚体赋予属性值,以满足数据结构的一致性,但这些值不会对计算产生任何影响