【分享】ABAQUS中用户子程序UMAT的运用

2016-12-01  by:CAE仿真在线  来源:互联网

序言:ABAQUS为用户提供了二次开发程序接口,允许用户根据自己的需要编写适合的子程序,实现所需要的特定功能。在ABAQUS的子程序中,较为常用的UMAT(user defined material mechanical behavior)子程序,即用户自定义材料子程序。UMAT允许用户自定义材料的本构关系,如线弹性,弹塑性,蠕变等。
UMAT子程序功能
(1)可以定义材料的本构关系,使用ABAQUS材料库中没有包含的材料进行计算,扩充程序功能。
(2)几乎可以用于力学行为分析的任何分析过程,几乎可以把用户材料属性赋予ABAQUS中的任何单元;
(3)必须在UMAT中提供材料本构模型的雅可比(Jacobian)矩阵,即应力增量对应变增量的变化率。
(4)可以和用户子程序“USDFLD”联合使用,通过“USDFLD”重新定义单元每一物质点上传递到UMAT中场变量的数值。
UMAT常用格式
UMAT开始的变量声明由于主程序与UMAT之间存在数据传递,甚至共用一些变量,因此必须遵守有关书写格式,UMAT中常用的变量在文件开头予以定义,通常格式为:
SUBROUTINUMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,RPL,DDSDDT, 1DRPLDE,DRPLDT,STRAN,DSTRAN,TIME,DTIME,TEMP,DTEMP,PREDEF,DPRED
2CMNAME, NDI, NSHR, NTENS, NSTATV, PROPS, NPROPS, COORDS, DROT,
3PNEWDT, CELENT, DFGRD0, DFGRD1, NOEL, NPT, LAYER, KSPT, KSTEP, KINC)
C
INCLUDE'ABA_PARAM.INC'-----将ABAQUS本身自带的参量精度定义的文件包含进来
C
CHARACTER*80 CMNAME
DIMENSION STRESS (NTENS), STATEV (NSTATV),
1 DDSDDE (NTENS, NTENS), DDSDDT (NTENS), DRPLDE (NTENS),
2 STRAN(NTENS),DSTRAN(NTENS),TIME(2),PREDEF(1),DPRED(1),
3PROPS(NPROPS),COORDS(3),DROT(3,3),DFGRD0(3,3),DFGRD1(3,3)---以上是变量声明
user coding to define DDSDDE, STRESS, STATEV, SSE, SPD, SCD
and if necessary, RPL, DDSDDT, DRPLDE, DRPLDT, PNEWDT----用户定义材料属性的Fortran程序
RETURN------------------返回值
END------------------------程序结束
本文同样以二维悬臂梁拉伸案列来详细讲解UMAT子程序的功能。希望能对读者有所帮助。
如图1所示,梁的左端固定,在梁的右端点施加均布载荷P,大小为3MPa,悬臂梁的材料为线弹性材料,弹性模量为E=210GPa,泊松比m=0.3。试建立一个二维平面应力有限元模型计算梁左端的位移和应力大小。
【分享】ABAQUS中用户子程序UMAT的运用abaqus有限元图片1
图1:悬臂梁受力示意图
在前面的文章(ABAQUS中悬臂梁拉伸INP建模实例)中已经介绍了悬臂梁模型的INP文件建模过程,在此不在累述。整个模型采用线弹性材料,故本例中UMAT子程序定义的材料本构模型为线弹性本构关系。本文在悬臂梁INP模型的基础上,通过修改INP文件中定义的材料的线弹性特征,引入UMAT子程序,并通过与未修改INP之前的模型计算结果作对比来验证UMAT子程序的正确性。计算后的结果如图2所示,图2(a)为INP建模与使用UMAT子程序计算后模型在最左端中间节点处沿X方向的位移变化情况。图2(b)为INP建模与使用UMAT子程序计算后模型在最左端中间单元处应力大小变化情况。通过对比可以发现二者完全吻合。说明本例中UMAT子程序定义的线弹性本构关系是合适的。

【分享】ABAQUS中用户子程序UMAT的运用abaqus有限元图片2

【分享】ABAQUS中用户子程序UMAT的运用abaqus有限元图片3

图2:悬臂梁位移与应力结果对比图


本例的INP程序

*heading
*node
1, 0, 0
100, 100, 0
701, 0, 7
800,100, 7
*ngen, nset=left
1,701,100
*ngen, nset=right
100,800,100
*nfill
left, right, 99, 1
*element, type=cps4
1, 1, 2, 102, 101
*elgen, elset=all
1, 99, 1, 1, 7, 100, 99
*material, name=material
*user material, constants=2
210e3, 0.3
*solid section, elset=all, material=material
*nset, nset=bottom, gen
1, 100, 1
*elset, elset=load, gen
99,693, 99
*step
*static
1., 1., 1E-05, 1
*boundary
left, 1,3
*dload
load, p2,-3
*output, field, freq=2
*node output
U,
*element output
S,
E,
*end step
本例的UMAT程序
SUBROUTINEUMAT (STRESS, STATEV, DDSDDE, SSE, SPD, SCD, RPL, DDSDDT,
1DRPLDE, DRPLDT, STRAN, DSTRAN, TIME, DTIME, TEMP, DTEMP, PREDEF, DPRED
2 CMNAME, NDI, NSHR, NTENS, NSTATV, PROPS, NPROPS, COORDS, DROT,
3PNEWDT, CELENT, DFGRD0, DFGRD1, NOEL, NPT, LAYER, KSPT, KSTEP, KINC)
INCLUDE 'ABA_PARAM.INC'
CHARACTER*8 CMNAME
DIMENSION STRESS (NTENS), STATEV (NSTATV), DDSDDE (NTENS, NTENS)
1 DDSDDT (NTENS, DRPLDE (NTENS), STRAN (NTENS), DSTRAN (NTENS),
2 TIME(2),PREDEF(1),DPRED(1),PROPS(NPROPS),COORDS(3),DROT(3,3),
3 DFGRD0 (3, 3), DFGRD1 (3,3)
C UMAT FOR ISOTROPIC ELASTICITY
C CANNOT BE USED FOR PLANE STRESS
C----------------------------------------
C PROPS (1)-E
C PROPS (2)-NU
C----------------------------------------
C ELASTIC PROPERTIES
EMOD=PROPS (1)
ENU=PROPS (2)
EBULK3=EMOD/ (1-2*ENU)
EG2=EMOD/ (1+ENU)
EG=EG2/2
EG3=3*EG
ELAM= (EBULK3-EG2)/3
C
C ELASTIC STIFFNESS
C
DO K1=1, NDI
DO K2=1, NDI
DDSDDE (K2, K1) =ELAM
END DO
DDSDDE (K1, K1) =EG2+ELAM
END DO
DO K1=NDI+1, NTENS
DDSDDE (K1, K1)=EG
END DO
C
C CALCULATE STRESS
C
DO K1=1, NTENS
DO K2=1, NTENS
STRESS (K2) =STRESS(K2) +DDSDDE(K2,K1)*DSTRAN(K1)
END DO
END DO
C
RETURN
END

作者:山行


开放分享:优质有限元技术文章,助你自学成才

相关标签搜索:【分享】ABAQUS中用户子程序UMAT的运用 abaqus分析培训 abaqus技术教程 abaqus岩土分析 钢筋混凝土仿真 abaqus分析理论 abaqus软件下载 abaqus umat用户子程序编程 Abaqus代做 Abaqus基础知识 Fluent、CFX流体分析 HFSS电磁分析 Ansys培训 

编辑
在线报名:
  • 客服在线请直接联系我们的客服,您也可以通过下面的方式进行在线报名,我们会及时给您回复电话,谢谢!
验证码

全国服务热线

1358-032-9919

广州公司:
广州市环市中路306号金鹰大厦3800
电话:13580329919
          135-8032-9919
培训QQ咨询:点击咨询 点击咨询
项目QQ咨询:点击咨询
email:kf@1cae.com