ABAQUS-二次开发资料-UMAT
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
各个楼层及内容索引
2-------------------------------------什么是UMAT
3-------------------------------------UMAT功能简介
4-------------------------------------UMAT开始的变量声明
5-------------------------------------UMAT中各个变量的详细解释
6-------------------------------------关于沙漏和横向剪切刚度
7-------------------------------------UMAT流程和参数表格实例展示
8-------------------------------------FORTRAN语言中的接口程序Interface
9-------------------------------------关于UMAT是否可以用Fortran90编写的问题
10-17--------------------------------Fortran77的一些有用的知识简介
20-25\30-32-----------------------弹塑性力学相关知识简介
34-37--------------------------------用户材料子程序实例JOhn-cook模型压缩包下载
38-------------------------------------JOhn-cook模型本构简介图
40-------------------------------------用户材料子程序实例JOhn-cook模型完整程序+david详细注解[欢迎大家来看看,并提供意见,完全是自己的diy的,不保证完全正确,希望共同探讨,以便更正,带"?"部分,还望各位大师\同仁指教]
1 什么是UMAT
1.1 UMAT功能简介[-摘自庄茁老师的书
UMAT子程序具有强大的功能,使用UMAT子程序:
(1)可以定义材料的本构关系,使用ABAQUS材料库中没有包含的材料进行计算,扩充程序
功能。ABAQUS软件2003年度用户年会论文集
(2)几乎可以用于力学行为分析的任何分析过程,几乎可以把用户材料属性赋予ABAQUS中
的任何单元;
(3)必须在UMAT中提供材料本构模型的雅可比(Jacobian)矩阵,即应力增量对应变增量
的变化率。
(4)可以和用户子程序“USDFLD”联合使用,通过“USDFLD”重新定义单元每一物质点上传
递到UMAT中场变量的数值。
1.2 UMAT开始的变量声明
由于主程序与UMAT之间存在数据传递,甚至共用一些变量,因此必须遵守有关书写格式,UMAT中常用的变量在文件开头予以定义,通常格式为:
SUBROUTINE UMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,
1 RPL,DDSDDT,DRPLDE,DRPLDT,
2STRAN,DSTRAN,TIME,DTIME,TEMP,DTEMP,PREDEF,DPRED,CMNAME
3 NDI,NSHR,NTENS,NSTATV,PROPS,NPROPS,COORDS,DROT,PNEWDT,
4 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),
3 PROPS(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中各个变量的详细解释[凡是-注明david的,都是我自己猜的,仅供参考]
DDSDDE (NTENS ,NTENS)
是一个NTENS[Number of the Tensions----david]维的方阵,称作雅可比矩阵,应力增量/应变增量的偏导数,DDSDDE (I ,J)表示增量步结束时第J个应变分量的改变引起的第I个应力增量的变化!雅可比是一个对称矩阵,除非在“*USER MATERIAL”语句中加"UNSYMM"参数
STRESS (NTENS)
应力张量矩阵,对应NDI[Number of the Direct Components--david]个直接分量和NSHR[Number of the shear Components-david]个剪切分量.在增量步的开始,应力张量矩阵中的数值通过UMAT和主程序之间的接口传递到UMAT中,在增量步的结束,UMAT将对应力张量矩阵更新,即[return].对于包含刚体转动的有限应变问题,一个增量步条用UMAT之前就已经对应力张量进行了刚体转动,因此在UMAT中只需处理应力张量的共旋部分-------这部分我没看明白,敬请高手指点.UMAT中应力张量的度量为柯西(真实)应力
STATEV (NSTATEV)[STATE VARIABLES (Number of the State Variables)]
用于存储状态变量的矩阵,在增量步开始时将数值传递到UMAT中。也可在子程序USDFLD或UEXPAN中先更新数据,然后增量步开始时将更新后的数据传递到UMAT中。在增量步的结束必须更新状态变量矩阵中的数据。
和应力张量矩阵不同的是:对于有限应变问题,除了材料本构行为引起的数据更新以外,状态变量矩阵中的任何矢量或者张量都必须通过旋转来考虑材料的刚体运动。-----不懂,请高手指教状态变量矩阵的维数NATATEV,等于关键字“*DEPVAR”定义的数值。状态变量矩阵的维数通过ABAQUS输入文件中的关键字“*DEPVAR”定义,关键字下面数据行的数值即为状态变量矩阵的维数。
材料常数的个数,等于关键字“*USER MATERIAL”中“CONSTANTS”常数设定的值。
PROPS (NPROPS)
材料常数矩阵,矩阵中元素的数值对应于关键字“*USER MATERIAL”下面的数据行。
SSE,SPD,SCD
分别定义每一增量步的弹性应变能[Elastic Strain Energy],塑性耗散[Plastic Dissipation]和蠕变耗散[Creep Dissipation]。它们对计算结果没有影响,仅仅作为能量输出。
STRAN (NTENS):应变矩阵;
DSTRAN (NTENS):[D--大抵代表Deta,增量的意思-david]应变增量矩阵;
DTIME:增量步的时间增量;
NDI:直接应力分量的个数;
NSHR:剪切应力分量的个数;
NTENS:总应力分量的个数,NTENS =NDI +NSHR。