View Full Version : Basic VUMAT question
I've coded linear-elastic and neohookean VUMATs that start with the deformation gradient [F]. I've been using [F] because my linear elasticity model is based on the strain measure [E] = ln [V].
These models have been successfully tested in single-element simulations. However, at long integration times, interesting numerical stability problems start to occur. I wonder, could this be a consequence of starting with the [F] rather than with the right symmetric stretch tensor [U], as suggested in the ABAQUS User's guide?
Ordinarily, I'd think not, one should follow from the other, but I seem to be encountering a case where a small perturbation is growing in an unbounded way, leading to aphysical displacements in the result (after a deformation and recovery event).
Here are few comments/suggestions:
:arrow: It is typically recommended to use the tensor U instead of F when coding a VUMAT. The simple reason for this is that it is easier since that way the rotations will be correctly accounted for. If you use the tensor F then you need to make sure that you do the appropriate rotations.
:arrow: Do you see the numerical instabilities also for simple uniaxial tension?
:arrow: Do you see the numerical instabilities at the same time for both single precision and double precision runs?
:arrow: Is it possible that the instabilities are due to numerical round-off issues and not F vs. U?
:arrow: Have you verified that you implementation works for a case with finite rotations such as simple shear?
Best of luck,
Many thanks for these ideas. The model is indeed accurate and numerically stable for uniaxial and simple shear trial cases. I like your thoughts about double precision/roundoff error - I was worried about small (but nonzero) perturbations propagating through the solution. I think I'll give the dp version a try.
Okay, maybe the last bullet was most important.
I included in my "test cases" a larger simple shear numerical experiment, and the whole thing fell apart. The lesson here seems to be that I am indeed having a problem when finite rotations are present.
The trouble is, most of my stress formulations have been in the left-symmetric matrices (i.e., V and B), rather than in U, which ABAQUS provides directly. I thought I was doing a decent job of getting V from F by finding the eigenvalues through Jacobi iteration, but I must be missing something.
Rats - it turns out my problem was even more basic than that. Let this be a warning to those using VUMATs in ABAQUS where large rotations may occur- you will probably need to rotate your stress tensor, as ABAQUS requires that "the constitutive model is defined in a corotational coordinate system in which the basis system rotates with the material".
Powered by vBulletin® Version 4.2.0 Copyright © 2013 vBulletin Solutions, Inc. All rights reserved.