您的位置:网站首页 > Ansys教程

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

时间:2008-09-15 10:19:24 来源:
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即可。