各位小伙伴们大家好呀~。有没有小伙伴觉得有限元分析中一旦涉及接触,分析难度就大大增加呀?我想接触问题难以达到理想的收敛效果时,大家都会抓狂吧。本文剖析一下ANSYS Workbench学习中的一个接触分析经典案例,以供学习参考。
接触是一种很普通的物理现象,它是Workbench用户最频繁使用的非线性特征之一。接触可用来分析众多种类的模型,如下图1-3。典型的接触运用包括:
① 动态冲击
② 摩擦
③ 金属成型
④ 螺栓接合
⑤ 零件装配
⑥ 紧配合
⑦ 受压边界条件
⑧ 密封装置等

图1 柔性杆冲击刚性表面案例

图2 薄壁冲压案例

图3 齿轮动态接触案例
ANSYS workbench中的接触分析功能非常全面,上述分析类型和除此之外的众多分析都可以使用workbench中的接触进行模拟。
本案例为一个球体与平面的接触,如下图4所示。
图4 球体和平面的赫兹接触案例
可以看出,该问题为一个静力学分析问题,因此在workbench中采用static structural 模块进行分析,如下图所示:
图5 静力学分析模块
由于我们的模型是一个二维轴对称模型,因此在导入分析前需单击geometry,然后再右侧的属性栏中将分析改为2D,如图6。这样在后续分析才能设置二维轴对称、平面应变、平面应力分析。如果此处不更改,软件将会将这个平面识别为壳体。
图6 更改为2D分析
2D分析设置后,我们就可以在geometry模块下导入分析模型。导入模型后,双击model进入分析系统。从下图7可以看到2D behavior选项。默认为平面应力。
图7 2D behavior平面应力
由于模型为轴对称,我们将其改为轴对称,即axisymmetric。在这里需注意,ansysworkbench中二维轴对称模型软件要求对称轴必须为整体坐标系下的y轴,因此在建模时,必须以y轴为对称轴建模。
图8 更改2behavior
此分析,由于材料均采用程序默认的结构钢,因此无需设置。直接进行接触设置时,程序已经自动创建了接触对,如下图9。我们将接触行为设置为摩擦接触,摩擦系数0.2。
图9 接触行为设置
网格划分。我们知道此模型中,接触为点_线接触,在接触部位需要进行网格加密,那么这种点_线接触如何进行网格加密呢?
通常这种情况可以通过影响球(sphere of influence)区域加密,右键mesh,插入尺寸sizing,设置如下图10。将sphere radius设置为8E-3,单元尺寸设置为0.5mm。
图10 sphere of influence设置加密网格区域
网格设置。由于本接触案例为曲边与平面接触,为确保接触的收敛,可采用高阶单元更合理。因此我们将网格设置中的element midside node设置为kept。
图11 更改单元为高阶单元
网格划分结果如图12所示。
图12 网格划分结果
接触状态检查。插入接触工具,如下图13所示。对于静力学分析,接触检查主要为间隙(gap)和穿透(penetration)。间隙必须尽量小,初始穿透必须为零。可以看出,此例中接触不存在穿透,但有一个很小的间隙。间隙的存在,在静力学分析中可能在计算时存在收敛困难。因为间隙的存在会导致荷载作用下的刚体 位移,而静力学中一般不允许刚体 位移。
图13 接触状态检查
接触状态检查后,可设置边界条件。边界条件施加如下:底部固定,顶部施加1MPA压力。
图14 边界条件施加
根据上面的设置,计算结果发现,发生了穿透,表明分析时,间隙的存在(过大),分析并未建立上接触,如下图15。那软件为什么没有报错呢?原因在于ansysworkbench中默认的弱弹簧是打开的,如图16。
图16 软件弱弹簧默认是打开状态
那我们如何修改呢?
我们知道,以上问题是由间隙存在导致的。因此,在设置中,我们需消除间隙,进行adjust to touch(刚好接触)设置,设置后,接触状态如下图17。

图19 等效应力计算结果
如果想得到更准确的解,可加密网格。结果如下:
如21 平均和非平均等效应力结果
可以看出,应力结果偏差很小,可满足计算精度要求。但结果最大应力为什么不是在接触面上呢?
我们可以通过接触面的接触压力进行分析,如下图22所示,插入接触工具(contact tool),并插入接触压力选项。
图22 插入接触压力结果
可以看出在接触区域表面压力实际上是作用于接触表面的载荷。这相当于在体结构上施加了一个非均匀荷载,这并不是受力体内部的应力。而受力体内部的等效应力是体内部的状态力。
由于接触部位会发生变形,受力体在接触部位的应力会因为变形而变小,因此受力体的最大等效应力可能就不在接触部位了。
如果在分析时,接触部位网格划分不够密,压力较小时,有可能在接触部位产生最大等效应力,对于此问题求解结果就是不正确的。如下图所示。
图23 压力0.1MPa且粗网格下的结果(错误结果)
从以上分析可知,受力体内部的应力分布,实际是通过接触压力作为荷载条件计算得出的,所以接触压力的准确性,直接影响了应力结果的准确性。
那么如何确定接触压力是否准确呢?这就需要查看结算接触部位的穿透量结果。如下图所示:
图24 接触穿透量结果
理论上,穿透量应当为零,但由于是数值计算,引入了算法,这就造成穿透量不可能为零。那么应当取多大的穿透量呢?
经验上,一般穿透量结果控制在1E-8量级,可人认为结果是准确的。显然,以上结果在1E-6量级,不满足要求,那么如何修改呢?
方法一:提高穿透的容差值,即相当于控制接触收敛的容差,但提高后可能造成收敛困难,如下图所示。
图25 提高接触容差后的穿透量和接触压力
可以看出,修改容差后,穿透达到了1E-10量级,接触面最大压力达到了906MPa.
如果修改容差或调整单元大小后不收敛,怎么办?这时我们可以提高分析步的子步数量。如下图所示。
图26 提高分析子步数提高收敛性
还是不收敛,我们可以考虑提高接触法向的刚度,如下图所示。但应注意,法向刚度过高,也会引起收敛问题。如果修改法向刚度,容差还是无法到达1E-8量级,可以查看引起的接触压力,当接触压力变化很小时,可以认为接触压力是准确的。此时,可以调整网格密度大小,获取更好的结果。
好啦~,以上就是今天分享的全部内容了。关于接触分析的一些其他内容,比如软件中接触的一些理论知识,算法,接触行为等,咱们后续接聊~