ANSYS非线性不收敛问题及解决
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
非线性逼近技术。
在ANSYS里还是牛顿-拉普森法和弧长法。
牛顿-拉普森法是常用的方法,收敛速度较快,但也和结构特点和步长有关。
弧长法常被某些人推崇备至,它能算出力加载和位移加载下的响应峰值和下降响应曲线。
但也发现:在峰值点,弧长法仍可能失效,甚至在非线性计算的线性阶段,它也可能会无法收敛。
本文介绍了ANSYS中常见的一些非线性不收敛问题和相关分析。
影响非线性收敛稳定性及其速度的因素很多:
1、模型一一主要是结构刚度的大小。
对于某些结构,从概念的角度看,可以认为它是几何不变的稳定体系。
但如果结构相近的几个主要构件刚度相差悬殊,在数值计算中就
可能导致数值计算的较大误差,严重的可能会导致结构的几何可变性一一忽略小刚度构件
的刚度贡献。
如出现上述的结构,要分析它,就得降低刚度很大的构件单元的刚度,可以
加细网格划分,或着改用高阶单元(BEAM->SHELL,SHELL->SOLID)。
构件的连接形式(刚
接或铰接)等也可能影响到结构的刚度。
2、线性算法(求解器)。
ANSYS中的非线性算法主要有:稀疏矩阵法(SPARSE DIREC
T 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节点单元,在此情况下用9
2号单元将优于95号单元。
选择正确的求解器。
对大规模问题,建议采用PCG法。
此法比波前法计算速度要快1
0倍以上(前提是您的计算机内存较大)。
对于工程问题,可将ANSYS缺省的求解精度从1 E-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,valu
e,toler, norm,mi nref) 。
4、对于线性单元和无中间节点的单元(SOLID65和SOLID45),关闭EXTRA DISPLA CEMENTS OPTIONS( 在OPTIONS 中)。
5、对于CONCRETE材料,可以关闭压碎功能,将CONCRETE中的单轴抗压强度设
置为-1(tadata,mat,shrcf-op,shrcf-cl,UntensSt,UnCompSt(-1)) 。
ANSYS非线性分析时的收敛问题作者:宋俊磊
ANSYS 中,非线性收敛准则主要有力的收敛,位移的收敛,弯矩的收敛和转角的收敛。
一般用力的控制加载时,可以使用残余力的2- 范数控制收敛;而位移控制加载时,最好用位移的范数控制收敛。
ansys 计算非线性时会绘出收敛图,其中横坐标是cumulative iteration numbe
r 纵坐标是absolute convergence norm 。
他们分别是累积迭代次数和绝对收敛范数,
用来判断非线性分析是否收敛。
ansys 在每荷载步的迭代中计算非线性的收敛判别准则和计算残差。
其中计算残差是所有单元内力的范数,只有当残差小于准则时,非线性叠代才算收敛。
ansys 的位移收敛是基于力的收敛的,以力为基础的收敛提供了收敛量的绝对值,而以位移为基础的收敛仅提供表现收敛的相对量度。
一般不单独使用位移收敛准则,否则会产生一定偏差,有些情况会造成
假收敛.(ansys 非线性分析指南-- 基本过程Page.6)。
因此ansys 官方建议用户尽量以力为基础(或力矩)的收敛误差,如果需要也可以增加以位移为基础的收敛检查。
ANSYS 缺省是用L2 范数控制收敛。
其它还有L1 范数和L0 范数,可用CNVTOL 命令设置。
在计算中L2 值不断变化,若
L2<crit 的时候判断为收敛了。
也即不平衡力的L2 范数小于设置的criterion 时判断为收敛。
由于ANSYS 缺省的criterion 计算是你全部变量的平方和开平方(SRSS)*valuse (你设置的值),所以crition 也有小小变化。
如有需要,也可自己指定crition 为某一常数,CNVTOL,F,10000,0.0001,0 就指定力的收敛控制值为10000*0.0001=1 。
另外,非线性计算中用到的一个开关是SOLCONTROL 如关闭SOLCONTROL 选项,那么软件默认收敛
准则:力或弯矩的收敛容差是0.001 ,而不考虑位移的收敛容差;如果打开SOLCONTRO
L选项,同样的默认收敛准则:力或弯矩的收敛容差是0.005,而位移收敛容差是0.05。
非线性收敛非常麻烦,与网格精度、边界条件、荷载步等一系列因素有关,单元的特
点对收敛的影响很大,单元的性态不好收敛则困难些;合理的步长可以使求解在真解周围不至于振荡,步长过小,计算量太大,步长过大,会由于过大的荷载步造成不收敛。
网格密度适当有助于收敛,网格太密计算量太大,当然太稀计算结果会有较大的误差。
究竟多少往往要针对问题进行多次试算。
如果不收敛,可以考虑一下方法改进
1. 放松非线性收敛准则。
(CNVTOL #Sets con verge nee values for non li near an alyses).
2. 增加荷载步数。
(NSUBST #Specifies the nu mber of substeps to be take n this load step)
3. 增加每次计算的迭代次数(默认的25次)
(NEQIT #Maximum nu mber of equilibrium iteratio ns allowed each subste
P)
4 重新划分单元试试,后续会得到不同的答案。
应注意到,放大收敛准则其实是在降低计算精度的条件下得到近似解,并且放大
的收敛准则是否与实际相符或有实际意义应仔细考虑。
1可以增大荷载子步数,n subst ,n sbstp, nsbm n, carry
2 修改收敛准则,cnvtol,lab,value,toler,norm,minref
3打开优化的非线性默认求解设置和某些强化的内部求解算法solcontrol,key1,key2,key3, vtol (一般情况下,默认是打开的)
4重新划分网格,网格的单元不宜太大或太小,一般在5〜10厘米左右
5 检查模型的正确性
非线性问题耗时,求解起来比较麻烦,一旦发生不收敛,需要重新设置边界条件,重新求
解,非常耽误时间。
使用分析重启动的方法能解决这个问题。
就好像flashget 一样,断点续传。
不至于重从再来。
有关分析重启动的设置:solution con trol 里面有一项是设置分析重启动的。
可以选择写多少个重启动文件,每隔多少子步写一个重启动文件。
(系统默
认是在最后一步写重启动文件。
)一旦发生求解不收敛,系统会保留到前一个收敛的子步
的信息,下次再分析时,将从那里开始。
当进行重启动分析时,系统会弹出来一个文件框,
里面纪录了你的求解信息,按照提示,就可以进行重启动分析。
大量节省时间!
我是这样理解的例如下面的命令流:
CNVTOL, Lab, VALUE, TOLER, NORM , MINREF
cnvtol,f,5000,0.0005,0
cnvtol,u,10,0.001,2
如果不平衡力(独立的检查每一个自由度)小于等于5000*0.0005 (也就是 2.5 ),并且如果位移的变化小于等于10*0.001 时,认为子步是收敛的。
ANSYS 中收敛准则,程序默认力与位移共同控制,并且收敛的控制系数好像是0.001 。
这样的收敛精度一般很难使塑性分析收敛,对于一般的塑性分析收敛问题,前几个荷载步(弹性阶段)用力与位移共同控制,进入塑性后用力控制或位移控制,也可以先用力后用位移控制(位移控制比较容易收敛),至于控制系数取多少,自己根据需要逐步放大直至收敛!也有人建议最后用能量来控制收敛,convergence value 是收敛值,convergenc e norm 是收敛准则。
ansys 可以用cnvtol 命令, 如:cnvtol,f,10000,0.00001,2,, 其中f 是指采用力结果,10000 是收敛绝对值,0.00001 是收敛系数,2 是收敛2 范数。
收敛准则应该是指选取那种结果进行收敛判定,通常有三种选择,分别是力( f ),位移
(u )、和能量。
当然这三种形式可以单独使用也可以联合使用。
收敛准则的另一层意思应该是选取什么范数形式(1、2、 3 范数)。
一般结构通常都选取 2 范数格式。
而收敛值只是收敛准则中的一部分,如cnvtol 命令中的收敛绝对值与收敛系数的乘积就应该是你所指的收敛值(convergence value )。
ansys 使用收敛准则有L1 ,L2,L~~ (无穷大)三个收敛准则。
在工程中,一般使用收敛容差(0.05 )就可以拉。
建议使用位移收敛准则((cnvtol,u,0.05,,, ) 与力收敛准则(cnvtol,f,0.05,,,) 。
因为仅仅只使用一个收敛准则,会存在较大的误差。
假如你只能是使用一个收敛准则,建议你提高收敛容差( 0.01 以下)。