首页/文章/ 详情

ABAQUS增量迭代法简介

1年前浏览685

1. 非线性问题的求解

在有限元分析中,常见的非线性因素有材料非线性、几何非线性和边界非线性等,无论是哪种非线性因素,结构的非线性载荷-位移曲线都可以表示为如图1.1所示的形式:

1.1 非线性载荷-位移曲线

分析的目标即为确定该载荷-位移响应。在非线性分析中,我们并不能像线性问题那样直接通过求解简单的线性方程来计算,而是需要将载荷看作随时间变化的函数,并确定合适的时间增量步迭代求解,该求解方法即为增量迭代法。ABAQUS/Standard会将仿真过程分割为若干个时间增量步,并在每个时间增量步的结束时刻寻找平衡方程的近似解。通过使用Newton法,ABAQUS通常需要在每个时间增量步内进行多次迭代来获得收敛的结果。

考虑外力P和内力(节点力)I作用在一个物体上,如图1.2所示。作用在节点上的内力是由单元应力引起的。

1.2 作用在物体上的外力和内力

如果物体处于平衡状态,则作用在节点上的残余节点力应该等于零。因此,在内力和外力的作用下,系统的平衡方程为:


 


由于载荷增量ΔP引起的结构的非线性响应如图1.3所示。ABAQUS/Standard使用结构位于u0处的切线刚度K0ΔP来计算位移修正量ca。通过使用ca,可以计算得到附加载荷增量ΔP后结构的位移ua

1.3 增量步的第一次迭代

随后ABAQUS/Standard将会计算位移ua对应的结构内力Ia。施加的外力P和结构内力Ia之间的差值为:


 


其中Ra即为此次迭代下的残余力。

如果在模型的每个自由度中Ra都等于零,则图1.3中点a将会位于载荷-位移曲线上,即代表结构是平衡的。在非线性问题中,Ra是不可能等于零的,因此ABAQUS/Standard会将Ra与某个容差值进行对比。如果在所有节点上,Ra都是小于这个残余力容差,那么ABAQUS/Standard将会认为系统处于平衡状态。在默认情况下,这个容差值为整个时间历程内结构平均节点力的0.5%ABAQUS/Standard将会在仿真过程中自动计算该节点平均力。你可以在求解控制(solution controls)中更改该容差或所有与之类似的容差。

如果Ra小于当前容差值,那么在当前载荷下ua被认为是一个有效的平衡状态下的位移。当然,在此之前,ABAQUS/Standard还会检查最后的位移修正值ca是否相对于总的位移增量Δua=ua-u0足够小。如果ca大于了位移增量的某个百分比(默认为1%),ABAQUS/Standard仍将进行下一轮迭代。只有当两个收敛准则同时满足时,ABAQUS/Standard才认为计算结果是收敛的。

如果在此轮迭代中计算并未收敛,ABAQUS/Standard将会尝试下一轮迭代使得内力和外力尽可能接近平衡状态。首先,ABAQUS/Standard将会基于更新后的位移ua计算新的切线刚度Ka。该刚度值与残差力Ra将共同确定新的位移修正值cb,并使得系统更接近平衡状态(图1.4中的b点)。

1.4 第二次迭代

ABAQUS将会使用更新后的位移值ub来计算新的残余力Rb。同样地,在任意自由度下的最大残余力Rb都将与残余力容差进行比较。第二次迭代下的位移修正值cb也将与位移增量Δub进行比较。如果问题仍未收敛,ABQUS/Standard将再次进行迭代。

在非线性分析的每次迭代过程中,ABAQUS/Standard都将计算模型的刚度矩阵并求解方程组。因此,每进行一次迭代的计算量也接近一次完整的线性分析的计算量,使得求解非线性问题的计算量是线性问题的数倍。由于ABAQUS/Standard可以输出每一次平衡增量步下的计算结果,这也导致非线性问题输出的数据远大于线性问题的数据。

默认情况下,ABAQUS/Standard将会自动调整增量步的大小以高效地求解非线性问题。你只需要指定初始增量步的大小,ABAQUS/Standard将会自动调整后续增量步的大小。对于高度非线性问题,ABAQUS/Standard将会不断缩小增量步的大小以获得平衡解,这也将耗费大量的计算时间。因此,在轻微非线性的问题中,推荐设置一个较为合理的增量步以节省计算时间。

使得问题收敛所需的迭代次数取决于问题的非线性程度。在默认的增量控制下,迭代过程如下所述。如果在经历16次迭代后计算仍然没有收敛,或者求解出现不收敛的情况,ABAQUS/Standard会将增量步设置为前一个增量步的25%,并使用减小后的时间增量进行迭代。如果求解依然不收敛,ABAQUS/Standard将会再次减小时间增量的大小。该过程将会一直重复直到求解收敛。如果时间增量在经过多次缩减后小于了你定义的最小增量步,或者经过5次缩减后问题依然不收敛,ABAQUS/Standard将会终止此次计算。

如果在5次迭代内该增量步就收敛了,则表明该问题比较容易求解。因此,如果在连续两个增量步中迭代次数均小于5次,则ABAQUS会自动将增量步增长50%

尽管默认的自动增量控制对于大多数分析都是适用的,你依然可以在求解控制中更改所有的默认选项。

2. 增量迭代法示例

为了对上述的迭代过程有更清晰的认识,本文以一个简单的非线性方程为例,运用Newton法对该方程进行迭代求解。

假定载荷P和位移u之间满足下述非线性关系:


 


现在需要求解载荷P=4时对应的位移值u

按照前面所述,ABAQUS/Standard首先会将仿真过程分割为若干个时间步,并在每个时间步的终止时刻寻找平衡方程的近似解。这里将总的分析时间设为1s,初始时间增量步Δt取为0.5s,假定在分析过程中载荷随时间线性增长,因此有:


 


u0=0对应的切线刚度K0为:


 


因此位移修正量ca为:


 


可以计算得到附加了ΔP之后的位移ua为:


 


而在位移ua下的内力Ia(实际的载荷)为:


 


因此此次迭代的残余力Ra为:


 


比较残余力Ra和内力Ia有:


 


这显然大于ABAQUS默认的0.5%的容差,因此迭代过程不收敛。ABAQUS将进行下一轮迭代。为了区分每一次迭代步,以下用上标i表示每一次迭代。

ABAQUS首先根据更新后的位移值ua(以下用u1表示)计算新的切线刚度K2


 


新的切线刚度K2和第一次迭代的残余力Ra(以下用R1表示)将共同确定新的位移修正量c2


 


因此新的位移值u2为:


 


而在位移u2下的内力I2为:


 


因此此次迭代的残余力R2为:


 


比较残余力R2I2有:


 


这仍然大于ABAQUS默认的容差,迭代不收敛,但相比于第一次迭代,第二次迭代显然已经更接近于真实值。以下不再赘述每一次迭代过程,每次迭代过程如表2.1所示。

2.1 第一个增量步的迭代过程

从表2.1中可以看出,在经过5次迭代后误差小于ABAQUS默认的0.5%的容差,然而最后一次迭代的位移修正值为-0.0092,而总的位移增量为0.6932,因此位移修正值与总的位移增量比值为-1.33%,这大于了ABAQUS默认的1%的容差,因此还需要进行一轮迭代。但是从工程运用的角度来看,此时的数值解已经足够精确了。按照前文所述,如果在经过16次迭代后该增量步下仍然不收敛,则ABAQUS会将增量步设置为前一个增量步的25%并继续迭代。如果经过5次缩减后问题仍然不收敛,则ABAQUS将终止计算。

在第一个增量步的迭代过程如图2.1所示。

2.1 第一个增量步迭代过程

从图2.1中可以看出,随着迭代过程的进行,数值解将不断逼近于精确解,而收敛速度的快慢则取决于切向刚度的大小,但切向刚度并不会影响结果的收敛性。

在第二个增量步中,仍然假定增量步为0.5,则对应的载荷增量ΔP22,对应的载荷值为:


 


ABAQUS将根据第一个增量步结束时的位移值形成新的切向刚度,并根据残余力计算新的位移修正值,进行下一轮迭代,迭代过程与上述过程是完全相同的,每次迭代过程如表2.2所示。

2.2 第二个增量步迭代过程

在第二个增量步中,经过3次迭代后,残余力与内力的比值小于了0.5%的容差,可以认为迭代已经收敛。因此当P=4时,对应的位移值u1.3872


来源:FEM and FEA
非线性材料控制
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2023-05-30
最近编辑:1年前
追逐繁星的Mono
硕士 签名征集中
获赞 47粉丝 95文章 66课程 0
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈