Tied接触的失败
Tied接触的失败是什么
老师,我用Tied contact把零件结合在一起,但施加荷载后它就剥落了。
Tied接触失败的理论基础
Tied接触的物理意义和公式
Tied接触就像用粘合剂把零件粘在一起这样的概念吗?
比粘合剂强得多,在数学上更接近"约束条件"。它使主从面对应的节点自由度等价,也就是说在刚性矩阵中强制相同的位移和旋转。例如,如果主面节点m和从面节点s,它们的位移关系表示为
无限大的刚性?现实中不可能存在啊。这个假设是失败的原因吗?
完全正确。现实中的螺栓连接或点焊在局部虽然刚性很高,但也是有限的。Tied接触忽视这种局部柔软性,导致应力集中异常升高,接触面下的单元被迫产生极端变形,引发"应变能发散"。特别是在曲率大幅不同的部分,或网格尺寸急剧变化的边界处,这个问题最明显。
"应变能发散"具体是什么现象?
随着网格细化,计算的应变能趋向无穷大,这是非物理的现象。从理论上讲,它表示在一个点上产生无穷大的应力。在Tied接触中,主面和从面的节点被强制进行完全相同的运动,导致接触边缘产生变形不连续,这就成为产生发散的奇点。应对方法是,Abaqus的"Tie接触"有"位置公差"设置,可以自动约束一定距离内的面。但如果这个公差设置得太大,会导致意想不到的部分也被粘合。
Tied接触失败的数值计算方法
离散化和约束条件的实现方法
软件内部是如何把"位移相等"这个条件编入数值计算的?
主要有两种方法:"拉格朗日乘数法"和"惩罚法"。Ansys Mechanics默认使用"MPC(多点约束)方法",属于拉格朗日乘数法的一种,严格满足约束条件。而Abaqus/Explicit为了稳定性通常采用"运动学耦合"或"惩罚法"。在惩罚法中,约束条件
"条件数恶化"具体会导致什么计算问题?
整体刚性矩阵变成数值上"硬"的状态,联立一次方程的求解器收敛困难。迭代解法会导致迭代次数异常增加,直接法则舍入误差影响加大,最终导致"求解器停止""负主元错误""应力结果为NaN(非数)"等失败。Ansys会报告"主元警告",Abaqus会报告"零主元"或"过度畸变"等消息。
主面和从面的网格尺寸差异很大时,如何对应节点?
这是Tied接触失败的最大原因之一。大多数求解器使用"面对面"算法,将从面节点投影到主面单元上,利用该单元的形状函数计算加权平均的主面节点位移分配给从面节点。用公式表示,从面节点s的位移为:
Tied接触失败的实务应用
安全设置Tied接触的工作流程
在使用Tied接触之前,必须确认的建模要点是什么?
必须执行以下检查清单。1. **几何间隙**: 要约束的面之间的距离是否在软件默认位置公差(例如Abaqus的"阈值",默认约为模型全体尺寸的0.05%)内? 2. **网格一致性**: 接触边界的网格尺寸比控制在5倍以内。3. **面的方向**: 面法向量是否相互对应? 4. **边/顶点接触**: 避免边接触面或顶点接触面,仅进行面-面接触。
如果网格尺寸比无法控制在5倍以内,该怎么办?
在这种情况下,应重新考虑使用Tied接触。替代方案有:(1) **子模型分析**,全局模型用粗网格结合,局部模型切换到细网格。(2) **螺栓/铆钉/点焊单元**(Ansys的`CONTA178`,Abaqus的`FASTENER`)定义离散的结合点。(3) 如果必须使用Tied接触,将较粗的网格设为"主面"。一般原则是选择刚性更高或网格更粗的面作为主面。
运行前有简单的验证测试吗?
必须进行"单体刚性测试"。具体方法是,在设置了Tied接触的模型上,完全固定一侧,对另一侧端面施加极小的强制位移(例如0.001 mm)进行静力学分析。检查以下内容:计算是否正常收敛,接触面附近的应力是否异常高(远超屈服应力等),反力是否平衡。如果此测试失败,本解析就没有意义了。
Tied接触失败的软件比较
各CAE软件中的Tied接触实现及陷阱
Ansys、Abaqus、COMSOL在Tied接触设置和行为上有很大差异吗?
概念相同,但实现和默认设置有重要差异。
Abaqus的"位置公差"和"表面阈值"的区别,详细说明?
这非常重要。"位置公差"是从主面扩展搜索从面节点的距离。例如设为0.1 mm,就搜索主面周围0.1 mm范围内的从面节点。另一方面,"表面阈值"是在找到的从面节点中,自动从约束中排除的比例。默认为0.05(5%),意思是"自动将导致应变能最大的前5%节点从约束对象中排除"。位置公差设置过大会导致远处面也粘合,表面阈值设置过大会导致关键部分约束解除。实务中,先将位置公差手动设为几何间隙略大的值(例如0.05 mm),表面阈值保持默认,再试运算是基本做法。
Tied接触失败的故障排除
常见错误及其解决方案
分析中出现"过度畸变单元"或"负主元"错误。首先怀疑的原因和对策是什么?
首先怀疑**Tied接触面下的单元**。对策按以下顺序尝试:
计算收敛了,但Tied接触面直下的应力异常高(如10 GPa)。这个结果可信吗?
**绝对不要信任**。这是之前提到的数值特异性造成的"表观应力"。特别是网格越细这个值越高时,几乎可以肯定了。用这样的结果做设计判断很危险。对策是:(1) 创建"通路绘图",评估距离接触面略远处(如单元向内1~2个)的应力。(2) 参考缺口应力评估的"应力梯度法"或"结构应力法",用平均化方法排除特异点影响。实务中,与其评估Tied接触面的应力本身,不如检验从该处传递的力或力矩整体是否平衡更重要。
试图将多个零件与一个主面进行Tied接触,结果出错。为什么?
这是"重复约束"或"过约束"导致。一个从面节点同时被多个主面单元(或不同的Tied接触定义)约束时,求解器收到矛盾指示陷入计算瘫痪。例如,三个钢板叠放,两端钢板都对中间钢板进行Tied接触,中间钢板就上下都被约束,造成过约束。对策是**不建立约束链**。这个例子应该"钢板1→钢板2""钢板2→钢板3",只在相邻零件间定义Tied接触,链式结合。养成用Ansys的"Contact Tool"或Abaqus的"Interaction Manager"可视化接触配对,检查网络中没有循环的习惯。
有益
详情
错误