User login


You are here

Working with 4th order tensors - UMAT?

shreeram111's picture

Hello everybody,

         My task is to write a UMAT for non-linear viscoelastic material in Abaqus. When it comes to working in 2D and 3D, I see that there are places where I have to work with 4th order tensors. I understand that stresses and strains are stored as vectors in Abaqus - UMAT and are passed in and out the same way.

  • Now I don't understand how to handle the 4th order tensors accordingly.
  • Should I use them as 9*9 (81 components) matrix, or use them as (3*3*3*3) matrix or how to use them as vectors suitable to work with stress and strain vectors.?

It would be nice if any of you could help me understand it or refer me to a material that might help me. 

Thanks for your time



It is much better to avoid explicitly representing 4th order tensors if you can. When starting to write my own UMAT, I wrote up a little tutorial on formatting the tangent stiffness matrix. You can find it at the following

That should answer all your questions. Any additional questions should be answered in Abaqus' documentation.

The google drive link in the parent comment is broken. Please use this one:

rajan_prithivi's picture

Even I use 4th order tensors in my UMAT, there are two options -

1) Use it as such, mostly you would be computing the stiffness tensor with respect to another coordinate system .i.e. C'_ijkl = R_ip R_jq R_kr R_ls C_pqrs

Calculate the rotation matrix (R ) and you may use 4 for loops to do this transformation, after the transformation you can convert it to voigt notation

2) Instead of doing the tranformation using the fourth order tensor, you may also do it on voigt's notation. But the transformation matrix carries the factors of 2 and sqrt(2) terms, IF I remember correctly.  I best believe, you can find this in the Micromechanics of defects by T.Mura

Subscribe to Comments for "Working with 4th order tensors - UMAT?"

Recent comments

More comments


Subscribe to Syndicate