首页/文章/ 详情

我所常用的材料:Mises塑性-3

21小时前浏览5

回顾过往:

我所常用的材料:Mises塑性

我所常用的材料:Mises塑性2

Zoomable

结合上几次说了一些非线性分析的迭代方法,今天我们重回非线性问题本身,结合上述说的塑性材料的积分点级别的迭代得到真实的应力、应变状态,我们来说一下在其切线刚度矩阵计算时的两种方法:一致性切线刚度矩阵(Consistent Tangent)连续介质切线刚度矩阵(Continuum Tangent)。两者在算法设计、数值稳定性及具体公式推导上会有一定的不同,大家做的时候特别是自己写本构,写UMAT,写自己的程序的时候需要注意。

• 一致性切线(Consistent Tangent)

基于Return-Mapping隐式积分算法,需迭代求解塑性乘子增量(    ),并严格通过全微分推导雅可比矩阵。例如: 在随动硬化模型中,需联立求解应力更新方程和背应力演化方程,


• 连续切线(Continuum Tangent)

直接基于理论公式计算,无需迭代塑性乘子。例如,在理想弹塑性模型中,根据流动方向     直接更新刚度矩阵。

对于隐式分析,一致性切线(Consistent Tangent) 刚度矩阵保证了Newton方法的二阶收敛性,因为其基于全微分理论,考虑了各个变量在更新过程中的变化。而连续切线 (Continuum Tangent) 刚度矩阵则可能会导致隐式分析的收敛性在一定程度上降低或者发散,特别是在力控制的情况,可能会造成不收敛。


总的来说总结如下:一般来说商业软件中在隐式分析中都采用一致切线刚度矩阵,大家自己开发的时候需要注意:

特性一致性切线      
(随动/各向同性硬化)      
连续切线      
(理想弹塑性)      
塑性乘子求解
牛顿迭代法求解非线性方程      
无迭代,直接公式计算      
硬化参数处理
需更新背应力(随动)或等效塑性应变(各向同性)      
仅需初始屈服应力      
代码复杂度
高(需张量运算和迭代收敛判断)      
低(直接代数公式)      
适用场景
复杂硬化模型、隐式分析      
显式动态分析、简单弹塑性模型      

另外就是很多文献中也会称连续切线刚度不一致(In-Consistent)切线刚度矩阵,大家看自己喜好叫啥都行。

如果大家感兴趣多种材料的一致刚度矩阵的推导过程(有些还是很复杂的),可以参考下面的文献:

  1. Rene de Borst, et al., Non-linear Finite Element Analysis of Solids and Structures
  2. M. A. Crisfield, Non-linear Finite Element Analysis of Solids and Structures, Volume 1: Essentials


来源:大狗子说数值模拟
非线性UM理论材料控制
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2025-04-06
最近编辑:21小时前
大狗子说数值模拟
博士 传播国际一流的数值模拟算法
获赞 6粉丝 11文章 50课程 0
点赞
收藏
作者推荐

有限元基础知识:牛顿法与修正牛顿法

继前文有限元基础知识:线性化说过Newton-Raphson迭代的基本流程,当时我们介绍的也叫完全牛顿法(FullNewton)我们通过不断的迭代使得即内外力平衡,其中外力是有所施加的载荷决定的,而内力则是由系统的应力与当前构型决定的。那么为了完成这个过程,我们就需要进行如下的计算,即在每一个迭代步都计算切线刚度矩阵,即根据第个迭代步的构型、应力应变状态计算当前的切线刚度矩阵。这个过程就好比精确制导,在每一个迭代之后,我们都准确的知道下一个迭代的方向,但是代价就是在每一个迭代后,我们都需要重新的计算刚度矩阵,并重新进行矩阵求解,而众所周知这个过程开销是比较大的。举个例子,在我们做非线性仿真分析的时候,经常需要将每一步切的比较小,那么可能一个非线性仿真就有几十个上百个增量步,而每个增量步内又有4-5个迭代步,那么可能会使得求解刚度矩阵的次数轻松的超过上百次,非常的费时(这也是非线性分析比线性分析花费时间长的多的主要原因之一)。另外有个问题就是因为每一步都需要计算切线刚度矩阵,当系统接近极值点的时候,就容易切线矩阵奇异,造成数值振动或者不收敛。所以我们就可以做多种方法,来改变一下最原始的牛顿法,今天先说一种:修正牛顿法(ModifiedNewton)其实改进牛顿法也比较容易理解,其核心无非就是,原本的牛顿法是每个迭代步都计算一次切线刚度矩阵,而改进牛顿法采用一种比较懒的策略,那就是我每隔几步算一次刚度矩阵,这样呢,就可以算完刚度矩阵后将分解后的矩阵存下来,大幅度提升效率。然而其实天下也没有免费的午餐,既然现在不再精确制导,而是开始大力出奇迹,我们理所当然的可以认为,现在的迭代路径并没有完全牛顿法那么精确,为了实现同样的收敛,我们往往需要迭代更多次。如下图所示的结构,在考虑几何非线性的情况下,我们可以看到,完全牛顿法收敛步数远小于修正牛顿法,大概是修正牛顿法的,然而因为其每一迭代步求解非常快,总体消耗的时间却可能更少。一般商业软件中对于修正牛顿法有几种方式:在每个增量步开始的时候计算切线刚度矩阵,迭代步不重新计算每隔n个迭代步计算切线刚度矩阵一步中迭代超过预设的最大迭代数的时候就更新切线刚度矩阵总的来说呢,在采用了修正牛顿法后,在非线性并没有特别强烈,边界条件并没有大的突变的情况下,我们一般都是可以更快的得到收敛的结果的。而且同理由于我们的刚度矩阵是在“很久之前”算出来的,可能就有机会跳过那个极值点的奇异矩阵,所以对于有极值点的问题,在一定程度上也可以解决。好了,今天就先说到这里,改进牛顿法一般会与线搜索(linesearch)一起用,而且也还有另外一类的迭代方法:割线类,经常成为拟牛顿法,或BFGS(优化领域居多),我们且听下回分解。来源:大狗子说数值模拟

未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈