用户在使用ABAQUS进行一般的非线性问题求解时,并不会接触到ABAQUS的理论模型。但是,对ABAQUS处理非线性问题的理论与方法有一定的了解对用户深入理解有限元方法、ABAQUS求解过程有重要的作用。如果求解出现问题,对求解理论有一定的了解,能迅速找到问题症结所在,对于实际项目的分析可以提高效率与求解精确度。
图11-8所示为结构的非线性载荷-位移曲线。ABAQUS使用Newton-Raphson法来求解非线性问题。在非线性分析中的求解不能像线性问题中那样,只求解一组方程即可,而是逐步施加给定的载荷,以增量形式趋于最终解。
图11-8 非线性载荷-位移曲线
因此ABAQUS将计算过程分为许多载荷增量步,并在每个载荷增量步结束时寻求近似的平衡构形。ABAQUS通常要经过若干次迭代才能找到某一载荷增量步的可接受的解。所有增量响应的和就是非线性分析的近似解。
图11-9 物体上的外部载荷和内部作用力
例如图11-9中,作用在物体上的外部作用力P和内部(结点)作用力I。作用于一结点上的内部作用力是由包含此结点的各单元中的应力引起的。为了使物体处于平衡状态,每个结点上施加的净作用力必须为零。因此平衡的基本判据为内部作用力I和外部作用力P必须互相平衡: P-I=0(11-2)
本节将引入一些新概念来描述分析中的不同组成部分。清楚地理解分析步,载荷增量步和迭代步的区别是很重要的。
模拟计算的加载过程包含单个或多个步骤,所以要定义分析步。它一般包含分析过程选择,载荷选择和输出要求选择。而且每个分析步都可以采用不同的载荷、边界条件、分析过程和输出要求。以板材变形为例说明:
■步骤一:将板材夹于刚性夹具上。
■步骤二:加载使板材变形。
■步骤三:确定变形板材的自然频率。
增量步是分析步的一部分。在非线性分析中,一个分析步中施加的总载荷被分解为许多小的增量,这样就可以按照非线性求解步骤来进行计算。
当提出初始增量的大小后,ABAQUS会自动选择后继的增量大小。每个增量步结束时,结构处于(近似)平衡状态,结果可以写入输出数据库文件、重启动文件、数据文件或结果文件中。选择某一增量步的计算结果写入输出数据库文件的数据称为帧(frames)。
迭代步是在一增量步中找到平衡解的一种尝试。如果模型在迭代结束时不是处于平衡状态,ABAQUS将进行另一轮迭代。
随着每一次迭代,ABAQUS得到的解将更接近平衡状态;有时ABAQUS需要进行许多次迭代才能得到一平衡解。当平衡解得到以后一个增量步才完成,即结果只能在一个增量步的末尾才能获得。
结构对于一个小的载荷增量ΔP的非线性响应示如图11-10所示。ABAQUS利用基于U0时的结构初始刚度K0,和增量ΔP来计算结构的位移修正值ca。利用ca将结构的构形更新为Ua。
图11-10 一增量步中的首次迭代(www.xing528.com)
基于结构新的构形Ua,ABAQUS形成新的刚度Ka。利用Ka来计算更新后的构形中结构的内部作用力Ia。所施加的总载荷P和Ia的差值可计算如下:
Ra=P-Ia(11-3)
式中:Ra——迭代的作用力残差值。
如果Ra在模型的每一自由度上均为零,图11-10中的a点将位于载荷-位移曲线上,结构将处于平衡状态。在非线性问题中,几乎不可能使Ra等于零,因此ABAQUS将Ra与容许残差进行比较。
如果Ra比作用力容许残差小,ABAQUS就接受结构的更新构形作为平衡结果。默认的容许残差设置为结构中对时间进行平均的作用力的0.5%。ABAQUS在整个模拟过程中自动从空间分布和对时间平均的角度计算该值。
若Ra比目前的容许残差小,就认为P和Ia处于平衡状态,Ua就是结构在当前载荷下合理的平衡构形。而ABAQUS在接受此解前,还要检查位移修正值ca与总的增量位移ΔUa=Ua-U0相比是否更小。若ca大于增量位移的1%,ABAQUS将重新进行迭代。只有这两个收敛性检查都得到满足,才认为此载荷增量下的解是收敛的。
上述收敛判断规则有一个例外,即线性增量情况。线性增量的定义是指增量步内最大的力残差小于时间平均力乘以108的增量步,凡严格满足这个定义的增量步无需再进行迭代,无需进行任何检查即可认为其解是可接受的。
若迭代结果不收敛,ABAQUS将进行另一种迭代以使内部和外部作用力达到平衡,如图11-11所示。第二种迭代采用前面迭代结束时计算得到的刚度Ka和Ra一起来确定另一位移修正值ca,这使得系统更加接近平衡状态。
ABAQUS利用结构新构形Ub中的内部作用力计算新的作用力残值Rb,再次将任意自由度上的最大作用力残值与作用力残值容许值进行比较,将第二种迭代的位移修正值cb与增量位移ΔUb=Ub-U0进行比较。如果需要的话ABAQUS将进行进一步的迭代。
图11-11 第二种迭代
对于非线性分析中的每次迭代,ABAQUS要重新形成模型的刚度矩阵并求解方程组。从计算耗时的角度来说,这意味着每次迭代等价于进行一次完整的线性分析。现在可以清楚地看到非线性分析的计算耗时可能要比线性问题大许多倍。
可以在每一收敛的增量步上保存结果,所以非线性模拟计算中得到的输出数据量将是线性分析中可得到数据量的很多倍。因此在规划计算机资源时,就应考虑这些因素及计划选择的非线性模拟计算的类型。
ABAQUS自动调整载荷增量步的大小,因此它能便捷而有效地求解非线性问题。用户只需在每个分析步计算中给出第一个增量的大小,ABAQUS会自动调整后续增量的大小。
若用户未提供初始增量大小,ABAQUS会试图将该分析步的全部载荷都作为第一增量步载荷来施加,这样在高度非线性的问题中ABAQUS不得不反复减小增量大小,从而导致CPU时间的浪费。
一般来说,提供一个合理的初始增量大小是很必要的;只有在很平缓的非线性问题中才可能将一分析步中的所有载荷施加于一个增量步中。
在一个载荷增量里得到收敛解所需的迭代步数会随系统的非线性程度而变化。默认情况下,如果在16次迭代中仍不收敛或出现发散,ABAQUS会放弃当前增量步,并将增量大小置为先前值的25%,重新开始计算,即利用比较小的载荷增量来尝试找到收敛的解。
若此增量仍不收敛,ABAQUS将再次减小增量大小。ABAQUS允许一增量步中最多有5次增量减小,否则就会中止分析。
如果增量步的解在少于5次迭代时就收敛,这表明找到解答相对很容易。因此如果连续两个增量步只需少于5次的迭代就可以得到收敛解,ABAQUS会自动将增量大小提高50%。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。