首页/文章/ 详情

有限元基础知识:几何非线性中的TL与UL

2月前浏览78

之前介绍过非线性分析,包括材料、几何与接触非线性,

有限元基础知识:非线性分析

几何非线性:应变张量

今天就几何非线性着重说一下,对于几何非线性分析有两种基本描述方法,Total Lagrange(TL)和Updated Lagrange(UL)方法是两种主要拉格朗日框架。它们的核心区别在于参考构型的选择,这直接影响了应变、应力度量和平衡方程的数学形式。

参考构型用“人话”来说就是你的变形、应变是基于哪个形状定义的?是初始时刻的呢?还是    时刻的呢?

以下从理论公式和实际案例两方面详细说明其差异:

参考构型的定义

• Total Lagrange(TL)方法

始终以初始未变形构型(时间     )为参考。所有物理量(如应变、应力)均映射到初始构型上描述。
关键公式:
• 应变度量:Green-Lagrange应变张量

 

其中        为位移,       为初始坐标, 后续大写    普遍表示未变形的形体 位置坐标,也就是对应于    时刻。
• 应力度量:第二类Piola-Kirchhoff应力张量       ,与Green应变共轭。

• Updated Lagrange(UL)方法

以上一增量步的变形后构型(时间      )为参考。物理量在每个增量步更新到最新构型。
关键公式:
• 应变度量:Almansi应变张量(或增量形式的对数应变)

 

其中       为增量位移,       为当前坐标,所以这里可以看到与上述UL中应变表达的不同,首先是基于增量位移,其次参考构型是变化的是上一步变形后的构型。


• 应力度量:Cauchy应力张量  \sigma ,直接描述当前应力状态


平衡方程的弱形式

• TL方法的平衡方程:

 

积分域为初始体积       ,需处理几何非线性项(如位移二次导数)。

• UL方法的平衡方程:

 

积分域为当前体积       ,几何非线性通过构型更新隐式处理。

应力更新算法

• TL方法:

应力通过材料本构模型直接更新为第二类Piola-Kirchhoff应力:

 

其中        是弹性张量。

• UL方法:

先计算Cauchy应力增量,再通过旋转张量更新:

 

     为旋转张量,       为Almansi应变增量。


收敛性与计算效率

很多教材与论文都会探讨这两者的收敛性是效率的,然而事实上是这东西跟谁编程,怎么写代码关系非常大。我只能说天下没有免费的午餐,你得到一些东西的同时总会失去一些东西,常规上来说可以做如下总结

• TL方法:因初始构型固定,Newton-Raphson迭代易因大旋转步发散,如果对于变形没有那么大,没有接触的材料非线性+结合非线性是比较适合的

• UL方法:构型逐步更新,Jacobian矩阵条件数更低,迭代更稳定,又由于每步都更新构型,对于接触分析比较适合

两种方法本质是同一物理规律的不同数学描述:TL更适合材料非线性主导问题(y由于不用更新构型),UL更擅长几何非线性与接触耦合场景(因为接触你反正无论如何都得更新构型,虽然正常教科书上绝对不会说是这个理由)。实际应用中(如Abaqus/ANSYS)常混合使用,例如UL处理接触边界,TL处理材料本构。

以下是一个基本的TL的代码流程,大家可以以此作为参考:




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

关于一些常见的梁、壳连接的思考

最近经常处理一些不同的连接,也在用户的案例中看到了非常多种发生错误的方式,不得不说有限元分析中连接是一个好东西,但也是最经常发生错误的地方(另一个可能是接触),我将我工作中发现的模型错误的可能性排序从高到低大概是这样:连接接触边界条件(尤其是约束)材料模型(或者有人会把参数输入错误)单元类型误用函数误用所以今天就说一说我最近看到的一些连接方式,与相应的思考壳单元,实体单元直接共节点如图所示,我在很多人的模型中看到过如下这种结构,壳单元直接通过共节点与实体单元连接起来,这个连接方式极其危险。因为大家知道,壳单元有6个自由度,实体单元有3个自由度,所以在连接的地方,壳单元的后三个转动自由度是完全没有约束的,这就导致了其实上边这片壳可以自由“晃动”。 但是坏就坏在,很多时候这种情况还能算,原因在于很多商业软件都会默认用个软弹簧把没约束的地方约束一下,另外就是很多人诸如用非线性分析会默认打开稳定项,也就是Abaqus非线性分析中的这个选项,这些在一定程度上可以解决上述乱晃的问题,但由于稳定项与软弹簧都无法给你确定的结果(你的结果啥样,全看运气),结果是否正确,谁又知道呢? 正确的方式,如果想直接用壳单元实现边焊连接,其实可以采用如下的方式 首先将板子拉通到下边,然后共节点,然后再拉一个斜角焊缝到下边共节点,这样有两个地方共节点,就不会发生上述由于壳单元转动自由度没被约束而乱晃的情况了。注:稳定项虽好,千万别乱用!梁与实体连接与上述类似,很多人就这样把一个梁和实体连到一起了,通过共节点的方式,梁和实体连在同一个点上,同理也会“乱飞”,原因也是梁有3个转动自由度,而实体没有。 而且这种方式一般来说在另一个角度也是十分错误的,比如现实生活中细长结构通常被我们简化为梁单元,大块的结构用实体单元,这是很多人都有的常识,但是当两者相连接的时候,对于梁却不应该只连在实体的一个点上,因为真实中梁界面肯定是有一个面积的,这种连接方式等同于将一个小区域的分布力集中在一个小点上了,算出的结果应力集中不说,一般来说变形情况也会受影响。正确的做法就是考虑截面的面积,绑上周边一堆单元节点,想刚性一点呢就用RBE2 也就是kinematic coupling,想柔性一点呢就用RBE3 也就是distributed coupling 梁与壳连接由于梁、壳每个节点都有6个自由度,首先我们可以直接通过共节点连起来,也可以通过上述RBE的方式连接,同样,如果有很多梁分布在壳的时候,就比如这种结构 如果不想费劲的设置共节点或者RBE,其实也可能无脑的将梁的绑在壳上边,Abaqus中可以设置Tied连接,其他软件类似,但是,一定要注意的是,千万要勾选这个选项如下图Abaqus,Ansys中也有类似的,否则转动自由度也不会被连到一起,最后变形情况就会很怪,梁、壳之间没有弯矩传递,算出的结果就是个没用的云图 。当然,如果你想所有结构都实体单元硬怼,那么绑定+共节点确实基本就足够了,但一般情况下对于大型案例,这并不可能。最后愿所有的工程师都热衷思考且执着,别随便给个结果,好好思考自己计算的场景,并相信自己计算的结果。来源:大狗子说数值模拟

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