The issue of the computation of the deformation gradient in Abaqus
The issue of the computation of the deformation gradient in Abaqus
(OP)
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
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





RE: The issue of the computation of the deformation gradient in Abaqus
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.
RE: The issue of the computation of the deformation gradient in Abaqus
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
RE: The issue of the computation of the deformation gradient in Abaqus
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