接触分析是有限元分析中最常见的非线性问题之一,也是很多初学者容易遇到困难的地方。很多人做接触分析时经常遇到不收敛、结果不对等问题。本文将系统介绍ANSYS中接触分析的基本概念、设置方法和常见问题的解决技巧,帮助大家更好地掌握接触分析。
一、接触分析概述
接触是一种高度非线性的状态非线性行为。当两个物体的表面接触在一起时,它们之间会传递法向压力和切向摩擦力,但不能互相穿透。接触分析的难点在于,接触区域是未知的,需要在计算过程中不断判断哪些节点接触了、哪些没有接触。
ANSYS中主要的接触类型:
- 面-面接触:最常用,适合大多数工程问题
- 点-面接触:用于点和面接触的情况
- 点-点接触:用于两个点接触的情况
二、接触对的基本概念
在ANSYS中,接触是通过接触对来模拟的。一个接触对包含一个接触面和一个目标面。
接触面(Contact):
- 一般选择较软的材料一侧
- 网格较细的一侧
- 面积较小的一侧
目标面(Target):
- 一般选择较硬的材料一侧
- 网格较粗的一侧
- 面积较大的一侧
为什么要区分接触面和目标面?
因为接触算法中,接触面的节点不能穿透目标面,而目标面的节点可以穿透接触面。如果搞反了,可能会出现穿透或者计算不收敛。
三、接触算法介绍
1. 罚函数法(Pure Penalty)
原理:当发生穿透时,施加一个接触力来抵抗穿透,力的大小等于穿透量乘以罚刚度。
优点:计算相对稳定,容易收敛
缺点:会有微小的穿透,穿透大小取决于罚刚度
适用:大多数接触问题
2. 增广拉格朗日法(Augmented Lagrange)
原理:在罚函数法的基础上增加了拉格朗日乘子项,迭代过程中不断调整接触压力。
优点:穿透更小,精度更高
缺点:计算量稍大,收敛难度稍高
适用:对精度要求较高的问题
3. 拉格朗日乘子法(Normal Lagrange)
原理:直接引入接触压力作为额外自由度,精确满足无穿透条件。
优点:穿透为零,精度最高
缺点:容易出现振荡,收敛困难
适用:特殊情况,一般不推荐
4. 多点约束法(MPC)
原理:将接触节点约束在一起,适用于绑定接触或不分离接触。
优点:计算稳定,收敛好
缺点:只能用于特定的接触类型
适用:绑定接触、不分离接触
四、接触类型
1. 绑定接触(Bonded)
两个接触面完全粘在一起,不能分离也不能滑动。
适用:焊接、粘接、过盈配合的装配等。
2. 不分离接触(No Separation)
接触面不能分离,但可以有微小的滑动。
适用:接触面始终贴合但可以有相对切向位移的情况。
3. 无摩擦接触(Frictionless)
接触面之间没有摩擦力,法向可以传递压力,切向自由滑动。
适用:光滑表面、润滑良好的接触。
4. 粗糙接触(Rough)
接触面之间摩擦力无穷大,接触后不能有相对滑动。
适用:非常粗糙的表面,完全没有滑动的情况。
5. 有摩擦接触(Frictional)
接触面之间有摩擦力,遵循库伦摩擦定律。
这是最常用也是最复杂的接触类型。
摩擦系数需要根据实际材料和表面情况确定。
五、接触分析设置技巧
1. 接触面和目标面的选择
- 软的材料做接触面,硬的做目标面
- 细网格做接触面,粗网格做目标面
- 小面做接触面,大面做目标面
- 如果材料和网格差不多,凹面做接触面,凸面做目标面
2. 接触刚度的设置
接触刚度是影响接触计算精度和收敛性的关键参数。
刚度太大:容易不收敛
刚度太小:穿透太大,结果不准
ANSYS会自动估算一个初始接触刚度,一般情况下可以用默认值。
如果不收敛,可以适当减小接触刚度;如果穿透太大,可以适当增大。
3. 穿透容差
允许的最大穿透量,一般用单元尺寸的百分比表示。
默认值一般是0.1,也就是10%的单元尺寸。
对精度要求高可以调小,但太小可能导致不收敛。
4. 接触探测方法
- 节点法:在节点处探测接触
- 积分点法:在单元积分点处探测接触,更精确
一般推荐使用积分点法,精度更高。
5. 初始接触状态
建模时要注意接触面的初始状态。
如果初始状态就有穿透,计算可能会出问题。
可以使用接触调整来消除初始穿透。
六、接触分析不收敛的常见原因及解决方法
1. 初始状态有穿透
现象:计算一开始就不收敛,或者有很大的初始力。
解决:
- 检查几何模型,确保初始状态没有穿透
- 使用接触调整(Contact Adjustment)
- 适当增大初始穿透容差
2. 接触刚度太大
现象:迭代次数多,残差降不下来。
解决:
- 减小接触刚度(Normal Stiffness)
- 可以从0.01或0.1开始试
3. 接触状态频繁变化
现象:接触状态在接触和分离之间来回跳,不收敛。
解决:
- 增加阻尼(Damping)
- 使用缓慢加载,让接触状态逐渐建立
- 适当减小时间步长
4. 摩擦导致的收敛困难
现象:有摩擦的接触比无摩擦的更难收敛。
解决:
- 先算无摩擦的,看看能不能收敛
- 摩擦系数不要设得太大
- 可以使用非对称求解器(Unsymmetric)
- 适当减小时间步长
5. 网格太粗
现象:接触应力不对,或者接触区域不对。
解决:
- 加密接触区域的网格
- 接触面上至少要有3-5层单元
- 单元大小要能捕捉接触压力的变化
七、接触分析的一般步骤
1. 建立几何模型
注意接触面的位置和形状,确保初始状态合理。
2. 划分网格
接触区域的网格要适当加密。
接触面和目标面的网格大小不要相差太大。
3. 创建接触对
选择合适的接触面和目标面。
选择合适的接触类型和算法。
4. 设置接触参数
根据需要调整接触刚度、摩擦系数等参数。
5. 施加载荷和约束
注意载荷的施加方式,避免引起刚体位移。
6. 设置分析选项
打开大变形效应(Large Deflection)。
设置合适的时间步长和子步数。
打开自动时间步。
7. 求解计算
监控求解过程,查看收敛曲线。
如果不收敛,根据提示信息调整参数。
8. 结果后处理
检查接触状态是否正确。
查看接触压力、摩擦应力等结果。
验证结果的合理性。
八、给初学者的建议
1. 从简单开始
先做简单的接触问题,比如两个块体的接触,把基本概念搞清楚。
2. 逐步增加复杂度
先算无摩擦的,再算有摩擦的。
先算小变形,再算大变形。
3. 多做对比
不同的接触算法、不同的参数设置,对比结果有什么不同。
4. 学会看输出文件
求解不收敛时,看输出文件中的提示信息,找到不收敛的原因。
5. 耐心调试
接触分析经常需要调试参数,不要因为一两次不收敛就放弃。
接触分析是有限元分析中的一个重点和难点,需要理论和实践相结合。希望本文能对大家有所帮助,也欢迎大家在评论区分享自己的接触分析经验和技巧。
|