由于非线性接触存在,接触面间在“闭合”和“张开”状态下变化,导致刚度发生较大变化,会产生不收敛问题。我们需查看程序输出信息:常见的错误包括刚体 位移存在(ux great than limit)?零主元(zero pivot)?等。针对不同的提示信息进行相应的诊断。
1、针对刚体 位移(位移过大)
我们需判断是由哪对接触对产生的,可以将非线性接触全部用“Bonded”绑定接触代替,一次设置一对为非线性进行计算,这样采用排除法找到有问题的接触对。找到相应有问题的接触对后可以进行:
初始接触界面调整,让接触面间初始接触上;
或调整影响球半径;
或增加摩擦接触调整摩擦系数;
或添加接触阻尼。
2 、针对零主元存在
一般是由于过约束产生的,会导致非常大的力的残差。首先采用接触工具进行过约束检查,显示过约束的接触对,采用移除重叠的接触对,合并接触对,接触面和目标面互换等方式,去掉过约束。
3、查看力的收敛曲线
如果力的残差在始终在标准线上震荡,可以尝试调整接触刚度,在穿透量允许的前提下用小的刚度系数;采用对称接触取代非对称接触(或互换接触面和目标面);减小时间步长;细化接触对网格等。
非线性接触收敛问题涉及多个方面,需要确保高的网格质量,恰当的接触选项设置,合理的载荷步控制等。遵循以上建议将有助于解决非线性接触不收敛问题。