ANSYS求解过程中的迭代曲线图应该怎么看

数值模拟 4个月前 (02-16) 1,072 人围观 0

上面这张图,用过ANSYS的朋友一定都很熟悉吧,在开始求解到求解结束的整个漫长过程中,这幅图都会陪伴我们度过每一秒。

那么,图中的各个曲线分别代表了什么意思呢?下面来说一说

Time=1

这是时间标记,如果你的分析是多荷载步的,就会看到Time=1、2、3……如果在定义荷载步的过程中定义了时间的数值,那么这里就会按照用户定义的时间显示。时间很重要,可以在遇到程序意外错误的时候,通过时间数据找到“发生计算问题的时间点”以便于我们对模型的再修改。

横轴: Cumulative Iteration Number / 累积迭代数

在非线性问题的求解过程中,程序利用求解器进行迭代计算来得到最终的解答。横坐标的“数量”大小,和项目的非线性程度直接相关,越接近线性问题,迭代数越少,非线性程度越高或遇到难以收敛的时候,迭代次数就会显著增加。

纵轴: Absolute Convergence Norm / 绝对收敛范数

既然叫“范数”,联想到我们在建模过程中输入的各种数值都不是“范数”形式的,因此程序在求解过程中,在进行计算的同时,也把相应的变量进行了“规范化”处理,比如有时候会进行归一化等等。对于我们来说,纵轴的坐标数值并不重要,重要的是曲线之前的相对位置关系。

重点来了

我们来看看曲线代表了什么意思

注意上面的曲线,体现的是F(Force,荷载)与M(Moment,弯矩)之间的关系,用这二者来绘图,是因为在求解计算过程中,这二者在全部单元自由度中都有相关性。在有些分析中,还会出现温度、位移等。

上图中还可见的,是CRIT和L2标签,CRIT是criteria的缩写,指的是收敛判别准则;L2指的是L2级范数,当然还有L0、L1级范数,这里我们叫它为计算残差。

在求解过程中,ANSYS在每荷载步的迭代中,进行收敛判别准则和计算残差,计算残差是所有单元内力的范数,只有当残差小于准则时(在上图中指的是L2<CRIT时),认为本荷载步非线性计算收敛,进行下一个荷载步。因此我们能看到L2曲线有许多峰值,这些上峰值就是荷载步开始的时候,随后L2下降,向CRIT靠拢并最终交汇并小于CRIT,然后再出现上峰值,进行下一个荷载步。

至于看起来CRIT曲线在缓慢上升,可以这样理解:分析由许多的荷载步组成,而在荷载步中,力同时也会被“分割”,例如力收敛准则设置为10000,荷载步有100个,则对于第一个荷载步而言,力的收敛绝对值就是10000/100=100,是总体力收敛绝对值的1/100,在随后的“累积”计算过程中,向10000发展。

ANSYS的收敛准则,主要有力的收敛,位移的收敛,弯矩的收敛和转角的收敛。其中位移收敛是基于力收敛的,换言之,力收敛算的是绝对值,位移收敛算的是相对值。因此,在结构分析中,尽量使用力/力矩收敛准则,在用位移控制加载时才会优先考虑用位移收敛准则。至于用什么收敛准则,可以用CNVTOL命令进行设置。

缺省的收敛准则,是模型全部自由度变量的平方和再开方(SRSS)*valuse(自定义的值),例如:

CNVTOL,F,10000,0.0001,2 意思是:采用力收敛准则,10000是力的收敛绝对值,0.0001为收敛系数,力的收敛控制值为10000*0.0001=1,2为收敛2范数(L2,一般结构问题通常采用L2)。

此外,非线性计算中用到的一个开关是SOLCONTROL,默认情况如下:

在solcontrol 为打开状态时,对于力和力矩来说是默认值为0.005;对于没有转角自由度的DOF,其默认值为0.05。

在solcontrol 为关闭状态时,对于力和力矩来说,其默认值为0.001。    默认情况下solcontrol 为打开状态,因此如果用户完全采用默认的话,对于力和力矩来说是默认值为0.005;对于没有转角自由度的DOF,其默认值为0.05。

在监测整个迭代过程中,如果发现曲线不正常,无法收敛,甚至有时候见到曲线“往回走”,就需要对本次分析进行调整了,措施包括:

  1. 调整荷载步,增加子步数量;
  2. 修改收敛准则。当采用力收敛准则时,发现结构出现硬化,或相邻两次位移增量范数变化差异较大时,建议不实用位移收敛准则;当采用位移收敛准则,发现结构出现软化,或材料接近理想塑性时,建议不采用力收敛准则;

    收敛准侧可以使用一个或同时使用多个,当只使用一个收敛准则,发现求解过程中上图曲线发生很大的跳跃,则建议采用力和位移同时作为收敛准侧。

  3. 检查非线性设置(solcontrol命令);
  4. 重新划分网格;
  5. 检查模型的加载形式与边界条件;
  6. 检查模型的正确性。

参考资料: