Abaqus 子程序开发日志01-umat之isotropic

对有限元进行了一些理论上的学习,现在正式尝试对abaqus用户子程序进行尝试书写,此贴只作为自己学习的记录以及分享。

-------------------------------------------------------------------------------------------------------------------------------


umat子程序只用于通用静力分析步使用来定义用户自定义材料,这里首先对较为简单的各向同性材料本构模型进行构建。

先说明一下umat的工作原理,再静力分析时,每增加一个(极小的)微分应变增量,通过代入微分应力关于微分应变的雅可比矩阵B(j)方程,得到应力增量,再与原始应力累加得到新的应力(也可以说更新应力)。至此,此umat的工作到此结束。

对于各向同性的刚度矩阵方程为:

Abaqus 子程序开发日志01-umat之isotropic的图1

再来就是对矩阵中未知量进行求解,对其而言只需两个独立常量就可以表示。对于各向同性材料而言,G=E/2(1+NU),所以我们只要知道G、E、NU中的任意两个量就可以得到另外一个量,习惯上我们常用E、NU来表示各向同性材料的材料属性,所以我们这里就需要将矩阵中的未知量用E与NU表示出来就可以了。

求解的过程不再说明,此为材料力学的基础,有需要可以查找相关资料。

求解完成后将其改写成微分的形式得到雅可比矩阵后用程序进行表达出来,并使用abaqus提供的接口进行嵌套写入用户子程序,至此,全部工作完成。

先对其进行检验,abaqus中可以直接定义各向同性材料的材料属性,在初期子程序的学习中检验umat的正确性提供了很好的对照。

这里就随便建立一个长宽高为5;5;20的立方体对其进行施加一个单位为5的拉伸位移(较长方向拉伸)。

材料属性就随便设定为E=2000,v=0.3。

单元类型全部采用相同的完全积分单元。

分别用自带的各向同性材料属性与umat子程序进行计算。

自带的材料属性的设定以及模型的建立、边界条件的设定不再说明,只对umat的使用进行说明。

此次直接使用编译好的二进制文件,在材料属性的输入过程,在通用中找到用户自定义材料,输入设定的参数,第一个为杨氏模量,第二个为泊松比。如图所示:

Abaqus 子程序开发日志01-umat之isotropic的图2

点击ok就好,其余的和平时操作一致,只需在最后提交job时提供用户子程序。

Abaqus 子程序开发日志01-umat之isotropic的图3

然后提交计算就好。结果如图所示:

Abaqus 子程序开发日志01-umat之isotropic的图4

到此结束。cae文件如下:

若选用缩减积分单元时要开启沙漏控制。


各向同性umat:

Abaqus 子程序开发日志01-umat之isotropic的图6 isotropic-std.obj

共享库:

默认 最新
当前暂无评论,小编等你评论哦!
点赞 1 评论 收藏
关注