Ansys非线性不收敛10大对策:让你有“迹”可循,有“法”可医 - 小众知识

Ansys非线性不收敛10大对策:让你有“迹”可循,有“法”可医

2021-04-18 12:31:33 苏内容
  标签: Ansys/非线性
阅读:8796

一、非线性问题是什么?

在日常生活中,经常会遇到结构非线性问题。例如,当用钉书针钉纸张时,金属钉书钉将永久地弯曲成一个不同的形状(图 1a);在一个木架上放置重物,随着时间的推移木架将越来越下垂(图 1b);汽车或卡车上装载货物时,轮胎和下面路面间接触面将随货物重量变化(图 1c)。如果将上述例子的载荷变形曲线画出来,我们将发现它们都显示了结构非线性的基本特征—结构刚度改变。

图1:a、订书针变形;b、书架变形;c、轮胎变形

导致结构刚度发生改变,产生非线性行为的原因有很多,主要归结为三类:

  • 材料非线性;
  • 几何非线性;
  • 接触非线性。

图 2 典型的非线性类型

1、材料非线性

非线性的应力─应变关系是结构产生非线性行为的常见原因。不同环境状况(如温度)、加载历史(如在弹─塑性响应情况下)、加载的时间下(如在蠕变响应情况下),材料表现出不同的应力-应变关系。金属塑性变形、橡胶超弹性材料、粘弹性材料、混凝土、率相关蠕变等问题都是典型的材料非线性问题。

图 3 典型的金属材料拉伸曲线

2、几何非线性

如果结构经受大变形,变化后的几何形状能引起结构非线性行为,我们称这类响应为几何非线性。一个典型的例子是图4所示的钓鱼杆。随着垂向载荷的增加,杆不断弯曲以致于力臂明显地减少,导致杆端显示出在较高载荷下不断增大的刚性,许多细长结构都表现出此类特性。还有就是薄膜结构例如鼓面,当我们给它一个预张力的时候,面内的刚度也会增大。几何非线性主要包括大转动、大位移、刚度硬化和结构失稳等问题。



图4 钓鱼竿的几何非线性

3、接触非线性

两个分离的表面接触并发生剪切时,我们称它们处于接触状态。一般而言,处于接触状态的表面具有以下特点:

(1)不产生相互穿透

(2)能够传递法向压力和切向摩擦力

(3)通常不传递法向拉力

接触的这些特点使接触表面之间可以紧贴在一起,也可以分开并远离,从而产生不同的接触状态。随着接触状态的改变,接触表面的法向和切向刚度会有显著的变化。因此,接触是强非线性问题。仿真中,80%以上的非线性不收敛主要是由于接触问题引起的。

图5 梁发生接触后,结构刚度变大

4、非线性分析方程求解

ANSYS程序的方程求解器通过计算一系列的联立线性方程组来预测工程系统的响应。然而非线性结构的行为,不能直接由线性方程求得,一种近似的非线性求解是将载荷分成一系列的载荷增量,可以在几个载荷步内或者在一个载荷步的几个子步内施加载荷增量,每一个增量确定一个平衡条件,在每一个增量的求解完成后,程序调整刚度矩阵以反映结构刚度的非线性变化。这种方法我们把它叫做牛顿-拉普森平衡迭代法,或者直接叫做牛顿迭代法。

其中:

KiT为切向刚度矩阵;ΔUi为位移增量;F a是施加的载荷矢量;Fi nr为内力矢量。

下图是一个载荷增量的迭代求解过程:

图6 牛顿-拉普森平衡迭代过程

第一次迭代施加总载荷F a,对应的位移结果为X1,根据位移X1,计算内力F 1,若是 Fa≠ F1,系统不收敛,将进行刚度矩阵的修正,然后进行第二次迭代求解,第三次迭代……直至收敛。其中的差值Fa-Fi即外力与内力的偏差,也叫残差力,残差力需要足够小(Fa≈F1 ,即内外力平衡)才能够收敛,ANSYS程序中有相关的收敛准则定义。


二、非线性不收敛原因及ANSYS解决方案

ANSYS Mechanical具有强大的非线性计算能力,能够对几何非线性、材料非线性、接触非线性、混合非线性等计算问题进行非常好的模拟仿真,是目前最强大的非线性问题计算软件之一。针对非线性计算无法收敛的问题,我们主要可从以下方面着手:

1、首先从solution information中寻找突破点,找出报错原因。通过不同的报错提示,可以帮助我们确定调整方向,例如确认是刚体位移导致的问题还是网格导致的问题。

2、建议在求解之前可以跟踪关于变形、应力、接触、残差等物理量的信息,新版本软件中在计算过程中可实时更新结果进行观察。

3、通过力收敛图表,观察残差图和时间增量图,检查载荷子步数是否足够:一般是增加子步数或者减少时间步长,尤其对于大变形问题和非线性材料问题。

4、检查模型是否存在约束不充分的情况:这主要是通过施加合理的约束方法来解决,例如施加弱弹簧、施加对称约束、接触调整、力载荷加载更改为位移载荷加载等。

5.检查网格:尤其是错误信息提示有“单元出现严重扭曲”的语句时,通过手动改善网格质量或者非线性网格自适应技术改善收敛性。当然,单元出现严重扭曲的情况也有可能是载荷步过大引起,具体情况具体分析。

6、检查材料参数设置:材料模型不正确意味着不合理的应力应变关系,在施加载荷后往往出现不合理的结构响应,导致自由度位移过大而不收敛。具体说就是检查材料的杨氏模量、非线性材料参数等是否正确,尤其注意输入材料参数时的单位问题。

7、检查结构是否出现屈曲失稳:如果我们分析的结构在结构变形过程中出现了屈曲、刚度突变的情况,也是非线性不收敛的一个重要原因,此时需要采取增加增加结构阻尼或者使用弧长法来克服此类问题。

8、检查接触的设置:接触是一个状态非线性问题,很多结构不收敛的原因主要由接触引起,此时可以通过调整不同的接触参数来改善收敛性,例如更改接触行为方式,法向罚刚度因子,pinball范围大小,接触探测方法等等。

9、检查非线性求解器的选择:Ansys默认的求解方法是迭代法(iterative),该方法求解快,需要内存较少,大多数情况,该方法是可行的。但有时候为了追求精度更高,更具有鲁棒性,直接迭代法(direct)或许能更好的收敛。

10、尝试用新版本。ANSYS更新的版本或许针对求解器,针对接触有更新、更好的设置。例如随着版本不断更新,ANSYS陆续增加了自适应网格技术、接触刚度指数迭代技术、半隐式算法等等来帮助客户应对更复杂的收敛问题。

三、总结

仿真分析中我们经常会使用非线性分析来解决工程中的实际问题,其中遇到的不收敛问题是一件让人非常“头疼”的事情。ANSYS Mechanical具有很强的非线性分析计算能力,针对状况百出的非线性不收敛问题具有不同的应对策略,某种程度上让我们解决这类问题时,能有“迹”可循,有“法”可医。



ansys计算非线性时会绘出收敛图,其中横坐标是cumulative iteration number 纵坐标是absolute convergence norm。他们分别是累积迭代次数和绝对收敛范数,用来判断非线性分析是否收敛。

ansys在每荷载步的迭代中计算非线性的收敛判别准则和计算残差。其中计算残差是所有单元内力的范数,只有当残差小于准则时,非线性叠代才算收敛。

ansys的收敛是基于力的收敛的,以力为基础的收敛提供了收敛量的绝对值,而以位移为基础的收敛仅提供表现收敛的相对量度。一般不单独使用位移收敛准则,否则会产生一定偏差,有些情况会造成假收敛.(ansys非线性分析指南--基本过程Page.6) 。因此ansys官方建议用户尽量以力为基础(或力矩)的收敛误差,如果需要也可以增加以位移为基础的收敛检查。

ANSYS缺省是用L2范数控制收敛。其它还有L1范数和L0范数,可用CNVTOL命令设置。在计算中L2值不断变化,若L2<criterion的时候判断为收敛了。也即不平衡力的L2范数小于设置的criterion时判断为收敛。

由于ANSYS缺省的criterion计算是全部变量的平方和开平方(SRSS)*valuse(你设置的值),所以crition也有小小变化。如有需要,也可自己指定crition为某一常数, CNVTOL,F,10000,0.0001,0就指定力的收敛控制值为10000*0.0001=1。

另外,非线性计算中用到的一个开关是SOLCONTROL,如关闭SOLCONTROL 选项,那么软件默认收敛准则:力或弯矩的收敛容差是0.001,而不考虑位移的收敛容差;如果打开SOLCONTROL 选项,同样的默认收敛准则:力或弯矩的收敛容差是0.005,而位移收敛容差是0.05。

非线性收敛非常麻烦,与网格精度、边界条件、荷载步等一系列因素有关,单元的特点对收敛的影响很大,单元的性态不好收敛则困难些;合理的步长可以使求解在真解周围不至于振荡,步长过小,计算量太大,步长过大,会由于过大的荷载步造成不收敛。网格密度适当有助于收敛,网格太密计算量太大,当然太稀计算结果会有较大的误差。究竟多少往往要针对问题进行多次试算。

1、如果不收敛,可以考虑一下方法改进

1.放松非线性收敛准则。

(CNVTOL #Sets convergence values for nonlinear analyses).

2.增加荷载步数。

(NSUBST #Specifies the number of substeps to be taken this load step)

3.增加每次计算的迭代次数(默认的25次)

(NEQIT #Maximum number of equilibrium iterations allowed each substep)

4 重新划分单元试试,后续会得到不同的答案。

就我的经验,前两种方法效果好一些,后一种方法不一定奏效。但应注意到,放大收敛准则其实是在降低计算精度的条件下得到近似解,并且放大的收敛准则是否与实际相符或有实际意义应仔细考虑。

2、问非线性计算的收敛和速度

Q:我在计算一个大型结构,地震荷载,BEAM188 计算时间太长一个小时可能计算了1秒总共40秒而且越来越慢,不小心早上还停了电如何能使计算加快?或者怎么才能即使突然结束以后还能继续算?

A:调整优化非线性计算的收敛和速度可以说几乎是一种艺术, 即没有固定的可循规则。

我的经验是, 你的结构的"非线性"越小, 非线性的变化越规则, 就越容易收敛. 想象一下如果你是手算这个非线性问题, 对你来讲较容易的, 对ANSYS的相应算法也会容易些.

可以把你的地震时程分析拿出几点, 做一下静态的非线性分析, 同时调整模型看看分析出来的结果是否合理. 如果这一步还没有做, 那花大量时间做出的时程分析是废品的可能性十分之大.

一定要记住有限元分析是一个"简化"问题的过程. 建立一个模型一定要由浅到深. 线性的模型没有搞透不要贸然进攻非线性. 静态没有搞透不要碰时程分析.

A:影响非线性收敛稳定性及其速度的因素很多,我们可以看看这几点:

1.影响非线性收敛稳定性及其速度的因素:

1)模型——主要是结构刚度的大小。

对于某些结构,从概念的角度看,我们可以认为它是几何不变的稳定体系。但如果结构相近的几个主要构件刚度相差悬殊,或者悬索结构的索预应力过小(即它的刚度不够大),在数值计算中就可能导致数值计算的较大误差,严重的可能会导致结构的几何可变性——忽略小刚度构件的刚度贡献。 如果还不能理解,我们可以进一步说:我们有一种通用的方法判断结构的几何可变性,即det(K)=0。在数值计算中,要得到det(K)恒等于零是不可能的,我们也就只能让它较小时即认为结构是几何可变的。对于上述的结构,他们的K值是很小的,故而也可判断为几何可变体系。事实上这类结构在实际工程中 也的确是非常危险的。

为此,我们要看看模型有没有问题。如出现上述的结构,要分析它,就得降低刚度很大的构件单元的刚度,可以加细网格划分,或着改用高阶单元(BEAM->SHELL,SHELL->SOLID)。构件的连接形式(刚接或铰接)等也可能影响到结构的刚度。

2、线性算法(求解器)

ANSYS中的非线性算法主要有:稀疏矩阵法(SPARSE DIRECT SOLVER)、预共轭梯度法(PCG SOLVER)和波前法(FRONT DIRECT SLOVER)。

稀疏矩阵法是性能很强大的算法,一般默认即为稀疏矩阵法(除了子结构计算默认波前法外)。预共轭梯度法对于3-D实体结构而言是最优的算法,但当结构刚度呈现病态时,迭代不易收敛。为此推荐以下算法:

1)BEAM单元结构,SHELL单元结构,或以此为主的含3-D SOLID的结构,用稀疏矩阵法;

2)3-D SOLID的结构,用预共轭梯度法;

3)当你的结构可能出现病态时,用稀疏矩阵法;

4)当你不知道用什么时,可用稀疏矩阵法。

3)非线性逼近技术

在ANSYS里还是牛顿-拉普森法和弧长法。牛顿-拉普森法是我们常用的方法,收敛速度较快,但也和结构特点和步长有关。弧长法常被某些人推崇备至,它能算出力加载和位移加载下的响应峰值和下降响应曲线。但也发现:在峰值点,弧长法仍可能失效,甚至在非线性计算的线性阶段,它也可能会无法收敛。

为此,我们尽量不要从开始即激活弧长法,还是让程序自己激活为好(否则出现莫名其妙的问题)。子步(时间步)的步长还是应适当,自动时间步长也是很有必要的。

2.如何加快计算速度

在大规模结构计算中,计算速度是一个非常重要的问题。下面就如何提高计算速度作一些建议:

充分利用ANSYS MAP分网和SWEEP分网技术,尽可能获得六面体网格,这一方面减小解题规模,另一方面提高计算精度。 在生成四面体网格时,用四面体单元而不要用退化的四面体单元。比如95号单元有20节点,可以退化为10节点四面体单元,而92号单元为10节点单元,在此情况下用92号单元将优于95号单元。

选择正确的求解器。对大规模问题,建议采用PCG法。此法比波前法计算速度要快10倍以上(前提是您的计算机内存较大)。对于工程问题,可将ANSYS缺省的求解精度从1E-8改为1E-4或1E-5即可。

设置直接影响到收敛。应该注意以下几点:

1)足够大的荷载步(将MAXMIUM SUBSTEP=1000000),可以更容易收敛,避免发散的出现(nsub,nsbstp,nsbmx,nsbmn);

2)足够大的平衡迭代步数,默认为25,可以放大到很大(100)(eqit,eqit);

3)将收敛准则调整,以位移控制时调整为0.05,以力控制为0.01(CNVTOL,lab,value,toler,norm,minref)。

4)对于线性单元和无中间节点的单元(SOLID65和SOLID45),关闭EXTRA DISPLACEMENTS OPTIONS(在OPTIONS中)。

5)对于CONCRETE材料,可以关闭压碎功能,将CONCRETE中的单轴抗压强度设置为-1(tadata,mat,shrcf-op,shrcf-cl,UntensSt,UnCompSt(-1))。

3.非线性计算无法收敛原因

非线性计算无法收敛是非常头疼的问题,往往不同的分析过程会有不同的提示,总结不收敛的原因,主要可从以下几大类着手:

1)检查模型是否存在不完全约束或刚体位移的情况:这主要是通过施加合理的约束方法来谁解决。如果刚体位移不可避免,可以人为施加合理的约束使其收敛,workbench就是通过施加弱弹簧来消除刚体位移的。

2)检查网格:尤其是错误信息提示有“单元出现严重扭曲”的语句时,这种情况发生在原模型计算前存在严重网格畸变的情形,可以通过 check,esle,warn 选择存在警告的单元位于何处,找到位置后再在该处细化。

3)检查载荷子步和时间步设置:一般是增加子步数或者减少时间步长,这点不用多说了,很实用很有效的方法。

4)检查材料参数设置:这一错误通常不容易发现,然而非常重要。材料模型不正确意味着不合理的应力应变关系,在施加载荷后往往出现不合理的结构响应,导致自由度位移过大而不收敛。具体说就是材料的EX,PRXY,金属材料的双线性和多线性参数等是否正确。

5)检查结构是否有不稳定:如果我们分析的结构是一个局部或全局不稳定结果,这一点必须考虑。比如在结构变形过程中出现了屈曲、刚度突变的情况,这个错误是非线性不收敛的一个重要错误。

6)检查接触的设置:接触是一个状态非线性问题,ansys中可选的参数很多,对于不同的接触其中的参数需要个别设置,其中主要的参数有接触行为方式,法向罚刚度因子,pingball域,初始穿透等等。

7)检查积分参数的设置:在瞬态分析采用完全求解方法时,默认的方法是Newmark方法,四个积分参数由γ控制,在一些特殊情况下,考虑数值衰减效果更加理想的HHT方法,或者手动设置四个积分参数(但是这必须在你非常清楚积分参数的影响和保证无条件收敛的情况下才可以)。

8)检查非线性求解器的选择:ansys默认的求解方法是iterative,即迭代法,即Newton-Raphson迭代,很多情况下该方法是可行的,但有时候直接迭代法direct能更好的收敛。

9)变形分析中约束方程的设置,一旦约束方程的节点的位移不满足方程存在的条件的话就会产生变形不合理、不收敛的情况。




扩展阅读
相关阅读
© CopyRight 2010-2021, PREDREAM.ORG, Inc.All Rights Reserved. 京ICP备13045924号-1