Skip to main content

How to update the stress in umat when the load is constant?

Submitted by yoyo Li on

My friends 

I'm working on a constitutive model using umat in abaqus. There is a problem and can be described generally as follow:

A constant load is applied on beam elements, however, the elastic modulus decreases as a function of the axial strain of the element and loading time. In another words, the modulus will decrease when the umat is called at DTIME. I used STRESS=STRESS+DDSDDE*DSTRAN to update the stress, however, the result shows that the STRESS, STRAIN and DISPLACEMENT don't change since beginning.

So I applied the load alternatively, which is the load is applied gradually to be the maximum value within a time and then kept as constant. The result shows the similar problem. The stress, strain and displacement don't change when the load reaches to the maximum value. This doesn't make sence since the elastic modulus keeps going down even the load is constant.

I think the constant load is a probable reason for this. Because the change of displacement will be calculated firstly  corresponding to the incremental load (which is zero), this leads to zero change of displacement, followed by zero change of strain and stress.



But I'm not sure about this problem. I also read the example of viscoelastic routine in abaqus user subroutine reference manual and I found the stress is updated using the actual constitutive model rather than DDSDDE. It says the DDSDDE only influences how fast the converagence is rather than the result.

Now I'm totally lost...

Any idea for this?

Thank you very much!

Dear yoyo Li,

You seem to use Forward Euler approach for stress update:

DELTA_Simga_ij = D_ijkl*DELTA_Epsilon_kl

But for rate dependent model (like viscoelasticity) the above equations doesnt hold (there is an additional term in rhs of equation). You can see this if you carefully derive realtion between stress and strain rates from your theory.

Also aformentioned approach is extreemly uneffective even if you correct the mistake in formula, as continuum elastoplastic moduli D_ijkl relates infinitesimal increments of stress and strain. So DDSDDE is a Jacobian matrix, used for global stiffness assembly, and the stress is updated with separate accurate algorithm.

 Detailed information on your problem can be found for example in "Nonlinear finite elements for continua and structures" (Ted Belytschko et.al., John Willey ans Sons, 2000), chapter 5.9 "Stress update algorithm". Also "Computational inelasticity" of Simo and Hughes is a good reading on the topic. And i remeber a good viscoelasticity UMAT example in ABAQUS manual.

Fri, 03/18/2011 - 12:13 Permalink