ulman
2009-12-10, 04:22
(Found similar posts in this forum: Comparison of DDSDDE via two different ways for von-mises plasticity & STRESS and DDSDDE in ABAQUS UMAT)
In a UMAT calculation I have to return the STRESS and the tangent DDSDDE, I am not sure about the correct definition of the tangent.
(1) The STRESS is the Cauchy stress.
(2) The Green-Lagrange strain E is calculated via the deformation gradient F=DFGRD1 as E = 1.0/2.0 * ( transpose(F)*F - 1)
(2) Let's suppose we have a strain energy function W, which should be a function of the Green-Lagrange strain E.
The second Piola-Kirchhoff stress is yielded as S=dW/dE.
A push-forward operation and division by J=det[F] yields the Cauchy stress sigma=(1/J)*F*S*transpose(F).
(3) The tangent C can be calculated as C=d2W/dE2, so as the second derivative of the strain energy function with respect to the Green-Lagrange strain.
This gives dot(S) = C : dot(E).
This can be transformed to the spatial configuration to the Truesdell rate of Cauchy stress circ(sigma) and rate of deformation tensor d.
This gives circ(sigma) = c : d, with c=(1/J)*F*F*C*transpose(F)*transpose(F).
A possible spatial tangent c is defined.
---
Section 1.2.2 of the Abaqus Theory Manual says:
"For geometrically nonlinear analysis, a large number of different strain measures exist. Unlike “true” stress, there is no clearly preferred “true” strain. For the same physical deformation different strain measures will report different values in large-strain analysis. The optimal choice of strain measure depends on analysis type, material behavior, and (to some degree) personal preference."
This is followed by description of a total strain measure, nominal strain, logarithmic strain etc.
Right, I know that only the stress is responsible for the correct equilibrium, the tangent DDSDDE "only" for the convergence. The elastic description above is only an example, my UMAT implementation works for that, even when the Abaqus iterations are a miracle for me, because I implemented the same model in MATLAB and it is impossible to get that kind of rapid convergence (especially for large time steps) without sophisticated tricks.
However, I have implemented a simple plastic model for large deformations (F=Fe*Fp, isotropic hardening) in MATLAB and it works (with quadratic convergence). I did the same again in UMAT for Abaqus (I hope that the calculation is much faster, the model will be enlarged), but there, the iterations are not converging even for very small time steps.
I believe my tangent DDSDDE is wrong, but how can I implement this tangent, when I even don't know the correct definition.
The Abaqus Documentation of User Subroutines for UMAT Section 1.1.31 says that DDSDDE is defined as partial(Delta(sigma))/partial(Delta(epsilon)). The documentation says that Delta(sigma) are the stress increments (I reckon Cauchy stress) and Delta(epsilon) are the strain increments.
i) What exactly is this epsilon in a finite strain simulation? The logarithmic strains?
ii) How can I transform the given spatial elastic tangent c to a correct DDSDDE?
I cannot believe that I am the only one facing this problem (I have not found an answer in forums), continuum mechanics is described via several strain measures, Green-Lagrange strains, Euler-Almansi strains, Rate of deformation tensor etc.
What exactly does Abaqus demand?
Kind regards and request for help.
In a UMAT calculation I have to return the STRESS and the tangent DDSDDE, I am not sure about the correct definition of the tangent.
(1) The STRESS is the Cauchy stress.
(2) The Green-Lagrange strain E is calculated via the deformation gradient F=DFGRD1 as E = 1.0/2.0 * ( transpose(F)*F - 1)
(2) Let's suppose we have a strain energy function W, which should be a function of the Green-Lagrange strain E.
The second Piola-Kirchhoff stress is yielded as S=dW/dE.
A push-forward operation and division by J=det[F] yields the Cauchy stress sigma=(1/J)*F*S*transpose(F).
(3) The tangent C can be calculated as C=d2W/dE2, so as the second derivative of the strain energy function with respect to the Green-Lagrange strain.
This gives dot(S) = C : dot(E).
This can be transformed to the spatial configuration to the Truesdell rate of Cauchy stress circ(sigma) and rate of deformation tensor d.
This gives circ(sigma) = c : d, with c=(1/J)*F*F*C*transpose(F)*transpose(F).
A possible spatial tangent c is defined.
---
Section 1.2.2 of the Abaqus Theory Manual says:
"For geometrically nonlinear analysis, a large number of different strain measures exist. Unlike “true” stress, there is no clearly preferred “true” strain. For the same physical deformation different strain measures will report different values in large-strain analysis. The optimal choice of strain measure depends on analysis type, material behavior, and (to some degree) personal preference."
This is followed by description of a total strain measure, nominal strain, logarithmic strain etc.
Right, I know that only the stress is responsible for the correct equilibrium, the tangent DDSDDE "only" for the convergence. The elastic description above is only an example, my UMAT implementation works for that, even when the Abaqus iterations are a miracle for me, because I implemented the same model in MATLAB and it is impossible to get that kind of rapid convergence (especially for large time steps) without sophisticated tricks.
However, I have implemented a simple plastic model for large deformations (F=Fe*Fp, isotropic hardening) in MATLAB and it works (with quadratic convergence). I did the same again in UMAT for Abaqus (I hope that the calculation is much faster, the model will be enlarged), but there, the iterations are not converging even for very small time steps.
I believe my tangent DDSDDE is wrong, but how can I implement this tangent, when I even don't know the correct definition.
The Abaqus Documentation of User Subroutines for UMAT Section 1.1.31 says that DDSDDE is defined as partial(Delta(sigma))/partial(Delta(epsilon)). The documentation says that Delta(sigma) are the stress increments (I reckon Cauchy stress) and Delta(epsilon) are the strain increments.
i) What exactly is this epsilon in a finite strain simulation? The logarithmic strains?
ii) How can I transform the given spatial elastic tangent c to a correct DDSDDE?
I cannot believe that I am the only one facing this problem (I have not found an answer in forums), continuum mechanics is described via several strain measures, Green-Lagrange strains, Euler-Almansi strains, Rate of deformation tensor etc.
What exactly does Abaqus demand?
Kind regards and request for help.