Search
Close this search box.
Notifications
Clear all

UMAT: DDSDDE in large strain hyperelasticity

5 Posts
4 Users
0 Likes
1,541 Views
Posts: 2
Topic starter
(@petermorrison)
New Member
Joined: 10 years ago

Hello,

thanks to this forum, I already found a lot about the correct definition of the tangent modulus in Umat subroutines. I am testing my subroutines on a simple cube and unfortunately, my subroutines only work for normal tension. It seems that I am still doing some systematic error.

Following the user subroutine reference manual, the material jacobian matrix is

DDSDDE = (delta sigma)/(delta epsilon)

So this is Cauchy stress derived to logarithmic strain. On the same site, there is also the definition: For rate form constitutive laws the tangent moduli is given as

DDSDDE = 1/J (partial delta (J sigma)) / (partial delta epsilon)

with J = Det(F). So this is the Kirchhoff stress derived to the logarithmic strain. Further I found out that Abaqus needs the tangent modulus with Jaumann stress rate.

As I am doing large strain analysis, I do not use the logarithmic strain, but the deformation gradient DFGRD1 to compute strain and stresses at the end of the increment. Second my constitutive law is pure elastic, so far I do not use a rate formulation. The material is defined by a strain energy potential Psi(C), with Cauchy Green deformation tensor C = DFGRD1transpose DFGRD1.

I tried two approaches so far to compute DDSDDE:

Analytic:

Tangent modulus in spatial frame: DDSDDEspatial = 4 dd Psi(C) / dC dC

Then push forward to material frame: DDSDDEmaterial = 1/J DFGRD1 DFGRD1 DDSDDEspatial DFGRD1transpose DFGRD1transpose

Convert to Jaumann: DDSDDE = DDSDDEmaterial + h [1]

Numeric:

I implemented a numerical approximation of DDSDDE as proposed in [2]. The algorithm estimates the tangent moduli by a forward differentiation of the stress.

Unfortunately, both approaches do only work for normal tension, shear or combined loading fails.

What does Abaqus need? Cauchy or Kirchhoff tangent moduli?

Is there anything in the .inp file I need to consider? Element types etc.

Thanks in advance any hints how to get my UMAT working!

Best

Chris

[1] Belytschko 2001: Nonlinear Finite Elements for Continua and Structures

[2] Sun 2008: Numerical approximation of tangent moduli for finite element implementations of nonlinear hyperelastic material models

4 Replies
Posts: 80
(@FrankMonkey)
Trusted Member
Joined: 14 years ago

Get the file
[url] http://imechanica.org/files/Writing [/url] User Subroutines with ABAQUS.pdf
it may show up as
[url] http://imechanica.org/files/Writing%20User%20Subroutines%20with%20ABAQUS.pdf [/url]

there is an example for Neo-Hookean Hyperelasticity

4 Replies
Posts: 2
Topic starter
(@petermorrison)
New Member
Joined: 10 years ago

Perfect, in the document is amongst other usefull information the correct definition of the Jacobian. Thanks!

Reply
Posts: 4
(@real_madrid)
New Member
Joined: 10 years ago

UMAT works for single element and fails for multiple elements

[QUOTE=Chrichri,10836]Perfect, in the document is amongst other usefull information the correct definition of the Jacobian. Thanks!

Hi Chrichri,

I am facing the same problem. I am using the SUN (2008) paper to solve my problem. The UMAT works for the single element and fails for multiple elements.

How did u obtain the basis vectors in the spatial description from the ABAQUS. I assumed them to be {1,0,0} {0,1,0} and {0,0,1}. This way it worked for single element.

How did you finally fix this issue.

Thanks a LOT

-Ravi

Reply
Posts: 83
(@zhaiys)
Trusted Member
Joined: 16 years ago

A bit late, but please note that there was an error in the UMAT documentation up to release 6.8 (or thereabout). Spin terms were added to the definition of the Jacobian in later versions of the documentation....

Mats

[QUOTE=Chrichri,10824]Hello,

thanks to this forum, I already found a lot about the correct definition of the tangent modulus in Umat subroutines. I am testing my subroutines on a simple cube and unfortunately, my subroutines only work for normal tension. It seems that I am still doing some systematic error.

Following the user subroutine reference manual, the material jacobian matrix is

DDSDDE = (delta sigma)/(delta epsilon)

So this is Cauchy stress derived to logarithmic strain. On the same site, there is also the definition: For rate form constitutive laws the tangent moduli is given as

DDSDDE = 1/J (partial delta (J sigma)) / (partial delta epsilon)

with J = Det(F). So this is the Kirchhoff stress derived to the logarithmic strain. Further I found out that Abaqus needs the tangent modulus with Jaumann stress rate.

As I am doing large strain analysis, I do not use the logarithmic strain, but the deformation gradient DFGRD1 to compute strain and stresses at the end of the increment. Second my constitutive law is pure elastic, so far I do not use a rate formulation. The material is defined by a strain energy potential Psi(C), with Cauchy Green deformation tensor C = DFGRD1transpose DFGRD1.

I tried two approaches so far to compute DDSDDE:

Analytic:

Tangent modulus in spatial frame: DDSDDEspatial = 4 dd Psi(C) / dC dC

Then push forward to material frame: DDSDDEmaterial = 1/J DFGRD1 DFGRD1 DDSDDEspatial DFGRD1transpose DFGRD1transpose

Convert to Jaumann: DDSDDE = DDSDDEmaterial + h [1]

Numeric:

I implemented a numerical approximation of DDSDDE as proposed in [2]. The algorithm estimates the tangent moduli by a forward differentiation of the stress.

Unfortunately, both approaches do only work for normal tension, shear or combined loading fails.

What does Abaqus need? Cauchy or Kirchhoff tangent moduli?

Is there anything in the .inp file I need to consider? Element types etc.

Thanks in advance any hints how to get my UMAT working!

Best

Chris

[1] Belytschko 2001: Nonlinear Finite Elements for Continua and Structures

[2] Sun 2008: Numerical approximation of tangent moduli for finite element implementations of nonlinear hyperelastic material models

Reply
Share: