ANSYS中非线性收敛问题总结 联系客服

发布时间 : 星期一 文章ANSYS中非线性收敛问题总结更新完毕开始阅读f67c5d0ebb68a98271fefa80

[转帖]问非线性计算的收敛和速度

Q:我在计算一个大型结构,地震荷载,BEAM188 计算时间太长一个小时可能计算了1秒总共40秒 而且越来越慢,不小心早上还停了电 如何能使计算加快?

或者怎么才能即使突然结束以后还能继续算? 谢谢!

A:调整优化非线性计算的收敛和速度可以说几乎是一种艺术, 即没有固定的可循规则, 呵呵.我的经验是, 你的结构的\非线性\越小, 非线性的变化越规则, 就越容易收敛. 想象一下如果你是手算这个非线性问题, 对你来讲较容易的, 对ANSYS的相应算法也会容易些. 可以把你的地震时程分析拿出几点, 做一下静态的非线性分析, 同时调整模型看看分析出来的结果是否合理. 如果这一步还没有做, 那花大量时间做出的时程分析是废品的可能性十分之大.

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

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

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

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

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

为此,我们尽量不要从开始即激活弧长法,还是让程序自己激活为好(否则出现莫名其妙的

问题)。子步(时间步)的步长还是应适当,自动时间步长也是很有必要的。

A:如何加快计算速度 在大规模结构计算中,计算速度是一个非常重要的问题。下面就如何提高计算速度作一些建议: 充分利用ANSYS MAP分网和SWEEP分网技术,尽可能获得六面体网格,这一方面减小解题规模,另一方面提高计算精度。 在生成四面体网格时,用四面体单元而不要用退化的四面体单元。比如95号单元有20节点,可以退化为10节点四面体单元,而92号单元为10节点单元,在此情况下用92号单元将优于95号单元。 选择正确的求解器。对大规模问题,建议采用PCG法。此法比波前法计算速度要快10倍以上(前提是您的计算机内存较大)。对于工程问题,可将ANSYS缺省的求解精度从1E-8改为1E-4或1E-5即可。

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

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

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

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

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

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

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

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

8 检查非线性求解器的选择:ansys默认的求解方法是iterative,即迭代法,即Newton-Raphson迭代,很多情况下该方法是可行的,但有时候直接迭代法direct能更好的收敛。 9 检查大变形分析中约束方程的设置,一旦约束方程的节点的位移不满足方程存在的条件的话就会产生变形不合理、不收敛的情况。

总而言之,最好的方法就是从out信息中寻找突破点。

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

1、模型——主要是结构刚度的大小。对于某些结构,从概念的角度看,可以认为它是几何不变的稳定体系。但如果结构相近的几个主要构件刚度相差悬殊,在数值计算中就可能导致数值计算的较大误差,严重的可能会导致结构的几何可变性——忽略小刚度构件的刚度贡献。 如出现上述的结构,要分析它,就得降低刚度很大的构件单元的刚度,可以加细网格划分,或着改用高阶单元(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里还是牛顿-拉普森法和弧长法。牛顿-拉普森法是常用的方法,收敛速度较快,但也和结构特点和步长有关。弧长法常被某些人推崇备至,它能算出力加载和位移加载下的响应峰值和下降响应曲线。但也发现:在峰值点,弧长法仍可能失效,甚至在非线性计算的线性阶段,它也可能会无法收敛。

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

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

充分利用ANSYS MAP分网和SWEEP分网技术,尽可能获得六面体网格,这一方面减小解题规模,另一方面提高计算精度。

在生成四面体网格时,用四面体单元而不要用退化的四面体单元。比如95号单元有20节点,可以退化为10节点四面体单元,而92号单元为10节点单元,在此情况下用92号单元将优于95号单元。

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

5、荷载步的设置直接影响到收敛。应该注意以下几点:

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

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

3、将收敛准则调整,以位移控制时调整为0.05,以力控制为0.01(CNVTOL,lab,value,tole

r,norm,minref)。

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

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

ANSYS的非线性收敛准则描述:计算收敛过程图

图片: CNVTOL, Lab, VALUE, TOLER, NORM, MINREF. U5 bANSYS中,非线性收敛准则主要有力的收敛,位移的收敛,弯矩的收敛和转角的收敛。一般用力的控制加载时,可以使用残余力的2-范数控制收敛;而位移控制加载时,最好用位移的范数控制收敛。: Z# G8 `7 k: K# y4 K'When SOLCONTROL,ON, TOLER Defaults to 0.005 (0.5%) for force and moment, and 0.05 (5%) for displacement when rotational DOFs are not present.

When SOLCONTROL,OFF, defaults to 0.001 (0.1%) for force and moment.4 V0 M1 J; [2 k4 w7 ?) N `% g6 v3 d) W q# B2 Y U7 a9 X& Y

收敛精度一般可放宽至 5%,以提高收敛速度。

加快收敛的方法有一下几种:

: x: N5 l7 K4 v3 x/ D* H

1可以增大荷载子步数,nsubst,nsbstp,nsbmn,carry , D8 h+ q4 W& x E/ d

2修改收敛准则,cnvtol,lab,value,toler,norm,minref j\

3 打开优化的非线性默认求解设置和某些强化的内部求解算法, solcontrol,key1,key2,key3,vtol(一般情况下,默认是打开的) \. o

4重新划分网格,网格的单元不宜太大或太小, 一般在5~10厘米左右 m; k+ x! L0 e

5 检查模型的正确性

下面计算收敛过程图中的各个曲线的具体含义是什么? h$ B( y% [, p* s$ _ 非线性计算是一个迭代计算的过程,曲线表示两次迭代之间的误差,图中分别表示力和位移在迭代过程中的每次迭代之间的误差 ' {5 q2 T* _* W+ w7 ]+ X

关于ansys中收敛准则(cnvtol)理解

ansys中依据缺省的收敛准则,程序将对不平衡力SRSS与VALUE*TOLER的值进行比较;而VALUE的缺省值是在SRSS和MINREF中取较大值。现假如TOLER的缺省值是0.1的话,这个准则是不是可以理解成后一次的SRSS是前一次的SRSS的01倍就收敛啦? 请指点

我是这样理解的例如下面的命令流: cnvtol,f,5000,0.0005,0 0 s$ y3 F% ^+ j cnvtol,u,10,0.001,2

2 Y* v' n1