***********************************************************************************UMAT子程序接口,接口中的全局变量可以参考AbaqusUserSubroutinesReferenceManual**中,关于UMAT的介绍,对所有全局变量参数给出详细的介绍*********************************************************************************aC4X4JACOBIANTHENCONDENSATIONWITHREGULARIZATIONc(energyduetoviscousregularizationiscalculated)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)CINCLUDE'ABA_PARAM.INC'CCHARACTER*80CMNAMEDIMENSIONSTRESS(NTENS),STATEV(NSTATV),1DDSDDE(NTENS,NTENS),2DDSDDT(NTENS),DRPLDE(NTENS),3STRAN(NTENS),DSTRAN(NTENS),TIME(2),PREDEF(1),DPRED(1),4PROPS(NPROPS),COORDS(3),DROT(3,3),DFGRD0(3,3),DFGRD1(3,3)**********************************************************************************************************************************************************************定义子程序局部变量,用于子程序内部计算使用。**下面对各个局部变量给出英文解释**********************************************************************************DIMENSIONSTRANT(6),TSTRANT(4)DIMENSIONCFULL(6,6),CDFULL(6,6)DIMENSIONDDFDE(6),DDMDE(6),DCDDF(6,6),DCDDM(6,6)DIMENSIONATEMP1(6),ATEMP2(6),TDDSDDE(6,6)DIMENSIONOLD_STRESS(6)DIMENSIONDOLD_STRESS(6),D_STRESS(6)PARAMETER(ZERO=0.D0,ONE=1.D0,TWO=2.D0,HALF=0.5D0)C****************************CSTRANT.....STRAINATTHEENDOFTHEINCREMENTCTSTRANT.....TEMPORARYARRAYTOHOLDTHESTRAINFORPLANESTRESSPROBLEMCCFULL.......FULL6X6ELASTICITYMATRIXCCDFULL......FULL6X6DAMAGEDELASTICITYMATRIXCDDFDE.......DDF/DECDDMDE.......DDM/DECDCDDF.......DC/DDFTHEDERIVATIVEOFTHEFULLMATRIXOVERDFCDCDDM........DC/DDMTHEDERIVATIVEOFTHEFULLMATRIXOVERDMCATEMP1,ATEMP2...TEMPORARYARRAYUSEDINJACOBIANCALCULATIONCTDDSDDE.....UNCONDENSEDJACOBIANMATRIXFORPLANESTRESSPROBLEMCOLD_STRESS...STRESSATTHEBEGINNINGOFTHEINCREMENT,SAVEDFORTHEENERGYCCOMPUTATIONCDOLD_STRESS...STRESSATTHEBEGINNINGOFTHEINCREMENT,CIFTHERE'SNOVISCOUSREGULARIZATIONCD_STRESS...STRESSIFTHERE'SNOVISCOUSREGULARIZATION,THEABOVEISCALCULATEDCTOCALCULATETHESCD,ENERGYCAUSEDBYVISCOUSREGULARIZATIONCSTATEV(1)damagevariabledfCSTATEV(2)damagevariabledmCSTATEV(3)regularizeddamagevariabledfvCSTATEV(4)regularizaeddamagevariabledmvCSTATEV(5:10)TEMPORARYARRAYSTOSAVEDOLD_STRESSC********************************************************************************************************************************************************************************************************在INP文件中,调用*USERMATERIAL,将所输入材料参数赋予局部变量矩阵PROPS(14)**PROPS(1)--PROPS(6)为使用EngineeringConstants给出的材料参数;**PROPS(7)—PROPS(14)为所定义材料失效参数、断裂能参数及粘性参数。**************************************************************************************CCGETTHEMATERIALPROPERTIES---ENGINEERINGCONSTANTSCTENL=PROPS(1)!YOUNG'SMODULUSINDIRECTION1(L)TENT=PROPS(2)!YOUNG'SMODULUSINDIRECTION2(T)SHRLT=PROPS(3)!SHEARMODULUSIN12PLANESHRTT=PROPS(4)!SHEARMODULUSIN23PLANEXNULT=PROPS(5)!POISON'SRATIOPOI_12XNUTT=PROPS(6)!POISON'SRATIOPOI_23XNUTL=XNULT/TENL*TENT!POI_21由关系μTLET=μLTEL得到CCGETTHEFAILUREPROPERTIESCSIGTL=PROPS(7)!FAILURESTRESSIN1DIRECTIONINTENSIONSIGCL=PROPS(8)!FAILURESTRESSIN1DIRECTIONINCOMPRESSIONSIGTT=PROPS(9)!FAILURESTRESSIN2DIRECTIONINTENSIONSIGCT=PROPS(10)!FAILURESTRESSIN2DIRECTIONINCOMPRESSIONSIGSLT=PROPS(11)!FAILURESTRESSINSHEARIN1-2PLANEGFMAT=PROPS(12)!FRACTUREENERGYINMATRIXGFFIB=PROPS(13)!FRACTUREENERGYINFIBERETA=PROPS(14)!VISCOSITYFORREGULARIZATION******************************************************************************************************************************************************************************更新初始状态的应变分量**STRAN为第K增量步初始应变,DSTRAN为上次迭代步结束时应变增量,则STRANT为当前迭代步初始**应变量。在同一迭代步中,STRAN不变,DSTRAN应变增量不断变化,直到迭代收敛时,将**STRANT=STRAN+DSTRAN存入第K+1步的STRAN,作为第K+1步的初始应变量。**************************************************************************************CCCALCULATETHESTRAINATTHEENDOFTHEINCREMENTCDOI=1,NTENSSTRANT(I)=STRAN(I)+DSTRAN(I)ENDDOc******************************************************************************************************************************************************************************计算材料阵D**通过输入的EngineeringConstants参数,计算材料弹性阵D。由于D为对称矩阵,只需计算9个值,**再通过对称赋值即可。**************************************************************************************CFILLTHE6X6FULLSTIFFNESSMATRIXDOI=1,6DOJ=1,6CFULL(I,J)=ZEROENDDOENDDOATEMP=ONE-TWO*XNULT*XNUTL-XNUTT**TWO1-TWO*XNULT*XNUTL*XNUTTCFULL(1,1)=TENL*(ONE-XNUTT**TWO)/ATEMPCFULL(2,2)=TENT*(ONE-XNULT*XNUTL)/ATEMPCFULL(3,3)=CFULL(2,2)CFULL(1,2)=TENT*(XNULT+XNULT*XNUTT)/ATEMPCFULL(1,3)=CFULL(1,2)CFULL(2,3)=TENT*(XNUTT+XNULT*XNUTL)/ATEMPCFULL(4,4)=SHRLTCFULL(5,5)=SHRLTCFULL(6,6)=SHRTTDOI=2,6DOJ=1,I-1CFULL(I,J)=CFULL(J,I)ENDDOENDDO******************************************************************************************************************************************************************************计算失效应变值**由于材料初始失效准则及损伤演化准则的要求,需要计算失效应变值。EPITL=σLf,tC11�**EPICL=σLf,cC11�EPITT=σTf,tC22�EPICT=σTf,cC22�EPISLT=τLTfC44⁄**