UMAT子程序实现热膨胀计算的小例子
在技术邻上学习了一段时间UMAT,摸索了一下用UMAT实现热膨胀的计算,并用abaqus自带的模型进行对比,验证正确性。本文是个小例子,大家可以根据需求再次开发。
1.线弹性本构
为了简便起见,本文的例子是基于线弹性本构的(当然弹塑性也是可以的)。首先还是先介绍一下理论,线弹性的本构方程如下图:其中{σ}是应力矩阵,{ε}是应变矩阵,[D]是应力应变矩阵/雅可比矩阵,E是弹性模量,v是泊松比。
应变增量可以分解为弹性增量和热膨胀的增量,应力的更新采用常刚度法。
更详细的相关知识大家可以参考有限元的书籍,或是技术邻上关于UMAT的课程。
2.UMAT介绍
umat可以实现自定义的本构;但是需要定义雅克比矩阵并更新应力及状态变量,如下图

下面给出例子中要用到的一些变量:
3.热膨胀的小例子
建一个1m*1m*1m的立方体,给定密度7900(kg/m3),热导率200(W/m/K),比热容400(J/kg/K),状态变量数目Depvar-5UMAT子程序使用的时候要在中选择user material,在其中定义材料参数弹性模量2e11,泊松比0,线膨胀系数5e-5。
为了验证准确性,用abaqus自带的elastic和Expansion定义相同的参数,建立对比模型。
采用完全热力耦合步,步长0.1s总步长0.5s。在load中施加体热源4e8 使方块升温。
4.UMAT代码详解:
5.计算结果:
1.应力(左图abaqus自带模型,右图自编UAMT子程序):可以看出自编的UMAT算出的结果与abaqus的是一致的。
2.热膨胀应变(左图abaqus自带模型,右图自编UAMT子程序):结果一致,abaqus中输出热膨胀应变记得要在应变E选项下勾上THE。

大家可以在此基础上开发自己的本构模型,比如热弹塑性等等。
技术邻上SuperID和snowave02老师的课程让我很快入门UMAT了,希望能继续推出UMAT相关的的课程。
在此pick一下:
SuperID老师的课程:
http://www.jishulink.com/college/video/c15107
和snowwave02老师的课程:
http://www.jishulink.com/college/video/c13034
附件给出了例子对应的cae文件(abaqus2020版本的)和UMAT子程序.for文件。
以下内容为付费内容,请购买后观看
包含1个文件 57人购买
热膨胀UMAT子程序及cae文件

工程师必备
- 项目客服
- 培训客服
- 平台客服
TOP
