UMAT子程序实现热膨胀计算的小例子

在技术邻上学习了一段时间UMAT,摸索了一下用UMAT实现热膨胀的计算,并用abaqus自带的模型进行对比,验证正确性。本文是个小例子,大家可以根据需求再次开发。

1.线弹性本构

        为了简便起见,本文的例子是基于线弹性本构的(当然弹塑性也是可以的)。首先还是先介绍一下理论,线弹性的本构方程如下图:其中{σ}是应力矩阵,{ε}是应变矩阵,[D]是应力应变矩阵/雅可比矩阵,E是弹性模量,v是泊松比。

UAMT2.png

        应变增量可以分解为弹性增量和热膨胀的增量,应力的更新采用常刚度法。

UMAT3.png

        更详细的相关知识大家可以参考有限元的书籍,或是技术邻上关于UMAT的课程。

2.UMAT介绍

        umat可以实现自定义的本构;但是需要定义雅克比矩阵并更新应力及状态变量,如下图

UMAT1.png

        下面给出例子中要用到的一些变量:

UMAT4.png

3.热膨胀的小例子

         建一个1m*1m*1m的立方体,给定密度7900(kg/m3),热导率200(W/m/K),比热容400(J/kg/K),状态变量数目Depvar-5UMAT子程序使用的时候要在中选择user material,在其中定义材料参数弹性模量2e11,泊松比0,线膨胀系数5e-5。

UMAT5.png

        为了验证准确性,用abaqus自带的elastic和Expansion定义相同的参数,建立对比模型。

UMAT7.png        采用完全热力耦合步,步长0.1s总步长0.5s。在load中施加体热源4e8 使方块升温。umat8.png

4.UMAT代码详解:

UAMT10.png

UMAT11.png

5.计算结果:

1.应力(左图abaqus自带模型,右图自编UAMT子程序):可以看出自编的UMAT算出的结果与abaqus的是一致的。

UMAT12.png

2.热膨胀应变(左图abaqus自带模型,右图自编UAMT子程序):结果一致,abaqus中输出热膨胀应变记得要在应变E选项下勾上THE。

UMAT13.png

大家可以在此基础上开发自己的本构模型,比如热弹塑性等等。

技术邻上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文件

App下载
技术邻APP
工程师必备
  • 项目客服
  • 培训客服
  • 平台客服

TOP

4
1
26