ABAQUS建模中的问题和解决方法——与分析收敛有关
责任编辑:王王木木     时间:2021-04-09     来源:原创
责任编辑:王王木木
时间:2021-04-09  来源:原创
分类: 技术分享
浏览量: 504

 

 

一、 收敛问题的症状

 

       收敛问题常见于用有限元分析变形、位移、应力、频率、温度分布等等问题。在有限元分析中,收敛是一个常见的词。mesh收敛很常见,非线性收敛因为迭代的存在变得也很常见。线性问题通常不需要迭代。

大部分收敛造成的问题可以在消息文件(.msg)中找到。才外,在(.dat)和(.sta)文件中也可以找到。一些常见列子如下:

WARNING:THE SOLUTION APPEARS TO BE DIVERGING

WARNING:THE STRAIN INCREMENT HAS EXCEEDED FIFTY TIMES THE STRAIN TO CAUSE FIRST YIELD AS 7 POINTS

WARNING:THE SYSTEM MATRIX HAS 3 NEGATIVE EIGENVALUES

WARNING:ELEMENT 441 IS DISTORTING SO MUCH THAT IT TURNS INSIDE OUT

NOTE:SUBDIVISION AFTER 12 ITERATIONS FOR SEVERE DISCONTINUITIES

WARNING:OVERCLOSURE OF CONTACT SURFACES SLAVE_SURF AND MASTER_SURF IS TOO SEVERE CUTBACK WILL RESULT

WARNING: SOLVER PROBLEM ZERO PIVOT WHEN PROCESSING NODE 1 D.O.F. 1

 

二、导致收敛问题的原因

 

        有限元建模不充分很容易导致收敛问题,比如:约束冲突-在设置边界条件、接触条件或者多点约束时,操作失误,比如,约束不足、材料参数不足、使用了错误的单元类型。

         另外一个常见的原因是非常不稳定的物理体系。这需要正确的单元类型和分析技术。

 

三、帮助abaqus找到收敛方案

 

       尽量把可能导致不收敛的情况排除,逐一分析导致不收敛的问题。以下一些建议:

(1)先建立一个小的测试模型:

别把所有细节都加载你的第一个模型上;

先从接触开始添加,先别把塑形、摩擦或者结构非线性加上;

然后再逐步加上其他因素加上,这样你可以一步步知道是什么导致你的模型不收敛。

(2)给initial increment,minimum increment和maximum increment合理的值

(3)收敛问题的原因可以在.msg, .dat, .odb, .sta文件中找到:

不要限制写入到.msg文件的数据数量;

对于接触问题,通过“.inp”文件,利用*PRINT,CONTACT=YES得到信息文件中的 接触细节。

对于材料问题,利用*PRINT,PLASTICITY=YES得到由于材料循环导致的收敛失败的单元数和integration point的数量。

 

四、通用工具

 

       以上的操作可以帮助你猜测不收敛的原因。一下提供一些解决不收敛问题的通用方法:

(1)加载的时候用位移控制而不是荷载控制。相比起同集中力,施加位移可以帮助降低迭代产生不收敛的可能性。同理,施加转动比施加集中弯矩更能稳定迭代的过程。你们可以通过画位移-力的图比较一下;

(2)通过控制increment的大小来避免突然的刚度变化。initial increment一般是0.01-0.1。minimum step size可以逐渐降低,直到abaqus求解器可以处理。

(3)接触问题中的刚度一般很大,所以initial increment需要设置得很小。

(4)将dashpot或者spring element施加在节点上。Dashpot被用于模拟velocity-dependent的力或者扭力。他们还能提供viscous energy dissipation。Dashpot通常被用于不稳定的非线性静态研究中,Riks算法不适用,但是自动time stepping算法是需要的,因为力控制着突然发生的形态变化。

(5)用connector element或者beam element而不是多点约束。MPC可以代替多点约束,实现对多自由度的约束限制。比如铰链约束。

(6)如果出现hourglassing的问题(通常出现在连续体单元,而不是板单元),用fully integrated element类型或者hourglass control。

(7)对于大转动的问题,需要使用parabolic extrapolation方法。(比如,*STEP, EXTRAPOLATION=PARABOLIC)。

(8)关闭extrapolation of the displacement correction,以免abaqus出现突然的、明显的刚度变化(*STEP,EXTRAPOLATION=NO)。

(9)对于有限滑移切接触面变形严重的问题,需要适用asymmetric matrix storage and solution scheme(*STEP,UNSYMM=YES)。

(10)对于总体不稳定的问题,比如global buckling, collapse, 或者snap-through,可以使用RIKS。对于结构打变形问题,由于load-displacement关系中有负刚度,所以结构需要释放应变能量以保持平衡。对于静态平衡问题,也可以使用modified RIKS方法。如果需要用RIKS方法,只要在需要的step中选择RIKS,之前的step不需要选RIKS。其实用位移控制的加载比用RIKS更加高效。一边设置maximum arc length 为1.5。

(11)对于局部不稳定的情况,使用automatically stabilization 并且 monitor the damping energy。但是这不能与RIKS结合使用。一般和displacement control结合使用,比如*STATIC, STABILIZE, *ENERGY OUTPUT, *ENERGY PRINT, *ENERGY FILE。然后得到ELSD(total energy dissipated in the element resulting from automiatic static stabilization), ESDDEN (total energy disspated per unit volume in the element resulting from static stablization),ALLSD(energy disspated by automatic stabilization)。

(12)对于perfectly plastic的材料,最好给一个很小的塑性slope。

(13)对于不可变材料(比如泊松比接近0.5)或者本构模型为anisotropic hyperelasticity 模型,用hybrid elements。

(14)适当降低收敛的条件(尽量不用)。

 

五、接触面稳定工具

 

        介绍一些在静态平衡条件下,可以用于解决不收敛问题的方法。

(1)接触的初始增量设置为非常小的值。

(2)用位移控制而不是力控制。

(3)在接触开始前,给接触面使用刚度比较低的弹簧单元。接触建立以后移出弹簧单元。

 

六、解决接触面不收敛的方法

 

(1)用CONTACT PRINT监控接触面的力。力会被写入.dat文件,这有助于发现哪个接触面有问题。

(2)master 面一般有更加粗糙的mesh。而且一般master面比slave面更大,反之则不行。

(3)确认contact面上normal方向上的设置。normal方向上的性质一般是基于master 面上的,一旦较大的overclosures发生,则说明normal方向的性质有问题。

(4)contact面上的edges有时候可能造成问题。

(5)一个node不能同时用于不同的slave角色。(一仆不能二主)

(6)GAP 单元有时候可以用于替代接触面

(7)同2.5(3)

(8)用dashpot

(9)如果一开始建模的时候,接触面有点轻微的相互重叠,可以用adjust=0进行调整。

(10)对于出现重叠的情况,可以用软接触模拟,*SURFACE BEHAVIOR,PRESSURE-OVERCLOSE=EXPONENTIAL 0.1,200

(11)增加允许的不连续体计算的循环数(默认是12)。*CONTROLS,PARAMETERS=TIME INCREMENTATION,,,,,,24

(12)打开自动容许,以便abaqus可以自动机算重叠容许量和分开时的的压力容许量。*CONTACT CONTROLS,AUTOMATIC TOLERANCES。

(13)别用设置摩擦属性,除非你真的需要。在及其特殊的情况下,较大的摩擦值可能导致收敛效果更好。ABAQUS会自动使用asymmetric matrix storage当摩擦系数超过0.2。

(14)小心使用small sliding,因为small sliding会使得master面无限大。

(15)通过*CONTACT,DAMPING减缓接触面之间的移动。

(16)增加重叠容许量

(17)对于finite sliding在高度弯曲的接触面上的应用,打开asymmetric matrix storage。*STEP, UNSYMM=YES.

(18)对于明显的不连续行,比如摩擦滑移,打开*CONTROLS,ANALYSIS=DISCONTINUOUS。这有可能增加计算时间。

(19)用explicit求解器解决静态问题。explicit通常用于解决高能量短时间的问题,比如冲击、掉落和爆炸。explicit如果用于求解静态问题,将会花掉很多时间,需要谨慎选择loading rate和mass scaling。

 


来源:原创

回复:

Copyright © 2021 .长沙麦涛网络科技有限公司 All rights reserved. 湘ICP备20015126号-2
联系我们