User login


You are here

return map algorithm

Dear all,

I am trying to code a UMAT subroutine for perfect plasticity with a Tsai-Wu failure surface. I follow the procedure of the closest point projection in Simo & Hughes, Box 3.5, which is quite straight forward. At least I thought so Cry

 The algorithm converges but unfortunately not to the correct point in the (plane-stress) stress space. At first I used an yield surface wich gives a unit sphere in the stress space. It is easy to control the normality of the plastic strain increment and the return-map algorithm is implified to a radial return algorithm.

I don't know where there is the problem so I'd like to ask if this is a "correct" iteration algorithm for FE?

For linear elastic materials, the elastic module C is constant, isn't it? 

I came across  Box 4.1 which is more or less the same algorithm. Whats the difference between Box 3.5 and Box 4.1?


It would be great, if anyone can help me!


The algorithm in Box 3.5 only works for general 3D, axisymetric and plane strain cases. In your case (plane stress) you should use the one in Box 3.3

Thanks for your reply.

Is there a reference in the book why Box 3.5 is valid for plain stress only?

As for Box 3.3: it is for J2-plasticity only but I'm looking for a general return mapping algorithm which covers also a Tsai-Wu failure surface.

You're welcome. There is no explicit statement of the fact that Box 3.5 won't work with plane stress. However, there are a couple of lines (p. 125 bottom and p. 126 top) that imply that in the case of plane stress, return mapping shoud be performed in the constrained plane-stress subspace. My guess is that your use of 3.5, eventhough convergent, leads to a false solution beause the plane-stress constraint is not taken into account. You can force the constraint by using the formalism employed in section 2.4. I don't know how hard it is to expand this formalism to your particular case. Take a look at "Computational Methods for Plasticity: Theory and Applications", by de Souza Neto, you may find your answer there.


Dear George,


I have solved the problem but I'm too embarrassed to tell publicly what went wrong.

Nevertheless, the algorithm in Box 3.5 works for a plain stress von Mises criterion. And it should work for many other yield surfaces as well. 

As far as I understand section 3.4 of the book, it deals with von Mises plasticity only. The quite simple (radial) return mapping algorithm for von Mises plasticity in the 3D-stress space can nnot be performed in plane stress space, therefore the algorithm in Box 3.3 is developed. In contrast, Box 3.5 can handle other yield surfaces as well.

I know the book of de Souza Neto already and it did help me in many ways. It's nice to see, that others rely on the same sources.

Thanks for sharing that information with me, I guess I misinterpeted that part of the book. I apologise for misleading you...

I would love to know what went wrong, as I work on similar problems from time to time. Could you e-mail me at

I thought it woould be good to comment my findings.

Well, its not so embarassing but matrix A in Box 3.5 is defined by its inverse, I have missed the -1 so that A became defined in a wrong way. Unfortunately, I did this mistake twice, once when first programming with mathematica and also when doeing the "control" with fortran.

As for the "misleading" it was not a great problem. It was nevertheless good to get some feedback and to think once more about the preliminaries of using Box 3.5. 

I hope, you will solve your problems in the near future. I will expand my algorithm for 3D, insert hardening and then going for multisurface plasticity. Multiple sources for mistakes ;-)

I would have missed that "-1"  for sure as well! It's great to have someone verify these algorithms, since I will rely heavily on them for some of my own projects. Good luck with your umat, umat! ;-)

shahram's picture

Dear Permalink


I have the same problem but ı could not understand hove dıd you solved the ıssue. can you please help me.



Subscribe to Comments for "return map algorithm"

More comments


Subscribe to Syndicate