许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  Abaqus UMAT里J2弹塑性本构的应力更新,到底在算什么?

Abaqus UMAT里J2弹塑性本构的应力更新,到底在算什么?

阅读数 3
点赞 0
article_banner

做仿真的朋友大概率都听过UMAT,但真正动手写过的人不多。今天聊聊UMAT最核心的逻辑——应力更新算法,用最经典的J2弹塑性本构来说明。

UMAT到底在干什么?

一句话:**Abaqus每个增量步、每个积分点调用你的UMAT,你告诉它"这个点的应力是多少、刚度矩阵是什么"。**

具体来说,Abaqus传给你当前应变增量DSTRAN,你需要:

1. 更新STRESS数组(从步初应力算到步末应力)

2. 更新STATEV(状态变量,比如等效塑性应变)

3. 填充DDSDDE(一致切线刚度矩阵)

官方文档(SIMACAESUBRefMap/simasub-c-umat.htm)有句警告我印象很深:

> "Initial testing on a single-element model with prescribed traction loading is strongly recommended."

翻译成人话:**别上来就跑大模型,先用一个单元把你的代码验对了。**

J2塑性的应力更新:弹性预测+塑性修正

核心思路就两步:

**第一步:弹性预测(Trial)**

先假设这一步是纯弹性的:

**第二步:判断是否屈服**

算等效应力 σ_eq = √(3/2 · s:s),跟当前屈服应力比:

- 如果 σ_eq ≤ σ_y → 弹性步,直接接受

- 如果 σ_eq > σ_y → 进入塑性修正

**第三步:Return Mapping**

塑性乘子的解析解(等向硬化情况下):

然后修正应力:

其中 n = 3s/(2σ_eq) 是流动方向。

Fortran代码骨架

几个实战中容易踩的坑

1. **应力存储顺序**:直接分量(11,22,33)在前,剪切分量(12,13,23)在后,剪切是工程剪应变

2. **NTENS随单元变**:3D实体=6,平面应变=4,平面应力=3,代码要兼容

3. **DDSDDE决定收敛速度**:写错了不会算错(如果能收敛),但迭代次数会爆炸

4. **有限应变下应力已旋转**:Abaqus调UMAT前做了刚体旋转,你只管corotational积分

验证方法

C3D8R单单元 + 位移载荷 → 提取应力应变 → 跟理论曲线对比:

- 弹性段:σ = E·ε

- 塑性段:σ = σ_y + H·(ε - σ_y/E)

再建一个相同参数的*PLASTIC内置模型,两条曲线应该完全重合。重合了,你的UMAT就对了。

遇到类似问题可以腾讯会议交流,扣1八7我185联,系8827。


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空