×
INTELLIGENT WORK FORUMS
FOR ENGINEERING PROFESSIONALS

Log In

Come Join Us!

Are you an
Engineering professional?
Join Eng-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!
  • Students Click Here

*Eng-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Students Click Here

Jobs

vumat implementation "Problem during compilation"

vumat implementation "Problem during compilation"

vumat implementation "Problem during compilation"

(OP)
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!

Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Eng-Tips Forums free from inappropriate posts.
The Eng-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Eng-Tips forums is a member-only feature.

Click Here to join Eng-Tips and talk with other members! Already a Member? Login


Resources

White Paper - The Evolving Landscape of Commercial Battery-Powered Trucks
What’s driving the evolving landscape of truck electrification? What are the barriers, motivators and strategies for accelerating the electric transition? What insights and resources are available for today’s design engineers working to achieve industry disruption and evolution? For answers to these and other pertinent questions, read this white paper. Download Now
eBook - Rethink Your PLM
A lot has changed since the 90s. You don't surf the Web using dial-up anymore, so why are you still using a legacy PLM solution that's blocking your ability to innovate? To develop and launch products today, you need a flexible, cloud-based PLM, not a solution that's stuck in the past. Download Now

Close Box

Join Eng-Tips® Today!

Join your peers on the Internet's largest technical engineering professional community.
It's easy to join and it's free.

Here's Why Members Love Eng-Tips Forums:

Register now while it's still free!

Already a member? Close this window and log in.

Join Us             Close