×
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

Help regarding Johnson Cook VUHARD

Help regarding Johnson Cook VUHARD

Help regarding Johnson Cook VUHARD

(OP)
Dear all,

I am trying to write VUHARD for Johnson Cook plasticity model.

Which is given by:

sigma = [A+ B epsilon^n] [1+C ln epsilon_dot_star] [ 1-T*^m]

This runs and gives a result very different to what the inbuilt JC model (within Abaqus) shows. I have attached the figure showing the difference. Can anyone please point out my mistake.

The mises stress vs time plot is the following:

https://ibb.co/cAmzum


I have written the following VUHARD

C
C User subroutine vuhard
subroutine vuhard (
C Read only -
* nblock,
* nElement, nIntPt, nLayer, nSecPt,
* lAnneal, stepTime, totalTime, dt, cmname,
* nstatev, nfieldv, nprops,
* props, tempOld, tempNew, fieldOld, fieldNew,
* stateOld,
* eqps, eqpsRate,
C Write only -
* yield, dyieldDtemp, dyieldDeqps,
* stateNew )
c
include 'vaba_param.inc'
c
dimension nElement(nblock),
* props(nprops),
* tempOld(nblock),
* fieldOld(nblock,nfieldv),
* stateOld(nblock,nstatev),
* tempNew(nblock),
* fieldNew(nblock,nfieldv),
* eqps(nblock),
* eqpsRate(nblock),
* yield(nblock),
* dyieldDtemp(nblock),
* dyieldDeqps(nblock,2),
* stateNew(nblock,nstatev)



PARAMETER ( zero = 0.0d0, one = 1.0d0 , two = 2.0d0, three = 3.0d0,
1 third = one/three, half = .5d0, twoThirds = two/three,
2 threeHalfs = 1.5d0, eighteen = 18.0d0,
3 four = 4.0d0, fourThirds = four/three)
c
character*80 cmname
A = props(1)
B = props(2)
n = props(3)
C = props(4)
xm = props(5)
T_melt = props(6)
T_trans = props(7)
epsdot0 = props(8)
c
c epsdot0 is 1
c
DO k = 1,nblock

T = tempNew(k)
IF (T .lt. T_trans) THEN
T_star = zero
ELSEIF ( T_trans .ge. T .le. T_melt ) THEN
T_star = (T - T_trans)/(T_melt - T_trans)
ELSE
T_star = one
END IF

strainrate = eqpsRate(k)/epsdot0
strain = eqps(k)

IF (strainrate .gt. zero) THEN
edot_log = LOG( strainrate )
ELSE
edot_log = zero
ENDIF
yield(k) = (A + B*(strain**n))*(one - T_star**xm)
1 * (one + C*edot_log)

IF( strain .le. zero) THEN
dyieldDeqps(k,1) = zero
ELSE
dyieldDeqps(k,1) = (B*n*(strain**(n-one)))*
1 (one - T_star**xm) * (one + C*edot_log)
ENDIF
IF(strainrate .ge. epsdot0) then
dyieldDeqps(k,2) = (A + B*(strain**n))*
1 (one - T_star**xm) * (C/strainrate)
ELSE
dyieldDeqps(k,2) = zero
ENDIF
IF (T .gt. T_trans) THEN
dyieldDtemp(k) = (-xm)*(one/(T - T_trans))*
1 (T_star**(xm))*(A + B*(strain**n))
2 *(one + C*edot_log)
ELSE
dyieldDtemp(k) = zero
ENDIF
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!


Resources


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