《Abaqus子程序UMAT和VUMAT的例子.doc》由会员分享,可在线阅读,更多相关《Abaqus子程序UMAT和VUMAT的例子.doc(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、如有侵权,请联系网站删除,仅供学习与交流Abaqus子程序UMAT和VUMAT的例子【精品文档】第 5 页From guobuzhang* UMAT FOR ABAQUS/STANDARD INCORPORATING ELASTIC BEHAVIOUR FOR PLANE * STRAIN AND AXI-SYMMETRIC ELEMENTS. *USER SUBROUTINE SUBROUTINE UMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD, RPL,DDSDDT,DRPLDE,DRPLDT, 2 STRAN,DSTRAN,TIME,DTIME,TEMP,DT
2、EMP,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.INCC CHARACTER*80 CMNAMECC DIMENSION STRESS(NTENS),STATEV(NSTATV), 1 DDSDDE(NTENS,NTENS),DDSDDT(NTENS),DRPLDE(NTENS), 2 STRAN(NTENS),DSTRAN(NTEN
3、S),TIME(2),PREDEF(1),DPRED(1), 3 PROPS(NPROPS),COORDS(3),DROT(3,3),DFGRD0(3,3),DFGRD1(3,3)CC PARAMETER (M=3,N=3,ID=3,ZERO=0.D0,ONE=1.D0,TWO=2.D0,THREE=3.D0, + SIX=6.D0, NINE=9.D0, TOLER=0.D-6)C DIMENSION DSTRESS(3)CC-C SPECIFY MATERIAL PROPERTIESC E = PROPS(1) XNUE = PROPS(2)CC C SET UP ELASTICITY M
4、ATRIXC E11 = E/(1.0-XNUE*XNUE) E12 = E*XNUE/(1.0-XNUE*XNUE) EG2 = E/(ONE+XNUE) EG = EG2/TWOCC DETERMINE STRESS INCREMENTC DSTRESS(1) = E11*DSTRAN(1)+E12*DSTRAN(2) DSTRESS(2) = E11*DSTRAN(2)+E12*DSTRAN(1) DSTRESS(3) = EG *DSTRAN(3)CC UPDATE STRESSC DO K = 1,NTENS STRESS(K) = STRESS(K) + DSTRESS(K) EN
5、D DOCC DETERMINE JACOBIANC DDSDDE(1,1) = E11 DDSDDE(2,2) = E11 DDSDDE(1,2) = E12 DDSDDE(2,1) = E12 DDSDDE(1,3) = 0.0 DDSDDE(3,1) = 0.0 DDSDDE(3,3) = EGCC RETURN END* VUMAT FOR ABAQUS/Explicit INCORPORATING ELASTIC BEHAVIOUR * FOR SHELL ELEMENTS under PLANE STRESS *USER SUBROUTINE subroutine vumat(C
6、Readonly- 1 nblock,ndir,nshr,nstatev,nfieldv,nprops,lanneal, 2 stepTime,totalTime,dt,cmname,coordMp,charLength, 3 props,density,strainInc,relSpinInc, 4 tempOld,stretchOld,defgradOld,fieldOld, 3 stressOld,stateOld,enerInternOld,enerInelasOld, 6 tempNew,stretchNew,defgradNew,fieldNew,C Writeonly- 5 st
7、ressNew,stateNew,enerInternNew,enerInelasNew)C include vaba_param.inc dimension props(nprops),density(nblock), 1 coordMp(nblock,*), 2 charLength(*),strainInc(nblock,ndir+nshr), 3 relSpinInc(*),tempOld(*), 4 stretchOld(*),defgradOld(*), 5 fieldOld(*),stressOld(nblock,ndir+nshr), 6 stateOld(nblock,nst
8、atev),enerInternOld(nblock), 7 enerInelasOld(nblock),tempNew(*), 8 stretchNew(*),defgradNew(*),fieldNew(*), 9 stressNew(nblock,ndir+nshr),stateNew(nblock,nstatev), 1 enerInternNew(nblock),enerInelasNew(nblock)C character*80 cmnameCC parameter ( zero = 0.d0, one = 1.d0, two = 2.d0, 1 third = 1.d0 / 3
9、.d0, half = 0.5d0, op5 = 1.5d0)c e = props(1) xnu = props(2) twomu = e/(one+xnu) e11 = e/(1.0-xnu*xnu) e22 = e*xnu/(1.0-xnu*xnu)C if ( stepTime .eq. zero ) then do k = 1, nblock stressNew(k,1) = stressOld(k,1) 1 + e11 * strainInc(k,1) + e22 * strainInc(k,2) stressNew(k,2) = stressOld(k,2) 2 + e22 *
10、strainInc(k,1) + e11 * strainInc(k,2) stressNew(k,4) = stressOld(k,4) + twomu * strainInc(k,4) strainInc(k,3) = -xnu/(1.0-xnu) 1 *(strainInc(k,1)+strainInc(k,2) end do else do k = 1, nblock stressNew(k,1) = stressOld(k,1) 1 + e11 * strainInc(k,1) + e22 * strainInc(k,2) stressNew(k,2) = stressOld(k,2) 2 + e22 * strainInc(k,1) + e11 * strainInc(k,2) stressNew(k,4) = stressOld(k,4) + twomu * strainInc(k,4) stressNew(k,3) = 1.0 write(*,*) stressNew(k,3)=,stressNew(k,3) strainInc(k,3) = -xnu/(1.0-xnu) 1 *(strainInc(k,1)+strainInc(k,2) end do endifC return end