关于vumat求助
现在是报这个错误,我网上查的都说是程序里面有错误,但是我找不出文件里面哪里有问题,哪位大神可以帮忙找一下,非常感谢
Bad Material definition in element number 11 instance DERMIS-1: zero or negative initial dilatational modulus caused by bad material data. Please check your material input and any initial conditions if necessary.
Abaqus/Explicit Packager exited with an error - Please see the status file for possible error messages if the file exists.
parameter (zero = 0.d0, one = 1.d0, two = 2.d0,
* three = 3.d0, third = 1.d0 / 3.d0, half = 0.5d0,four=4.d0)
C10=0.2d0
D1=1e-5
ak=two/D1
amu=two*C10
twomu=four*C10
alamda=(three*ak-twomu)/three
if (steptime.EQ.zero) then
do i=1,nblock
IF(cmname.eq.'B') THEN
C10=0.2d0
D1=1e-5
ak=two/D1
amu=two*C10
twomu=four*C10
alamda=(three*ak-twomu)/three
trace1=strainInc(i,1)+strainInc(i,2)+strainInc(i,3)
stressNew(i,1)=stressOld(i,1)+
* twomu*strainInc(k,1)+alamda*trace1
stressNew(i,2)=stressOld(i,2)+
* twomu*strainInc(i,2)+alamda*trace1
stressNew(i,3)=stressOld(i,3)+
* twomu*strainInc(i,3)+alamda*trace1
stressNew(i,4)=stressOld(i,4)+
* twomu*strainInc(i,4)
ELSEIF(cmname.eq.'A') THEN
C10=7.2d0
D1=1e-5
ak=two/D1
amu=two*C10
twomu=four*C10
alamda=(three*ak-twomu)/three
trace1=strainInc(i,1)+strainInc(i,2)+strainInc(i,3)
stressNew(i,1)=stressOld(i,1)+
* twomu*strainInc(k,1)+alamda*trace1
stressNew(i,2)=stressOld(i,2)+
* twomu*strainInc(i,2)+alamda*trace1
stressNew(i,3)=stressOld(i,3)+
* twomu*strainInc(i,3)+alamda*trace1
stressNew(i,4)=stressOld(i,4)+
* twomu*strainInc(i,4)
end if
enddo
else
C
do k=1,nblock
IF(cmname.eq.'B') THEN
C10=props(1)
D1=props(2)
ak=two/D1
amu=two*C10
twomu=four*C10
alamda=(three*ak-twomu)/three
det=stretchNew(k,3)*(stretchNew(k,1)*stretchNew(k,2)-
* stretchNew(k,4)**two)
det2=(V(2,2)*V(1,1)-V(1,2)**two)*V(3,3)
scale=det**( -ONE/THREE)
stretchNewBar(k,1)=stretchNew(k,1)*scale
stretchNewBar(k,2)=stretchNew(k,2)*scale
stretchNewBar(k,3)=stretchNew(k,3)*scale
stretchNewBar(k,4)=stretchNew(k,4)*scale
BBar(k,1)=stretchNewBar(k,1)**two+stretchNewBar(k,4)**two
BBar(k,2)=stretchNewBar(k,2)**two+stretchNewBar(k,4)**two
BBar(k,3)=stretchNewBar(k,3)**two
BBar(k,4)=stretchNewBar(k,1)*stretchNewBar(k,4)
* +stretchNewBar(k,4)*stretchNewBar(k,2)
TRBBar=BBar(k,1)+BBar(k,2)+BBar(k,3)
EG=two*C10/det
C
PR=two/D1*(det-one)
stressNew(K,1)=EG*(BBar(k,1)-TRBBar/Three)+PR
stressNew(K,2)=EG*(BBar(k,2)-TRBBar/Three)+PR
stressNew(K,3)=EG*(BBar(k,3)-TRBBar/Three)+PR
stressNew(K,4)=EG*BBar(k,4)
C Statenew(k,2)=sqrt(half*((StressNew(k,1)-StressNew(k,2))**two+
C * (StressNew(k,2)-StressNew(k,3))**two+(StressNew(k,3)-
C * StressNew(k,1))**two)+three*StressNew(k,4)**two)
s1=(stressNew(K,1)+stressNew(K,2))/two+
* sqrt(((stressNew(K,1)-stressNew(K,2))/two)**two+
*stressNew(K,4)**two)
s2=(stressNew(K,1)+stressNew(K,2))/two-
* sqrt(((stressNew(K,1)-stressNew(K,2))/two)**two+
*stressNew(K,4)**two)
Statenew(k,2)=sqrt(((s1-s2)**two+(s1-stressNew(K,3))**two+
* (s2-stressNew(K,3))**two)/two)
if(Statenew(k,2).gt.(7d0)) then
statenew(k,1)=zero
else
statenew(k,1)=one
end if
if (stateold(k,1).eq.zero) then
statenew(k,1)=zero
end if
C Update the enerInelasNew
C
C enerInelasNew(i) = enerInelasOld(i) +
C * stressPower/density(i)-DEE
enerInelasNew(k) = 0
ELSEIF(cmname.eq.'A') THEN
C10=props(1)
D1=props(2)
ak=two/D1
amu=two*C10
twomu=four*C10
alamda=(three*ak-twomu)/three
det=stretchNew(k,3)*(stretchNew(k,1)*stretchNew(k,2)-
* stretchNew(k,4)**two)
scale=det**(-ONE/THREE)
stretchNewBar(k,1)=stretchNew(k,1)*scale
stretchNewBar(k,2)=stretchNew(k,2)*scale
stretchNewBar(k,3)=stretchNew(k,3)*scale
stretchNewBar(k,4)=stretchNew(k,4)*scale
BBar(k,1)=stretchNewBar(k,1)**two+stretchNewBar(k,4)**two
BBar(k,2)=stretchNewBar(k,2)**two+stretchNewBar(k,4)**two
BBar(k,3)=stretchNewBar(k,3)**two
BBar(k,4)=stretchNewBar(k,1)*stretchNewBar(k,4)
* +stretchNewBar(k,4)*stretchNewBar(k,2)
C TRBBar=BBar(k,1)+BBar(k,2)+BBar(k,3)
C BBar(k,1)=stretchNew(k,1)**two+stretchNew(k,4)**two-one
C BBar(k,2)=stretchNew(k,2)**two+stretchNew(k,4)**two-one
C BBar(k,3)=stretchNew(k,3)**two-one
C BBar(k,4)=stretchNew(k,1)*stretchNew(k,4)
C * +stretchNew(k,4)*stretchNew(k,2)
TRBBar=BBar(k,1)+BBar(k,2)+BBar(k,3)
EG=two*C10/det
C EG=two*C10
PR=two/D1*(det-one)
stressNew(K,1)=EG*(BBar(k,1)-TRBBar/Three)+PR
stressNew(K,2)=EG*(BBar(k,2)-TRBBar/Three)+PR
stressNew(K,3)=EG*(BBar(k,3)-TRBBar/Three)+PR
stressNew(K,4)=EG*BBar(k,4)
C Statenew(k,2)=sqrt(half*((StressNew(k,1)-StressNew(k,2))**two+
C * (StressNew(k,2)-StressNew(k,3))**two+(StressNew(k,3)-
C * StressNew(k,1))**two)+three*StressNew(k,4)**two)
s1=(stressNew(K,1)+stressNew(K,2))/two+
* sqrt(((stressNew(K,1)-stressNew(K,2))/two)**two+
*stressNew(K,4)**two)
s2=(stressNew(K,1)+stressNew(K,2))/two-
* sqrt(((stressNew(K,1)-stressNew(K,2))/two)**two+
*stressNew(K,4)**two)
Statenew(k,2)=sqrt(((s1-s2)**two+(s1-stressNew(K,3))**two+
* (s2-stressNew(K,3))**two)/two)
if(Statenew(k,2).gt.(26.d0)) then
statenew(k,1)=zero
else
statenew(k,1)=one
end if
if (stateold(k,1).eq.zero) then
statenew(k,1)=zero
end if |