Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations IDS on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

The issue of the computation of the deformation gradient in Abaqus

Status
Not open for further replies.

eispiata

Materials
Feb 18, 2008
48
Hi everybody,

I am trying to model an anisotropic hyperelastic material in plane stress under uniaxial tension

where W=Wiso +Wani= C10*(I1-3)+C4*(I4-1)2 .

When the load is parallel or perpendicular to the fiber direction, the deformation gradient returned by Abaqus matches the theoretical expression obtained after derivation of W.

However, when the fiber direction is neither parallel nor perpendicular to the load, the deformation gradient returned by Abaqus differs

from the theoretically expected result. I have spent some time reading up on how Abaqus computes the deformation gradient and it turns out not to be computed directly from the displacement. Indeed i noticed that when i look at the displacement field (Abaqus), the deformation gradient (Abaqus) does not even match. As expected, the deformed configuration looks like shear so we should have (F21=0 and F12 not equal to 0) and yet we have that both F12 and F21 are not equal to 0....What we see is not what we get in the outputs...

Unfortunaltely i need accurate values of the deformation gradient (Abaqus) as i am imposing the principal strain parallel to the load via the traction at the boundary.

For those who have worked on this issue (the deformation gradient in Abaqus), i would appreciate some articles, papers, remarks or comments about it. My topic might be redundant with previous topics as it brings up an issue that has been probably discussed many times in the past but still in the latest version of Abaqus the problem does not seem to be solved yet.

Moreover if someone knows how to retrieve the true deformation gradient in Abaqus, please just let me know how you processed.

Thanks,



Malik
 
Replies continue below

Recommended for you

There is only one definition of the deformation gradient:

F = dx/dX

It is often calculated from I + du/dX. What does Abaqus seem to be doing that is non-standard?

Remember, when you compare actual numbers, you need to make sure you are using the same basis that Abaqus is using when it calculates it's numbers.
 
First of all let me tell you how i compute the deformation gradient. I wrote a UVARM subroutine in which i call the deformation gradient. Throughout the rest of this comment this is the deformation gradient i am refering to. You can see below what i a talking about:


CALL GETVRM('DG',ARRAY,JARRAY,FLGRAY,JRCD,JMAC,JMATYP,
1 MATLAYO,LACCFLA)

c UVAR takes on the value of DG(i,j)
UVAR(1) = ARRAY(1)
UVAR(2) = ARRAY(2)
UVAR(3) = ARRAY(3)
UVAR(4) = ARRAY(4)
UVAR(5) = ARRAY(5)
UVAR(6) = ARRAY(6)
UVAR(7) = ARRAY(7)
UVAR(8) = ARRAY(8)
UVAR(9) = ARRAY(9)

DG(1,1) = UVAR(1)
DG(2,2) = UVAR(2)
DG(3,3) = UVAR(3)
DG(1,2) = UVAR(4)
DG(1,3) = UVAR(5)
DG(2,3) = UVAR(6)
DG(2,1) = UVAR(7)
DG(3,1) = UVAR(8)
DG(3,2) = UVAR(9)
.

.
......

What i am saying is that the deformation gradient computed by Abaqus returns unexpected values. I know that there is only one definition for the deformation gradient: F=dx/dX. However it does not seem to be computed this way in Abaqus.

Indeed, what they call the "deformation gradient" seems to be computed as the square root of the Right Cauchy-Green deformation tensor: U=sqrt(C). So what we measure is U instead of F??? Because when ou look at the displacement field on one hand and the deformation gradient on the other hand, they don't match (at least in the case of an anisotropic hyperelastic material under uniaxial tension).

How to accurately compute the true deformation gradient in Abaqus?

I am pretty sure that one of you already encoutered this problem before!

Thanks for your comments,



Malik
 
The classic FEA way of calculating the deformation gradient is:

1) Calculate the local shape functions and their gradients for your element. (shxi, dshxi)

2) Map the gradient to the global coordinates. (dsh)

3) The deformation gradient is then:
F = I + matmul(transpose(dsh),disp)
where I is the identity matrix, and disp are the nodal displacements.

Abaqus absolutely does this correctly.

Now, about U... F = RU. So if R=I, then F=U. In uniaxial tension, if one of your basis directions line up with the direction of deformation, then you have pure stretch, so this would make sense. Also, remember that C is calculated from F:
C = F^T F = U^T R^T R U = U^2
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor