用完美的表情 发表于 2019-11-25 09:43

结构有限元分析中的静力分析 —— 非线性分析



什么是非线性
在讨论非线性静力分析之前,先看看什么是非线性。

简单说,非线性系统指的就是输入和输出之间不再是线性关系,因此也失去了线性系统的一些性质,如交换和叠加等。

对于一个非线性系统,通常会定量或定性地将其拆成线性部分和非线性部分,对于线性的偏离程度被称为非线性的强弱。

对于弱非线性和强非线性在不同领域有不同的处理方法。

关于弱非线性的分析方法,大多是围绕着线性系统增加一些处理实现的,如摄动、平均等,很多能得到近似理论解;而强非线性问题就复杂得多,一般通过数值解来实现。

这里不讨论弱非线性问题的解析方法,将非线性问题的处理统一到数值分析方法中。

基本概念
非线性问题有很多种方法,如Newton- Raphson法、Steffensen法、弦割法和抛物线法等,这里仅介绍有限元分析中主流采用的Newton- Raphson方法。

在数值求解非线性问题时,通常会将求解域分解为若干个子域,然后在子域内建立方程的迭代公式,最后递推到整个求解域。

有限元分析中,有这么几个相关的概念:

· 步(Step):通常指载荷步,在分析过程中,将整个加载过程分为若干个先后步骤;如分析弹塑性问题时,第一步加载,第二步卸载;当然加载过程也可以分解成多个Step,不过通常这个可以在求解过程中由多个子步(Substep)实现;

· 子步(Substep):由于每个Step是非线性的,为了求解,将其分解为多个Substep,保证每个Substep收敛,最终实现每个Step收敛;
· 迭代(iteration):在每个Substep中,需要通过iteration求解,实现每个Substep收敛;
· 收敛(convergence):一般分为绝对值收敛和相对值收敛,即在求解过程中,判断解的波动值是否小于某一给定的值,若小于则表示满足收敛判据,iteration停止,进入下一环节;反之则继续下一次迭代。


Newton-Raphson方法
简单介绍一下Newton-Raphson的实现过程。

Step和实际物理过程对应,这里就不详细介绍了。

首要考虑的问题是如何分割Substep;通常有固定划分和自动划分两种:
· 固定划分就定义每个Substep步长,通常等间隔划分;
· 自动划分通过先前计算的步长预测下次步长,每次步长自动调整,由Initial、Min和Max控制;其中Initial为第一个子步的初始尝试,Min/Max为最大/最小;分为步长数和步长间隔两种方控制。

接下来的问题就是每个子步如何通过多个iteration实现子步的收敛。

· 该子步中,设第i个迭代步时的位移为Ui、刚度K(Ui)=Ki,即实际中是切线刚度矩阵KTi(tangentmatrix),也是JaobianMatrix;子步终止时的载荷为Pa
· 计算载荷残差(不平衡力)∆Pi=Pa-Kiqi,计算位移残差∆qi=∆Pi/Ki
· 计算qi+1=qi+∆qi
· 位移收敛:判断| qi+1-qi |/ qi =|∆qi |/ qi的值是否小于给定收敛容差ε,若小于则此Substep收敛;否则重复以上两步。力收敛:判断| Pa-Pi |/ Pi =|∆Pi |/ Pi的值是否小于给定收敛容差ε,若小于则此Substep收敛;否则重复以上两步
· 此外,由于每次更新切线刚度矩阵计算量过大,如果每次迭代采用初始切线刚度矩阵,大大减少计算量,不过会增加迭代次数,这种方法叫做修正的Newton-Raphson法。

整个Step中的迭代计算。


其他技巧
以上是有限元中求解非线性问题的基本流程,但在实际是使用中,非线性问题的收敛是非常困难的;有一些通用的技巧被用到求解过程中,使得求解变得相对容易进行下去;尽管有一些处理方法,但是总体而言,非线性问题仍是非常困难,收敛过程需要大量的“调参”,同时平衡收敛、准确和耗时,需要通过大量的案例获取经验。

这些技巧主要包括:
· 自动子步:通过开启自动子步,并通过Initial、Min、Max控制,分为步长数和步长间隔两种方式;
· 切线刚度矩阵自适应下降(AdaptiveDescent):通过给予切线刚度矩阵添加一个修正刚度矩阵改善收敛性;
· 线性搜索(LineSerach):迭代过程中,给予迭代位移增量乘一个小于1的比例系数;
· 弧长法(Arc-Length):对于不稳定类型的非线性问题,利用弧长法有较好的效果;不光滑以及不连续之类的非线性问题,如接触和理想弹塑性,效果不好。


页: [1]
查看完整版本: 结构有限元分析中的静力分析 —— 非线性分析