重型机械仿真软件:Abaqus二次开发_(5).Abaqus用户子程序(UMAT、USDFLD等)开发.docx
PAGE1
PAGE1
Abaqus用户子程序(UMAT、USDFLD等)开发
用户子程序概述
Abaqus是一款功能强大的有限元分析软件,广泛应用于力学、材料科学、结构工程等领域。然而,Abaqus提供的标准材料模型和场函数并不能满足所有工程需求,特别是在重型机械仿真中,往往需要更复杂、更特定的材料行为和场函数。为此,Abaqus提供了用户子程序(UserSubroutines)的功能,允许用户自定义材料模型、场函数等,以扩展软件的功能。
用户子程序在Abaqus中以Fortran语言编写,通过编译后链接到Abaqus的执行文件中。常见的用户子程序包括UMAT(用户定义的材料模型)、USDFLD(用户定义的场函数)等。本节将详细介绍这些用户子程序的开发原理和具体实现方法。
UMAT子程序开发
UMAT(UserMaterial)子程序用于定义用户自定义的材料模型。通过UMAT,用户可以实现复杂的材料行为,如非线性弹性、塑性、蠕变等。UMAT子程序需要与Abaqus的材料库和求解器进行交互,因此其开发过程相对复杂。
UMAT子程序的基本结构
UMAT子程序的基本结构如下:
SUBROUTINEUMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,
1RPL,DDSDDT,DRPLDE,DRPLDT,
2STRAN,DSTRAN,TIME,DTIME,TEMP,DTEMP,PREDEF,DPRED,
3CMNAME,NDI,NSHR,NTENS,NSTATV,PROPS,NPROPS,
4COORDS,DROT,PNEWDT,CELENT,DFGRD0,DFGRD1,NOEL,
5NPT,LAYER,KSPT,KSTEP,KINC)
C
C用户自定义材料模型
C
INCLUDEABA_PARAM.INC
C
CHARACTER*80CMNAME
DIMENSIONSTRESS(NTENS),STATEV(NSTATV),
1DDSDDE(NTENS,NTENS),DDSDDT(NTENS),DRPLDE(NTENS),
2STRAN(NTENS),DSTRAN(NTENS),TIME(2),PREDEF(1),DPRED(1),
3PROPS(NPROPS),COORDS(3),DROT(3,3),DFGRD0(3,3),
4DFGRD1(3,3)
C
C用户自定义材料模型的计算
C
CALLCALCULATE_STRESS(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,RPL,
1DDSDDT,DRPLDE,DRPLDT,STRAN,DSTRAN,TIME,
2DTIME,TEMP,DTEMP,PREDEF,DPRED,CMNAME,
3NDI,NSHR,NTENS,NSTATV,PROPS,NPROPS,
4COORDS,DROT,PNEWDT,CELENT,DFGRD0,DFGRD1,
5NOEL,NPT,LAYER,KSPT,KSTEP,KINC)
C
RETURN
END
UMAT子程序的参数说明
UMAT子程序的参数列表较长,以下是主要参数的说明:
STRESS(NTENS):当前应力状态,输出参数。
STATEV(NSTATV):内变量状态,输入和输出参数。
DDSDDE(NTENS,NTENS):切线刚度矩阵,输出参数。
SSE,SPD,SCD:弹性应变能、塑性耗散能和材料裂纹耗散能,输出参数。
RPL:小变形理论的塑性耗散能,输出参数。
DDSDDT(NTENS):应力关于温度的导数,输出参数。
DRPLDE(NTENS):塑性耗散能关于应变的导数,输出参数。
DRPLDT:塑性耗散能关于温度的导数,输出参数。
STRAN(NTENS):当前总应变,输入参数。
DSTRAN(NTENS):当前增量应变,输入参数。
TIME(2):当前步的