据三维Hashin失效准则和Chang-Chang退化准则_第1页
据三维Hashin失效准则和Chang-Chang退化准则_第2页
据三维Hashin失效准则和Chang-Chang退化准则_第3页
据三维Hashin失效准则和Chang-Chang退化准则_第4页
据三维Hashin失效准则和Chang-Chang退化准则_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

subroutinevumat(

CReadonly(unmodifiable)variables-

1

nblock,ndir,nshr,nstatev,nfieldv,nprops,lanneal,

2

stepTime,totalTime,dt,cmname,coordMp,charLength,

3

props,density,strainInc,relSpinInc,

4

tempOld,strainOld,defgradOld,fieldOld,

5

stressOld,stateOld,enerInternOld,enerInelasOld,

6

tempNew,stretchNew,defgradNew,fieldNew,

CWriteonly(modifiable)variables-

7

stressNew,stateNew,enerInternNew,enerInelasNew)

C

include'vaba_param.inc'

C

dimensionprops(nprops),density(nblock),coordMp(nblock,*),

1

charLength(*),strainInc(nblock,ndir+nshr),

2

relSpinInc(nblock,nshr),tempOld(nblock),

3

strainOld(nblock,ndir+nshr),

4

defgradOld(nblock,ndir+nshr+nshr),

5

fieldOld(nblock,nfieldv),stressOld(nblock,ndir+nshr),

6

stateOld(nblock,nstatev),enerInternOld(nblock),

7

enerInelasOld(nblock),tempNew(*),

8

strainNew(nblock,ndir+nshr),

8

defgradNew(nblock,ndir+nshr+nshr),

9

fieldNew(nblock,nfieldv),

1

stressNew(nblock,ndir+nshr),stateNew(nblock,nstatev),

2

enerInternNew(nblock),enerInelasNew(nblock)

C

character*80cmname

parameter(ZERO=0.,ONE=1.,TWO=2.,half=0.5)

DIMENSIONSTRAN(nblock,ndir+nshr)

DIMENSIONC(6,6),CD(6,6)

E11=props(1)

E22=props(2)

E33=props(3)

V12=props(4)

V13=props(5)

V23=props(6)

G12=props(7)

G13=props(8)

G23=props(9)

XT=props(10)

XC=props(11)

YT=props(12)

YC=props(13)

ZT=props(14)

ZC=props(15)

S12=props(16)

S13=props(17)

S23=props(18)

V21=E22*V12/E11

V31=E33*V13/E11

V32=E33*V23/E22

ATEMPS1=(ONE-V12*V21-V23*V32-V13*V31-TWO*V21*V32*V31)

1

/(E11*E22*E33)

DO

m=1,6

DOn=1,6

C(m,n)=ZERO

ENDDO

ENDDO

**

刚度矩阵

C(1,1)=(ONE-V23*V32)/(E22*E33*ATEMPS1)

C(2,2)=(ONE-V13*V31)/(E11*E33*ATEMPS1)

C(3,3)=(ONE-V12*V21)/(E11*E22*ATEMPS1)

C(1,2)=(V12+V32*V13)/(E11*E33*ATEMPS1)

C(1,3)=(V13+V12*V23)/(E11*E22*ATEMPS1)

C(2,3)=(V23+V21*V13)/(E11*E22*ATEMPS1)

C(4,4)=G23

C(5,5)=G13

C(6,6)=G12

DOm=2,6

DOn=1,m-1

C(m,n)=C(n,m)

ENDDO

ENDDO

C-------STRAINUPDATE

DO100i=1,nblock

DOj=1,6

STRAN(i,j)=ZERO

ENDDO

DOj=1,6

strainNew(i,j)=strainOld(i,j)+strainInc(i,j)

ENDDO

C-------STRESSUPDATE

stressNew(i,1)=C(1,1)*strainNew(i,1)+C(1,2)*strainNew(i,2)

1

+C(1,3)*strainNew(i,3)

stressNew(i,2)=C(1,2)*strainNew(i,1)+C(2,2)*strainNew(i,2)

2

+C(2,3)*strainNew(i,3)

stressNew(i,3)=C(1,3)*strainNew(i,1)+C(2,3)*strainNew(i,2)

3

+C(3,3)*strainNew(i,3)

stressNew(i,4)=TWO*C(4,4)*strainNew(i,4)

stressNew(i,5)=TWO*C(5,5)*strainNew(i,5)

stressNew(i,6)=TWO*C(6,6)*strainNew(i,6)

DOj=1,13

stateNew(i,j)=ZERO

ENDDO

stateNew(i,1)=StressNew(i,1)

stateNew(i,2)=StressNew(i,2)

stateNew(i,3)=StressNew(i,3)

stateNew(i,4)=StressNew(i,4)

stateNew(i,5)=StressNew(i,5)

stateNew(i,6)=StressNew(i,6)

stateNew(i,7)=(stateNew(i,1)/XT)**2+(stateNew(i,4)/S12)**2

1

+(stateNew(i,6)/S13)**2

stateNew(i,8)=(stateNew(i,1)/XC)**2

stateNew(i,9)=(stateNew(i,2)/YT)**2+(stateNew(i,4)/S12)**2

1

+(stateNew(i,5)/S23)**2

stateNew(i,10)=(stateNew(i,2)/YC)**2+(stateNew(i,4)/S12)**2

1

+(stateNew(i,5)/S23)**2

stateNew(i,11)=(stateNew(i,1)/XT)**2+(stateNew(i,4)/S12)**2

1

+(stateNew(i,6)/S13)**2

stateNew(i,12)=(stateNew(i,3)/ZT)**2+(stateNew(i,6)/S13)**2

1

+(stateNew(i,5)/S23)**2

stateNew(i,13)=(stateNew(i,3)/ZC)**2+(stateNew(i,6)/S13)**2

1

+(stateNew(i,5)/S23)**2

IF(stateNew(i,1).GT.0)THEN

IF(stateNew(i,7).GE.1)THEN

FT=1

ELSE

FT=0

ENDIF

ENDIF

IF(stateNew(i,1).LT.0)THEN

IF(stateNew(i,8).GE.1)THEN

FC=1

ELSE

FC=0

ENDIF

ENDIF

IF(stateNew(i,2).GT.0)THEN

IF(stateNew(i,9).GE.1)THEN

MT=1

ELSE

MT=0

ENDIF

ENDIF

IF(stateNew(i,2).LT.0)THEN

IF(stateNew(i,10).GE.1)THEN

MC=1

ELSE

MC=0

ENDIF

ENDIF

IF(stateNew(i,1).LT.0)THEN

IF(stateNew(i,11).GE.1)THEN

MTS=1

ELSE

MTS=0

ENDIF

ENDIF

IF(stateNew(i,3).GT.0)THEN

IF(stateNew(i,12).GE.1)THEN

TS=1

ELSE

TS=0

ENDIF

ENDIF

IF(stateNew(i,3).LT.0)THEN

IF(stateNew(i,13).GE.1)THEN

CS=1

ELSE

CS=0

ENDIF

ENDIF

DOm=1,6

DOn=1,6

CD(m,n)=C(m,n)

ENDDO

ENDDO

TF=FT+FC+MT+MC+MTS+TS+CS

C---CD为损伤矩阵

IF(FT.GE.1)THEN

E11NEW=0.07*E11

G12NEW=0.07*G12

G13NEW=0.07*G13

V21NEW=E22*V12/E11NEW

V31NEW=E33*V13/E11NEW

ATEMPS1NEW=(ONE-V12*V21NEW-V23*V32-V13*V31NEW-TWO*V21NEW*V32*V31NEW)/(

1

E11NEW*E22*E33)

CD(1,1)=(ONE-V23*V32)/(E22*E33*ATEMPS1NEW)

CD(2,2)=(ONE-V13*V31NEW)/(E11NEW*E33*ATEMPS1NEW)

CD(3,3)=(ONE-V12*V21NEW)/(E11NEW*E22*ATEMPS1NEW)

CD(1,2)=(V12+V32*V13)/(E11NEW*E33*ATEMPS1NEW)

CD(1,3)=(V13+V12*V23)/(E11NEW*E22*ATEMPS1NEW)

CD(2,3)=(V23+V21NEW*V13)/(E11NEW*E22*ATEMPS1NEW)

CD(4,4)=G23

CD(5,5)=G13NEW

CD(6,6)=G12NEW

DOm=2,6

DOn=1,m-1

CD(m,n)=CD(n,m)

ENDDO

ENDDO

ENDIF

IF(FC.GE.1)THEN

E11NEW=0.14*E11

G12NEW=0.07*G12

G13NEW=0.07*G13

V21NEW=E22*V12/E11NEW

V31NEW=E33*V13/E11NEW

ATEMPS1NEW=(ONE-V12*V21NEW-V23*V32-V13*V31NEW-TWO*V21NEW*V32*V31NEW)/(

1

E11NEW*E22*E33)

CD(1,1)=(ONE-V23*V32)/(E22*E33*ATEMPS1NEW)

CD(2,2)=(ONE-V13*V31NEW)/(E11NEW*E33*ATEMPS1NEW)

CD(3,3)=(ONE-V12*V21NEW)/(E11NEW*E22*ATEMPS1NEW)

CD(1,2)=(V12+V32*V13)/(E11NEW*E33*ATEMPS1NEW)

CD(1,3)=(V13+V12*V23)/(E11NEW*E22*ATEMPS1NEW)

CD(2,3)=(V23+V21NEW*V13)/(E11NEW*E22*ATEMPS1NEW)

CD(4,4)=G23

CD(5,5)=G13NEW

CD(6,6)=G12NEW

DOm=2,6

DOn=1,m-1

CD(m,n)=CD(n,m)

ENDDO

ENDDO

ENDIF

IF(MT.GE.1)THEN

E22NEW=0.3*E22

G12NEW=0.3*G12

G23NEW=0.3*G23

V21NEW=E22NEW*V12/E11

V32NEW=E33*V23/E22NEW

ATEMPS1NEW=(ONE-V12*V21NEW-V23*V32NEW-V13*V31-TWO*V21NEW*V32NEW*V31)/(

1

E11*E22NEW*E33)

CD(1,1)=(ONE-V23*V32NEW)/(E22NEW*E33*ATEMPS1NEW)

CD(2,2)=(ONE-V13*V31)/(E11*E33*ATEMPS1NEW)

CD(3,3)=(ONE-V12*V21NEW)/(E11*E22NEW*ATEMPS1NEW)

CD(1,2)=(V12+V32NEW*V13)/(E11*E33*ATEMPS1NEW)

CD(1,3)=(V13+V12*V23)/(E11*E22NEW*ATEMPS1NEW)

CD(2,3)=(V23+V21NEW*V13)/(E11*E22NEW*ATEMPS1NEW)

CD(4,4)=G23NEW

CD(5,5)=G13

CD(6,6)=G12NEW

DOm=2,6

DOn=1,m-1

CD(m,n)=CD(n,m)

ENDDO

ENDDO

ENDIF

IF(MC.GE.1)THEN

E22NEW=0.4*E22

G12NEW=0.4*G12

G23NEW=0.4*G23

V21NEW=E22NEW*V12/E11

V32NEW=E33*V23/E22NEW

ATEMPS1NEW=(ONE-V12*V21NEW-V23*V32NEW-V13*V31-TWO*V21NEW*V32NEW*V31)/(

1

E11*E22NEW*E33)

CD(1,1)=(ONE-V23*V32NEW)/(E22NEW*E33*ATEMPS1NEW)

CD(2,2)=(ONE-V13*V31)/(E11*E33*ATEMPS1NEW)

CD(3,3)=(ONE-V12*V21NEW)/(E11*E22NEW*ATEMPS1NEW)

CD(1,2)=(V12+V32NEW*V13)/(E11*E33*ATEMPS1NEW)

CD(1,3)=(V13+V12*V23)/(E11*E22NEW*ATEMPS1NEW)

CD(2,3)=(V23+V21NEW*V13)/(E11*E22NEW*ATEMPS1NEW)

CD(4,4)=G23NEW

CD(5,5)=G13

CD(6,6)=G12NEW

DOm=2,6

DOn=1,m-1

CD(m,n)=CD(n,m)

ENDDO

ENDDO

ENDIF

IF(TS.GE.1)THEN

E22NEW=0.3*E22

E33NEW=0.3*E33

G13NEW=0.3*G13

G23NEW=0.3*G23

V21NEW=E22NEW*V12/E11

V31NEW=E33NEW*V13/E11

V32NEW=E33NEW*V23/E22NEW

ATEMPS1NEW=(ONE-V12*V21NEW-V23*V32NEW-V13*V31NEW-TWO*V21NEW

1

*V32NEW*V31NEW)/(E11*E22NEW*E33NEW)

CD(1,1)=(ONE-V23*V32NEW)/(E22NEW*E33NEW*ATEMPS1NEW)

CD(2,2)=(ONE-V13*V31NEW)/(E11*E33NEW*ATEMPS1NEW)

CD(3,3)=(ONE-V12*V21NEW)/(E11*E22NEW*ATEMPS1NEW)

CD(1,2)=(V12+V32NEW*V13)/(E11*E33NEW*ATEMPS1NEW)

CD(1,3)=(V13+V12*V23)/(E11*E22NEW*ATEMPS1NEW)

CD(2,3)=(V23+V21NEW*V13)/(E11*E22NEW*ATEMPS1NEW)

CD(4,4)=G23NEW

CD(5,5)=G13NEW

CD(6,6)=G12

DOm=2,6

DOn=1,m-1

CD(m,n)=CD(n,m)

ENDDO

ENDDO

ENDIF

IF(CS.GE.1)THEN

E22NEW=0.4*E22

E33NEW=0.4*E33

G13NEW=0.4*G13

G23NEW=0.4*G23

V21NEW=E22NEW*V12/E11

V31NEW=E33NEW*V13/E11

V32NEW=E33NEW*V23/E22NEW

ATEMPS1NEW=(ONE-V12*V21NEW-V23*V32NEW-V13*V31NEW-TWO*V21NEW

1

*V32NEW*V31NEW)/(E11*E22NEW*E33NEW)

CD(1,1)=(ONE-V23*V32NEW)/(E22NEW*E33NEW*ATEMPS1NEW)

CD(2,2)=(ONE-V13*V31NEW)/(E11*E33NEW*ATEMPS1NEW)

CD(3,3)=(ONE-V12*V21NEW)/(E11*E22NEW*ATEMPS1NEW)

CD(1,2)=(V12+V32NEW*V13)/(E11*E33NEW*ATEMPS1NEW)

CD(1,3)=(V13+V12*V23)/(E11*E22NEW*ATEMPS1NEW)

CD(2,3)=(V23+V21NEW*V13)/(E11*E22NEW*ATEMPS1NEW)

CD(4,4)=G23NEW

CD(5,5)=G13NEW

CD(6,6)=G12

DOm=2,6

DOn=1,m-1

CD(m,n)=CD(n,m)

ENDDO

ENDDO

ENDIF

IF(MTS.GE.1)THEN

E11NEW=0.07*E11

E22NEW=0.3*E22

E33NEW=0.3*E33

G12NEW=0.07*G12

G13NEW=0.07*G13

G23NEW=0.3*G23

V21NEW=E22NEW*V12/E11NEW

V31NEW=E33NEW*V13/E11NEW

V32NEW=E33NEW*V23/E22NEW

ATEMPS1NEW=(ONE-V12*V21NEW-V23*V32NEW-V13*V31NEW-TWO

1

*V21NEW*V32NEW*V31NEW)/(E11NEW*E22NEW*E33NEW)

CD(1,1)=(ONE-V23*V32NEW)/(E22NEW*E33NEW*ATEMPS1NEW)

CD(2,2)=(ONE-V13*V31NEW)/(E11NEW*E33NEW*ATEMPS1NEW)

CD(3,3)=(ONE-V12*V21NEW)/(E11NEW*E22NEW*ATEMPS1NEW)

CD(1,2)=(V12+V32NEW*V13)/(E11NEW*E33NEW*ATEMPS1NEW)

CD(1,3)=(V13+V12*V23)/(E11NEW*E22NEW*ATEMPS1NEW)

温馨提示

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

评论

0/150

提交评论