本节将介绍接触分析特征、一些注意事项和促进接触收敛的方法,以帮助读者顺利完成接触分析。
1.接触分析特征
(1)隐式动力分析 对于隐式接触分析,速度和加速度的振荡将不利于接触的收敛,尤其是对于高速冲击问题。采用下列方法可以有效减少振荡的影响:
1)应用冲击后修正。在接触控制中可以设定冲击后修正,如图4-56所示。采用冲击后修正后,接触面上节点的速度和加速度将被修正,以满足收敛的需要。此外,冲击后修正将需要一些额外的内存和计算量。
2)设置Newmark参数α=0.5。在模块工具条中可以设置Newmark参数α,如图4-64所示。单击图标将弹出Implicit Transient Dynamics对话框,将Alpha参数修改为0.5,其默认值为0.25。对刚性体冲击问题,调节Alpha参数可以获得准确结果,对于柔性体冲击问题也能有效地减少数值振荡现象。
图4-64 设置Alpha参数
3)设置接触面的Compliance参数。设置接触面的Complicance参数可以显著减小接触计算的数值振荡。Complicance参数的选择要参考式(4-1),设置这个参数可以使接触计算不会产生过大的接触穿透。一般情况下,接触穿透为单元尺寸的1%时可以有效减少计算中的数值振荡。
穿透量=εp×法向接触压力 (4-1)
更详细的介绍,请参阅ADINA 8.6版《结构理论手册》4.7.1节。
(2)显式动力分析 在显式接触分析中,如果速度和加速度存在振荡也同样不利于接触收敛,对于高速冲击问题更是如此,这种数值振荡在罚接触算法(penalty contact algorithm)中普遍存在,可以采用下列方法来减少振荡的影响:
1)减小法向的罚刚度。
2)设置罚接触算法阻尼。
在定义接触组对话框中,当接触算法选择为Penalty时,在Advanced标签下可以设置罚刚度及罚接触算法的阻尼。一定要选择正确的罚刚度,过小的罚刚度值将导致过大的穿透量,过大的罚刚度值将导致过大的振荡和不稳定的时间积分。详细介绍请参阅ADINA 8.6版《结构理论手册》4.3.2节。
2.接触振荡的压制(隐式)
对于某些问题,Contactor面上的节点将会在Target面之间振荡,为了避免这种振荡,可以在接触控制中设定NSUPPRESS参数(见图4-56,对应于对话框Number of Iterations for Pairing Contactor Node to Target Segment),一般建议将这个参数设置为大于等于5,启用该参数后,程序会记录接触点及接触位置,因此会增加内存的使用量。更详细的介绍,请参阅ADINA 8.6版《结构理论手册》的4.7.4节。
3.接触阻尼(隐式)
隐式分析中还可以设置接触阻尼。无论是静态分析还是动态分析,设置接触阻尼都有利于接触分析的收敛。
可以在接触控制中设置接触阻尼的法向和切向黏性阻尼系数,该阻尼的设置针对于模型中所有接触面的节点,每个节点的阻尼力如式(4-2)所示:
式中,和分别表示法向和切向速度;CN和CT为接触阻尼参数,它们的值与模型有关。式(4-3)给出计算这两个参数估计值的方法;
式中,R表示第1个时间步施加载荷之和;Δt表示时间步的大小;N表示无约束接触面上接触点的数量(接触面可以承受力、力矩和压力载荷);g表示接触面的初始间隙。虽然该值是估计值,但一般情况下是可以接受的。
接触阻尼可以设定为仅在时间步开始时刻有效,或在整个接触分析过程中都有效。对于前者,其含义是在第1个时间步开始时刻考虑接触阻尼的影响。迭代过程中阻尼会逐渐减小,第1个时间步结束时刻阻尼将变为0。因此,第1个时间步最后时刻的结果没有受阻尼影响。对于后者,接触阻尼力的合力将在*.out文件中输出,需要查看该文件以确定接触力合力是否远小于支反力合力。关于接触阻尼的更详细介绍,请参看ADINA 8.6版《结构理论手册》4.7.6节和4.8.6节。
4.注意事项
1)对于初始状态已经接触的接触面,在设计几何时需要注意,同一位置处要有两个几何面(可以是重合的两个面,一个设为Target,另一个设为Contactor)。划分网格时,两个接触面的网格一定不能拟合(可以共节点,但节点不要拟合)。
2)如果Target和Contactor是刚性的,允许它们作为从面(Slave)与之外的主点(Master)采用Rigid Links,可以通过设定主点的自由度来控制接触面的自由度。(www.xing528.com)
3)同一接触组中建议不要同时包含考虑摩擦及无摩擦的接触对;同一个接触点不建议属于不同的接触面。
4)对于摩擦效应不重要的接触,建议采用无摩擦接触分析。
5)重启动分析不允许接触状态从无摩擦到有摩擦,反之亦然。但是重启动分析允许改变接触的摩擦系数,因此可以给定一个非常小的摩擦系数来代替无摩擦分析。
6)如果初始接触面很近,且在整个分析过程中接触面的相对滑动非常小,而且又不包含大的振动,则可以采用小位移接触算法,计算结果往往能够很快达到收敛。
7)如果重启动分析中包含接触时,则不能进行刚性接触与非刚性接触间的重启动,但刚性接触之间和非刚性接触之间都可以进行重启动,还可以进行隐式算法和显式算法之间的重启动。
8)如果模型中包含尖角和曲率较大的面,尖角及大曲率面处的网格划分一定要细密些,细密的网格有利于接触收敛及保证计算结果的准确。此外,对于刚性接触分析,模型中的尖角最好使用圆角来代替,否则可能会出现收敛困难。
9)显式接触分析时,无论是Kinematic Constraint算法,还是Penalty算法,接触面的质量一定要匹配(质量不能相差太多),否者会导致接触收敛困难或错误的计算结果。
5.促进接触收敛的方法(隐式)
导致接触不收敛的原因有很多,但是很多情况都是由于模型设置错误造成的,例如,边界、载荷等设置不合理,建模时应该具体问题具体分析。调试模型的方法也有很多,本节将介绍促进接触收敛的常用方法。
1)接触问题属于高度非线性计算问题,在模型调试阶段和计算过程中,建议打开ATS(详见4.3.1节“时间函数与时间步”)。
图4-65 设置非线性迭代对话框
2)有些情况下,使用线性搜索可以加快接触收敛的速度。单击菜单Control→Solution Process,单击Iteration Method按钮将弹出设置非线性迭代对话框,如图4-65所示,可以选择使用线性搜索,默认设置为不使用线性搜索。
3)在设置非线性迭代对话框中还可以设定每个时间步内的计算迭代次数,默认为15次。对于一般计算,15次迭代经常无法达到收敛,此时可以适当增加迭代次数(例如,设置为25或30),究竟迭代次数设为多少才是合适的,在模型没有经过试算之前往往无法知道准确的答案。如果增加了迭代次数后,计算仍然不能够收敛,应该观察计算过程中的迭代结果收敛趋势来判断是否应该再次增加迭代次数。
以结构场为例加以说明:在求解器运行窗口中单击Nolinear Convergence标签可以查看当前计算步下的迭代收敛情况,如图4-66所示,图中曲线段表示接触,直线段表示能量。如果在默认的迭代次数下没有收敛(图4-66已经收敛),则应该观察接触曲线是否有收敛趋势,如果接触曲线有收敛趋势,增大迭代次数往往能达到接触收敛。
也可以单击View Output按钮,在当前计算目录中找到结果输出文件,通过查看结果输出文件(*.out)来获取计算收敛信息。流固耦合计算无法在求解器运行窗口中查看如图4-66所示的曲线收敛情况,此时只能通过查看结果输出文件来确认计算收敛信息。
结果输出文件中将记录每个时间步内的迭代收敛情况,如图4-67所示。box a表示能量收敛准则,box b和box c分别表示力和力矩收敛准则,box d和box e分别表示位移和转动收敛准则,以上5项为非接触相关项。box f为接触相关项,CFORCE指的是接触力的变化项,CFNORM为接触力的向量项。依据式(4-4)所示的准则可以判断接触力是否收敛:
式中,RCTOL表示接触力收敛容差;RCONSM则表示参考接触力,以避免分母为0。
如果接触不收敛且相关项的数值变化非常剧烈,通常表明载荷施加过快或者计算时间步过大。如果平衡迭代过程中CFNORM项变化平稳,而CFORCE项变化剧烈,则说明接触出现了振荡,此时应尝试改变时间步长或使用接触振荡的压制功能。
对于某些静态接触问题,当力、力矩和压力等载荷作用于接触面时,模型的刚度矩阵经常出现非正定情况,此时可以采用矩阵稳定、接触阻尼及限制增量位移的方法进行模型调整。在杂项控制对话框中可以设定矩阵稳定选项,对应的操作如下:单击菜单Control→Mis-cellaneous Options,将Matrix Stabilization选择为Yes(默认值为No),Stabilization Factor的取值一般较小,可以选择10-12~10-9。在迭代容差对话框中设置限制增量位移选项,对应的操作如下:单击菜单Control→Solution Process,单击Iteration Tolerances按钮将弹出Iteration Tolerances对话框,在对话框的底部可以设置限制的位移增量。
图4-66 查看计算的迭代收敛情况
需要注意的是:矩阵稳定、接触阻尼和限制增量位移这3种方法可以联合起来使用。
图4-67 查看结果输出文件
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。