Notifications
Clear all

Problem with Abaqus VUHARD subroutine


oamphetamin
Posts: 1
Topic starter
(@oamphetamin)
New Member
Joined: 10 years ago

Hello

I am working on the simulation of ring rolling. I have written the subroutine for the plasticity part in the subroutine VUHARD and have set the PLASTIC part in material definition to USER.

I dont have HARDENING PROPERTIES so i have set it BLANK. i have set the path of the subroutine in the job defintion part too. But abaqus crashes whenever i try to do DATA CHECK

It says ABAQUS KERNEL EXITED WITH AN ERROR.I dont know why this problem arises?. I am stuck.

The curve i want to define is yieldstress=K*plasticstrain^m*plasticstrainrate^n

I have defined the yield,Dyieldeqps(k,1)Dyieldeps(k,2) as abaqus has told.

Abaqus has told to define Statenew too.I dont know how to define it. pls help.

This is my subroutine :

c-----subroutine for plasticity

subroutine vuhard(

C Read only -

* nblock,

* jElem, kIntPt, kLayer, kSecPt,

* 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 props(nprops), tempOld(nblock), tempNew(nblock),

1 fieldOld(nblock,nfieldv), fieldNew(nblock,nfieldv),

2 stateOld(nblock,nstatev), eqps(nblock), eqpsRate(nblock),

3 yield(nblock), dyieldDtemp(nblock), dyieldDeqps(nblock,2),

4 stateNew(nblock,nstatev), jElem(nblock)

parameter( one=1.0d0,small=1.0d-8)

C

character*80 cmname

double precision a,b,c

k=100.0d0

m=0.30d0

n=0.15d0

C

C

do km = 1,nblock

plstrain=eqps(km)

plstrnrt=eqpsRate(km)

C

yield(km)=k*(plstrain**m)*(plstrnrt**n)

dyieldDeqps(km,1)=k*m*(plstrain**(m-one))*(plstrnrt**n)

dyieldDeqps(km,2)=k*n*(plstrain**m)*(plstrnrt**(n-one))

end do

C

return

end

1 Reply
Jorgen
Posts: 3944
Moderator
(@jorgen)
Member
Joined: 2 years ago

Does it crash if you use an even simpler subroutine? Can you add some print statements to your code to see if they are reached?

-Jorgen

1 Reply
Share: