首页/文章/ 详情

基于ABAQUS-UMAT(User Material Subroutine)本构模型开发

1年前浏览1366

仿真干货丨基于ABAQUS-UMAT(User Material Subroutine)本构模型开发

01

UMAT简介

有限元软件ABAQUS支持用户自定义材料模型,相应的自定义模型程序称为用户材料子程序(User-Material Subroutine,简称UMAT)。通过此方法可以开发各类非线性本构关系并应用于工程结构的有限元分析中。ABAQUS中UMAT应具备以下的特点:

  • 可以用来描述材料的力学行为;

  • 在单元的每一个积分点均可进行计算;

  • 可用于任何力学问题的分析;

  • 可调用与计算结果相关的状态变量;

  • 必须在增量步结束时刻更新应力和状态变量;

  • 需提供与力学本构模型相关的材料雅可比矩阵,也就是一致性切线刚度矩阵;

  • 可与用户自定义场变量子程序(USDFLD)一起使用;

  • 编程语言为FORTRAN 77。


基于ABAQUS的规则,UMAT子程序需要有以下声明要求:

SUBROUTINEUMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,

1RPL,DDSDDT,DRPLDE,DRPLDT,

2STRAN,DSTRAN,TIME,DTIME,TEMP,DTEMP,PREDEF,DPRED,CMNAME,

3NDI,NSHR,NTENS,NSTATV,PROPS,NPROPS,COORDS,DROT,PNEWDT,

4CELENT,DFGRD0,DFGRD1,NOEL,NPT,LAYER,KSPT,JSTEP,KINC)

C

INCLUDE 'ABA_PARAM.INC'

C

CHARACTER*80 CMNAME

DIMENSION STRESS(NTENS),STATEV(NSTATV),

1DDSDDE(NTENS,NTENS),DDSDDT(NTENS),DRPLDE(NTENS),

2STRAN(NTENS),DSTRAN(NTENS),TIME(2),PREDEF(1),DPRED(1),

3PROPS(NPROPS),COORDS(3),DROT(3,3),DFGRD0(3,3),DFGRD1(3,3),

4JSTEP(4)

必须定义的变量 DDSDDE, STRESS, STATEV

可以定义的变量(但是针对基于能量相关的本构模型,必须定义)SSE, SPD, SCD

RETURN

END


必须定义的变量:

  • DDSDDE(NTENS,NTENS)

该数组也就是雅可比矩阵。例如DDSDDE(I,J)表示第I个应力分量在时间增量步结束时由第J个应变分量的小扰动引起的变化。NTENS表示应力分量的个数。需要说明的是ABAQUS的默认求解设置只采用DDSDDE矩阵的对称部分进行求解。对于非对称的雅可比矩阵需要进行非对称求解设置。除此之外,雅可比矩阵,即一致性切线刚度矩阵,能够保证整体牛顿迭代的快速收敛性,但是具有较小误差的一致性切线刚度矩阵只影响收敛的速度,并不影响结果的正确性。

  • STRESS(NTENS)

该数组表示应力张量分量,在增量步开始时由ABAQUS传递给UMAT,并在增量步结束时必须进行更新。需要注意的是,在有限应变变形的问题中,在调用UMAT之前,考虑到刚体转动需要进行应力张量旋转,因而在UMAT中只需要实现应力积分的共旋部分,使用的应力是柯西(Cauchy)应力。

  • STATEV(NTENS)

该数组表示与解相关的状态变量,可以理解为需要传递的中间变量。在增量步开始时具有ABAQUS传递的初值,在增量步结束时必须进行更新。该数组的变量个数由用户根据本构方程中涉及的具体变量数目进行自定义。

  • SSE,SPD,  SCD

此三个变量分别表示比弹性应变能、塑性耗散和蠕变耗散,同样也需要在增量步结束时完成更新。对于非能量形式的解则不受影响。


信息传递变量:

   


02

单元验证

将编写好的UMAT进行单元验证是非常重要的一步,很多教程中的单元验证都是简单的单调拉伸或者压缩,这对于各向同性材料而言无可厚非,但是对于静水敏感的本构模型或者是各向异性的本构模型是不够充分的。对于静水压力敏感的材料建议进行:单调拉伸、压缩以及剪切三种工况的验证;对于各向异性材料最好进行六种工况的验证(三个主应变方向和三个剪切应变方向)。此外,还有一个很重要的原因是,单个工况的验证具有欺骗性,掩盖UMAT子程序鲁棒性不强的缺点,因此多工况下的单元验证可以在进行大规模有限元计算之前发现bug,及时Degug。

本算例针对静水压力敏感(含损伤)的本构模型进行的单元的验证:

参数输入:

   
   
   
   
   
单调拉伸:    
   
   

单调压缩:

   
   

单调剪切:

   
   

   

03

复杂几何模型仿真

SDV9 代表单元的损伤(云图中Cohesive单元没有删除)。

   

   

04

小结

本文简单地总结了UMAT开发的一些基础知识以及需要注意的事项。个人经验而言,UMAT开发并不是一件简单的事情,需要学习固体力学、有限元、张量分析、数值分析等方面的知识。特别是涉及大应变变形时,固体力学的知识尤为重要。此外,在进行UMAT开发之前,对待开发的本构模型的物理认识一定要深刻;其次是常用的数值分析手段要信手拈来,比如矩阵求逆、Newton-Raphson算法、LU分解等;最后就是UMAT的调试,单元验证。
来源:CAE仿真学社
ACT非线性UM材料
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2023-04-02
最近编辑:1年前
CAE仿真学社
硕士 | CAE仿真工程师 万物皆可仿,关注CAE仿真学社
获赞 135粉丝 236文章 293课程 0
点赞
收藏
未登录
1条评论
Fortuitous
签名征集中
7月前
请问博主 是不是用了这个用户材料就不能再使用abaqus自带的JC本构了? 希望您能解疑,谢谢。
回复
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈