当前位置:文档之家› 非线性收敛准则

非线性收敛准则

ansys计算非线性时会绘出收敛图,
其中横坐标是cumulative iteration number
纵坐标是absolute convergence norm。
他们分别是累积迭代次数和绝对收敛范数,用来判断非线性分析是否收敛。
ansys在每荷载步的迭代中计算非线性的收敛判别准则和计算残差。
其中计算残差是所有单元内力的范数,只有当残差小于准则时,
非线性叠代才算收敛。ansys的位移收敛是基于力的收敛的,
以力为基础的收敛提供了收敛量的绝对值,
而以位移为基础的收敛仅提供表现收敛的相对量度。
一般不单独使用位移收敛准则,否则会产生一定偏差,
有些情况会造成假收敛.(ansys非线性分析指南--基本过程Page.6) 。
因此ansys官方建议用户尽量以力为基础(或力矩)的收敛误差,
如果需要也可以增加以位移为基础的收敛检查。
ANSYS缺省是用L2范数控制收敛。
其它还有L1范数和L0范数,可用CNVTOL命令设置。
在计算中L2值不断变化,若L2也即不平衡力的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.放松非线性收敛准则。
(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 重新划分单元试试,后续会得到不同的答案。
就我的经验,前两种方法效果好一些,后一种方法不一定奏效。
但应注意到,放大收敛准则其实是在降低计算精度的条件下得到近似解,
并且放大的收敛

准则是否与实际相符或有实际意义应仔细考虑。


最近也碰到非线性收敛的问题。
看了这贴,也说两句自己的粗浅看法。
1.网格的划分问题。用六面体划分的网格相比四面体而言更容易收敛,而且节点更少,计算也快。因为使用四面体的话,一般需要二次的单元,所以节点数会比较多。
2.如果计算结果非常趋近收敛准则(不是振荡),而此时由于已经达到了默认的迭代次数(楼主说是25次,好像是26次?) 造成的不收敛可以增加迭代次数。 此时比较有效。 命令: NEQIT
3.把line search 设置成on有时也有效。 命令:lnsrch,1
4.限制最少子步数。对比较难收敛的模型,可以限制最少子步数,从而使得每一子步都不至于过大。


相关主题
文本预览
相关文档 最新文档