首页/文章/ 详情

【UMAT1】下篇-各向同性线弹性UMAT实践

11小时前浏览17

为了说明各向同性线弹性仿真的子程序调用原理,笔者在Abaqus当中分别演示了两种求解过程:一种是使用Abaqus中的内置模块;另一种是通过子程序的方式。
如需获取实践所需的材料以及演示过程,请点击【阅读原文】直达B站同期视频。

使用Abaqus中的内置模块

在Abaqus当中完成建模后,会自动生成包含模型数据的INP文件。笔者提前创建了简单的剪切变形模型。在Abaqus的作业管理器(Job Manager)中可直接创建新作业(Create Job),附上INP文件后提交作业(Submit)。具体的操作演示可参考视频。

使用子程序二次开发

  1. 首先,我们需要创建合适的子程序文件。此处主要包含的就是UMAT函数。这里列出函数的重要变量如下:
  • DSTRAIN 为应变增量,作为函数的形参。
  • DDSDDE 为本构模型的雅可比矩阵       。在线弹性的情况下,该增量形式与全量形式       的结果相同,即为上一期中介绍的6x6弹性矩阵       
  • STRESS 为应力       ,作为函数的返回值。
  • NDI 为主应力个数。
  • NSHR 为切应力个数。
  • NTENS 为应力或应变的矩阵大小,即NDI+NSHR。
  • PROPS 为材料属性构成的数组,包括的属性有例如杨氏模量        、泊松比        等。
  • NPROPS 为给定材料属性的个数。

该函数的主要作用是叠加计算所得的应力增量,完成应力更新。在【UMAT1】中篇中我们已经简要介绍了各向同性线弹性本构,由此得到函数体内的代码如下:

2. Abaqus求解器通过识别INP文件当中关键字来决定是否使用子程序。

  • *ELASTIC, TYPE = ISOTROPIC 调用内置的各向同性线弹性计算模块
  • *User Material 调用子程序

由此,我们需要对原INP文件的内容进行手动更改:
原INP文件中

*ELASTIC, TYPE = ISOTROPIC
200000.0, 0.3, 0.0

替换为:

*User Material, constants = 2
200000.0, 0.3

关键字constants表示材料属性中的数组个数,该本构仅涉及杨氏模量和泊松比两个材料属性。

3. 我们仍然在Abaqus的作业管理器中提交作业,此时注意在提交INP文件的同时需要附上子程序FOR文件,操作界面如图:

仿真结果

左侧为使用Abaqus中的内置模块的仿真结果,右侧为使用二次开发的子程序仿真结果。两者无任何差异。

感谢大家的支持和关注!欢迎大家点赞、转发、在看和留言!

来源:九千CAE
Abaqus二次开发UM材料
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2025-03-09
最近编辑:11小时前
九千CAE
博士 签名征集中
获赞 183粉丝 268文章 14课程 25
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈