Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations IDS on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

vumat implementation "Problem during compilation"

Status
Not open for further replies.

Spring63

Mechanical
Sep 11, 2019
2
Hi There,
I am having a problem with inputting my Vumat into Abaqus explicit.
I have already implemented many subroutines into Abaqus and got results. However, my recent vumat gives this error :"problem during compilation"
my vumat is just simple neo-hookean model.
I appreciate if someone helps me with that. the code is written here:

subroutine vumat(
C Read only (unmodifiable)variables -
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,
5 stressOld, stateOld, enerInternOld, enerInelasOld,
6 tempNew, stretchNew, defgradNew, fieldNew,
C Write only (modifiable) variables -
7 stressNew, stateNew, enerInternNew, enerInelasNew )
C
include 'vaba_param.inc'
C
dimension props(nprops), density(nblock), coordMp(nblock,*),
1 charLength(nblock), strainInc(nblock,ndir+nshr),
2 relSpinInc(nblock,nshr), tempOld(nblock),
3 stretchOld(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(nblock),
8 stretchNew(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*80 cmname
C
parameter( zero = 0.D0, one = 1.D0, two = 2.D0, three = 3.D0,
1 third = one/three, half = 0.5D0, twoThirds = two/three,
2 threeHalfs = 1.5D0 )
C
C elastic constants
C
c10 = props(1)
d1 = props(2)
shrMod = two*c10
blkMod = two/d1
C
C
do k = 1,nblock
C
C calculate left cauchy-green tensor in terms of stretch tensor
C and jacobian
bxx =stretchNew(k,1) * stretchNew(k,1)
1 + stretchNew(k,4) * stretchNew(k,4)
byy =stretchNew(k,4) * stretchNew(k,4)
1 + stretchNew(k,2) * stretchNew(k,2)
bzz =stretchNew(k,3) * stretchNew(k,3)
bxy =stretchNew(k,1) * stretchNew(k,4)
1 + stretchNew(k,4) * stretchNew(k,2)
bxz = zero
byz = zero
detu=stretchNew(k,3)*(stretchNew(k,1)*stretchNew(k,2)
1 - stretchNew(k,4)*stretchNew(k,4))
C
if ( nshr .gt. 1 ) then
bxx =bxx + stretchNew(k,6) * stretchNew(k,6)
byy =byy + stretchNew(k,5) * stretchNew(k,5)
bzz =bzz + stretchNew(k,6) * stretchNew(k,6)
1 + stretchNew(k,5) * stretchNew(k,5)
bxy =bxy + stretchNew(k,6) * stretchNew(k,6)
1 + stretchNew(k,4) * stretchNew(k,2)
bxz = stretchNew(k,1) * stretchNew(k,6)
1 + stretchNew(k,4) * stretchNew(k,5)
+ stretchNew(k,6) * stretchNew(k,3)
byz = stretchNew(k,4) * stretchNew(k,6)
1 + stretchNew(k,2) * stretchNew(k,5)
2 + stretchNew(k,5) * stretchNew(k,3)
detu = detu + stretchNew(k,6) *
1 ( stretchNew(k,4) * stretchNew(k,5)
2 - stretchNew(k 6) * stretchNew(k,2) )
3 - stretchNew(k,5) * ( stretchNew(k,1) * stretchNew(k,5)
4 - stretchNew(k,6) * stretchNew(k,4) )
end if
xpow = exp ( - log(detu) * two_thirds )
bxx = bxx * xpow
byy = byy * xpow
bzz = bzz * xpow
bxy = bxy * xpow
bxz = bxz * xpow
byz = byz * xpow
C BI1 ( first invariant of BIJ )
C
bi1 = bxx + byy + bzz
C
C BDIJ ( deviatoric part of BIJ )
C
bdxx = bxx - third * bi1
bdyy = byy - third * bi1
bdyy = byy - third * bi1
bdzz = bzz - third * bi1
bdxy = bxy
bdxz = bxz
bdyz = byz
C
duDi1 = half * shrMod
duDi3 = blkMod * ( detu - one )
C
C Calculate Cauchy (true) stresses
C
detuInv = one / detu
factor = two * duDi1 * detuInv
C
stressNew(k,1) = factor * bdxx + duDi3
stressNew(k,2) = factor * bdyy + duDi3
stressNew(k 3) = factor * bdzz + duDi3
stressNew(k,3) = factor * bdzz + duDi3
stressNew(k,4) = factor * bdxy
if ( nshr .gt. 1 ) then
stressNew(k,5) = factor * bdyz
stressNew(k,6) = factor * bdxz
end if
C
end do
C
return
end




Thanks!
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor