Abaqus子程序UMAT和VUMAT的例子_第1页
Abaqus子程序UMAT和VUMAT的例子_第2页
Abaqus子程序UMAT和VUMAT的例子_第3页
Abaqus子程序UMAT和VUMAT的例子_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

From * UMAT FOR ABAQUS/STANDARD INCORPORATING ELASTIC BEHAVIOUR FOR PLANE * STRAIN AND AXI-SYMMETRIC ELEMENTS. *USER SUBROUTINE SUBROUTINE UMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD, 1 RPL,DDSDDT,DRPLDE,DRPLDT, 2 STRAN,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.INCC CHARACTER*80 CMNAMECC 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)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 MATRIXC 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) END 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 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 stressNew,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,nstatev),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.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 * 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 * strainIn

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论