Search
Close this search box.
Notifications
Clear all

Question about DDSDDE and STRESS variables in UMAT

13 Posts
5 Users
0 Reactions
1,894 Views
Posts: 16
Topic starter
(@karenha)
Active Member
Joined: 17 years ago

Hello,

I am a newbie of UMAT and just begin to learn how to use it.

Looking at the UMAT manual, I found DDSDDE should be updated as the Jacobian matrix, and Stress need to be updated as the stess at the end of the increment.

I am little confused. Since we already have Jacobian matrix, we can calculate stress increment from strain increment DSTRAIN. So, why we still need to define stress using STRESS variable?

Sorry for so simple question 😳

Derek

Topic Tags
12 Replies
Posts: 3998
(@jorgen)
Member
Joined: 5 years ago

The UMAT subroutine has two main purposes: (1) update the stress, (2) return the Jacobian matrix. The stress update has to be very exact, but the Jacobian only has to be accurate enough to give good convergence.

In practice, for many advanced models, it is quite challenging to create an algorithmic consistent Jacobian, and hence it is a good thing that the stress update can be done independent of the Jacobian.

- Jorgen

Topic Tags
12 Replies
Posts: 16
Topic starter
(@karenha)
Active Member
Joined: 17 years ago

I see, this is what exactly I need.

Thank s a lot Jorgen for making this clear:

STRESS --> return exactly value

DDSDDE --> mainly for iteration and convergence purpose.

--------------------------------------------------

Now, I am using ABAQUS C3D8H continuum element to model muscle collagen network, and embed truss element T3D2 in these continuum elements to simulate muscle fiber.

The constitutive law I am temporarily using for the fiber is that it has no resistence to collagen network deformation, but it can generate active contraction force.

So in the fiber the passive stress will be zero, but active contraction stress should be non-zero.

If I use UMAT for the fiber, I shall set

STRESS = active contraction stress (a function of current stretch ratio of fiber)

DDSDDE = 0.

Is this ok? Will convergence problem occur due to zero DDSDDE?

Or, since STRESS is exactly given, I just set arbitrary non-zero DDSDDE to ensure convergence?

Reply
Posts: 3998
(@jorgen)
Member
Joined: 5 years ago

I am not sure I am following your description, but if you have a finite stress then DDSDDE cannot be 0.

- Jorgen

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

[quote=jingdejun]If I use UMAT for the fiber, I shall set

STRESS = active contraction stress (a function of current stretch ratio of fiber)

DDSDDE = 0.

Is this ok? Will convergence problem occur due to zero DDSDDE?

Or, since STRESS is exactly given, I just set arbitrary non-zero DDSDDE to ensure convergence?

The stress calculation has NOTHING to do with the tangent stiffness (Jacobian). The only thing the Jacobian is needed for (in an implicit analysis) is to ensure that the global equation solver produces a good guess for the next global iteration. If Newton-Raphson iterations are used and the Jacobian is consistent, this means that the solution will converge quadratically (as long as we are not too too far from the solution). In some cases, the effort in calculating a consistent Jacobian (and by consistent I mean consistent with the particular time integration procedure for the stress) is numerically involved. Therefore, people cheat and use a Jacobian that is much faster to calculate, but then at the expense of convergence rate in the global iterations. In general, I personally think this is a bad idea, because the robustness is compromised --you are fine in many cases, but all of a sudden, you are not. The best thing is to come up with a good Jacobian.

A side note: I think the ABAQUS manuals explain this really poorly, if at all. In large deformation analysis, what is DDSDDE? Whats the stress and whats the strain? I am not sure. Anyone?

Reply
Posts: 3998
(@jorgen)
Member
Joined: 5 years ago

The ABAQUS User Subroutine Reference Manual specifies that the consistent Jacobian needs to be given by:

DDSDDE = [TeX:cbc4030130]\frac{1}{J}\frac{\partial\Delta(J\sigma)}{\partial\Delta\epsilon}[/TeX:cbc4030130]

or in words: DDSDDE is the partial derivative of the increment in Kirchhoff stress with respect to the increment in logarithmic strain.

I believe that LS-DYNA and MSC.Marc use the same definition. Other FE software packages might use other stress and strain definitions.

- Jorgen

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

[quote=Jorgen_Bergstrom]The ABAQUS User Subroutine Reference Manual specifies that the consistent Jacobian needs to be given by:

DDSDDE = [TeX:9c241c178b]\frac{1}{J}\frac{\partial\Delta(J\sigma)}{\partial\Delta\epsilon}[/TeX:9c241c178b]

or in words: DDSDDE is the partial derivative of the increment in Kirchhoff stress with respect to the increment in logarithmic strain.

I believe that LS-DYNA and MSC.Marc use the same definition. Other FE software packages might use other stress and strain definitions.

- Jorgen

Are you sure about the strain increment? Because if you look at DSTRAN, it does not contain the incremental log strains, but rather the linear strain increments...

Reply
Page 1 / 2
Share: