您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 造纸印刷 > Abaqus材料用户子程序UMAT基础知识及手册例子完整解释
1、为何需要使用用户材料子程序(User-DefinedMaterial,UMAT)?很简单,当ABAQUS没有提供我们需要的材料模型时。所以,在决定自己定义一种新的材料模型之前,最好对ABAQUS已经提供的模型心中有数,并且尽量使用现有的模型,因为这些模型已经经过详细的验证,并被广泛接受。UMAT子程序具有强大的功能,使用UMAT子程序:(1)可以定义材料的本构关系,使用ABAQUS材料库中没有包含的材料进行计算,扩充程序功能。(2)几乎可以用于力学行为分析的任何分析过程,几乎可以把用户材料属性赋予ABAQUS中的任何单元。(3)必须在UMAT中提供材料本构模型的雅可比(Jacobian)矩阵,即应力增量对应变增量的变化率。(4)可以和用户子程序“USDFLD”联合使用,通过“USDFLD”重新定义单元每一物质点上传递到UMAT中场变量的数值。2、需要哪些基础知识?先看一下ABAQUS手册(ABAQUSAnalysisUser'sManual)里的一段话:Warning:Theuseofthisoptiongenerallyrequiresconsiderableexpertise(一定的专业知识).Theuseriscautionedthattheimplementation(实现)ofanyrealisticconstitutive(基本)modelrequiresextensive(广泛的)developmentandtesting.Initialtestingonasingleelementmodelwithprescribedtractionloading(指定拉伸载荷)isstronglyrecommended.但这并不意味着非力学专业,或者力学基础知识不很丰富者就只能望洋兴叹,因为我们的任务不是开发一套完整的有限元软件,而只是提供一个描述材料力学性能的本构方程(Constitutiveequation)而已。当然,最基本的一些概念和知识还是要具备的,比如:应力(stress),应变(strain)及其分量;volumetricpart和deviatoricpart;模量(modulus)、泊松比(Poisson’sratio)、拉梅常数(Lameconstant);矩阵的加减乘除甚至求逆;还有一些高等数学知识如积分、微分等。3、UMAT的基本任务?我们知道,有限元计算(增量方法)的基本问题是:已知第n步的结果(应力,应变等)nσ,nε,然后给出一个应变增量1+ndε,计算新的应力1+nσ。UMAT要完成这一计算,并要计算Jacobian矩阵DDSDDE(I,J)=εσΔ∂Δ∂/。σΔ是应力增量矩阵(张量或许更合适),εΔ是应变增量矩阵。DDSDDE(I,J)定义了第J个应变分量的微小变化对第I个应力分量带来的变化。该矩阵只影响收敛速度,不影响计算结果的准确性(当然,不收敛自然得不到结果)。4、怎样建立自己的材料模型?本构方程就是描述材料应力应变(增量)关系的数学公式,不是凭空想象出来的,而是根据实验结果作出的合理归纳。比如对弹性材料,实验发现应力和应变同步线性增长,所以用一个简单的数学公式描述。为了解释弹塑性材料的实验现象,又提出了一些弹塑性模型,并用数学公式表示出来。对各向同性材料(Isotropicmaterial),经常采用的办法是先研究材料单向应力-应变规律(如单向拉伸、压缩试验),并用一数学公式加以描述,然后把该规律推广到各应力分量。这叫做“泛化“(generalization)。5、一个完整的例子及解释由于主程序与UMAT之间存在数据传递,甚至一些公共变量,因此必须遵循有关UMAT的书写格式,UMAT中常用的变量在文件开头予以定义,通常格式为:SUBROUTINEUMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,1RPL,DDSDDT,DRPLDE,DRPLDT,2STRAN,DSTRAN,TIME,DTIME,TEMP,DTEMP,PREDEF,DPRED,CMNAME,3NDI,NSHR,NTENS,NSTATV,PROPS,NPROPS,COORDS,DROT,PNEWDT,4CELENT,DFGRD0,DFGRD1,NOEL,NPT,LAYER,KSPT,KSTEP,KINC)INCLUDE'ABA_PARAM.INC'CHARACTER*80CMNAMEDIMENSIONSTRESS(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),DFGRD1(3,3)usercodingtodefineDDSDDE,STRESS,STATEV,SSE,SPD,SCDand,ifnecessary,RPL,DDSDDT,DRPLDE,DRPLDT,PNEWDTRETURNENDCOORDS当前积分点的坐标DDSDDE(NTENSNTENS)大小为NTENS×NTENS的Jacobian矩阵(εσΔ∂Δ∂/),DDSDDE(I,J)定义了第J个应变分量的微小变化对第I个应力分量带来的变化。通常Jacobian矩阵是一个对称矩阵,除非在“*USERMATERIAL”语句中加入了“UNSYMM”参数;需要更新DROT对Finitestrain问题,应变应该排除旋转部分,该矩阵提供了旋转矩阵,详见下面的解释;已知DSTRAN(NTENS)应变增量1+ndε,已知DTIME增量步的时间增量dt;已知KSTEP,KINC传到用户子程序当前的STEP和INCREMENT值NDI直接应力、应变个数,对三维问题、轴对称问题自然是3(11,22,33),平面问题是2(11,22);已知NOEL,NPT积分点所在单元的编号和积分点的编号NSHR剪切应力、应变个数,三维问题时3(12,13,23),轴对称问题是1(12);已知NTENS=NDI+NSHR,总应力分量的个数;已知PNEWDT可用来控制时间步的变化。如果设置为小于1的数,则程序放弃当前计算,并用新的时间增量DTIMEXPNEWDT作为新的时间增量计算;这对时间相关的材料如聚合物等有用;如果设为大余1的数,则下一个增量步加大DTIME为DTIMEXPNEWDT。可以更新。PROPS(NPROPS)材料常数数组,如模量啊,粘度系数等等;材料参数的个数,等于关键词“*USERMATERIAL”中“CONSTANTS”常数设定的值;矩阵中元素的数值对应于关键词“USERMATERIAL”下面的数据行。作为已知量传入;已知SSE,SPD,SCD分别定义每一增量步的弹性应变能,塑性耗散和蠕变耗散。它们对计算结果没有影响,仅仅作为能量输出STATEV(NSTATEV)状态变量矩阵,用来保存用户自己定义的一些变量,如累计塑性应变,粘弹性应变等等。增量步开始时作为已知量传入,增量步结束应该更新STRAN(NTENS)当前应变数组nε,已知STRESS(NTENS)应力张量数组,对应NDI个直接分量和NSHR个剪切分量。在增量步的开始,应力张量矩阵nσ中的数值通过UMAT和主程序之间的接口传递到UMAT中,在增量步的结束UMAT将对应力张量矩阵更新为1+nσ。对于包含刚体转动的有限应变问题,一个增量步调用UMAT之前就已经对应力张量进行了刚体转动,因此UMAT中只需处理应力张量的共旋部分。UMAT中应力张量的度量为柯西(真实)应力。下面这个UMAT取自ABAQUS手册,是一个用于大变形下的弹塑性材料模型,注意的是这里需要了解J2理论。SUBROUTINEUMAT(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)CINCLUDE'ABA_PARAM.INC'定义了一些相关参数与变量什么,从ABAQUS安装目录下的子文件夹“…\site”中可找到CCHARACTER*8CMNAMECDIMENSIONSTRESS(NTENS),STATEV(NSTATV),DDSDDE(NTENS,NTENS),1DDSDDT(NTENS)(应变矩阵),DRPLDE(NTENS),STRAN(NTENS),DSTRAN(NTENS)(应变增量矩阵),2PREDEF(1),DPRED(1),PROPS(NPROPS)(材料常数矩),COORDS(3),DROT(3,3)(旋转矩阵),3DFGRD0(3,3),DFGRD1(3,3)声明矩阵的尺寸CCLOCALARRAYSC----------------------------------------------------------------CEELAS-ELASTICSTRAINSCEPLAS-PLASTICSTRAINSCFLOW-DIRECTIONOFPLASTICFLOWC----------------------------------------------------------------C局部变量,用来暂时保存弹性应变、塑性应变分量以及流动方向DIMENSIONEELAS(6),EPLAS(6),FLOW(6)CPARAMETER(ZERO=0.D0,ONE=1.D0,TWO=2.D0,THREE=3.D0,SIX=6.D0,1ENUMAX=.4999D0,NEWTON=10,TOLER=1.0D-6)CC----------------------------------------------------------------CUMATFORISOTROPICELASTICITYANDISOTROPICMISESPLASTICITYCCANNOTBEUSEDFORPLANESTRESSC----------------------------------------------------------------CPROPS(1)-ECPROPS(2)-NUCPROPS(3..)-SYIELDANHARDENINGDATACCALLSHARDSUBFORCURVEOFYIELDSTRESSVS.PLASTICSTRAINC----------------------------------------------------------------CCELASTICPROPERTIESC获取杨氏模量,泊松比,作为已知量由PROPS向量传入EMOD=PROPS(1)EENU=PROPS(2)νEBULK3=EMOD/(ONE-TWO*ENU)3K)21(3ν−=EkEG2=EMOD/(ONE+ENU)2G)1(2υ+=EGEG=EG2/TWOG)1(2υ+=EGEG3=THREE*EG3GELAM=(EBULK3-EG2)/THREEλ3)23(Gk−=λDOK1=1,NTENSDOK2=1,NTENSDDSDDE(K1,K2)=ZEROENDDOENDDO弹性部分,Jacobian矩阵很容易计算⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡+++=GGGJ2G2G2Gλλλλλλλλλ注意,在ABAQUS中,剪切应变采用工程剪切应变的定义j,ii,jijuu+=γ,所以剪切部分模量是G而不是2GCJacobian矩阵的程序CELASTICSTIFFNESSCDOK1=1,NDIDOK2=1,NDIDDSDDE
本文标题:Abaqus材料用户子程序UMAT基础知识及手册例子完整解释
链接地址:https://www.777doc.com/doc-1286510 .html