fourth-order referential deviatoric tensor Dev_P: why is 'S' used in the definition?

48 views
Skip to first unread message

Simon

unread,
Aug 7, 2022, 8:00:49 AM8/7/22
to deal.II User Group
Dear all,


the fourth-order referential deviatoric tensor as returned by
includes the fourth-order referential/spatial unit *symmetric* tensor

In the literature, for instance G. A. Holzapfel: "Nonlinear solid mechanics. A Continuum Approach for Engineering" (2007),
however, the general fourth-order unit tensor
I_{ijkl} = delta_{ik} delta_{jl} is used to compute Dev_P.

I implemented a hyperelastic material model with a volumetric / isochoric split of the strain energy function and it only converges when using 'S' - as dealii does it. Using the  general fourth-order unit tensor to define Dev_P,  my solver does not converge at all. 

Is it neccessary to use 'S' due to the way dealii stores and accesses the elements of symmetric tensors?


Best
Simon


Wolfgang Bangerth

unread,
Aug 8, 2022, 3:54:07 PM8/8/22
to dea...@googlegroups.com
On 8/7/22 06:00, Simon wrote:
>
> the fourth-order referential deviatoric tensor as returned by
> Physics::Elasticity::StandardTensors
> <https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.dealii.org%2Fcurrent%2Fdoxygen%2Fdeal.II%2FclassPhysics_1_1Elasticity_1_1StandardTensors.html&data=05%7C01%7CWolfgang.Bangerth%40colostate.edu%7Cc7d0b41aa97a4f5bbf6a08da786c79b6%7Cafb58802ff7a4bb1ab21367ff2ecfc8b%7C0%7C0%7C637954704552090273%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=u9Z1RfLeZdT2vdeD7%2BNYIXWA8h%2Bkvtdre4KIewAI0ws%3D&reserved=0><
> dim >::Dev_P
> includes the fourth-order referential/spatial unit *symmetric* tensor
> Physics::Elasticity::StandardTensors
> <https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.dealii.org%2Fcurrent%2Fdoxygen%2Fdeal.II%2FclassPhysics_1_1Elasticity_1_1StandardTensors.html&data=05%7C01%7CWolfgang.Bangerth%40colostate.edu%7Cc7d0b41aa97a4f5bbf6a08da786c79b6%7Cafb58802ff7a4bb1ab21367ff2ecfc8b%7C0%7C0%7C637954704552090273%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=u9Z1RfLeZdT2vdeD7%2BNYIXWA8h%2Bkvtdre4KIewAI0ws%3D&reserved=0><
> dim >::S = identity_tensor
> <https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.dealii.org%2Fcurrent%2Fdoxygen%2Fdeal.II%2Fsymmetric__tensor_8h.html%23ab3e890348aa219805e84f7d367e098c3&data=05%7C01%7CWolfgang.Bangerth%40colostate.edu%7Cc7d0b41aa97a4f5bbf6a08da786c79b6%7Cafb58802ff7a4bb1ab21367ff2ecfc8b%7C0%7C0%7C637954704552090273%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=3bQQR2Em7YyxuQuohp19IsBWntxKehAhRzin%2F0GFlBs%3D&reserved=0><dim>().
>
> In the literature, for instance G. A. Holzapfel: "Nonlinear solid mechanics. A
> Continuum Approach for Engineering" (2007),
> however, the general fourth-order unit tensor
> I_{ijkl} = delta_{ik} delta_{jl} is used to compute Dev_P.
>
> I implemented a hyperelastic material model with a volumetric / isochoric
> split of the strain energy function and it only converges when using 'S' - as
> dealii does it. Using the  general fourth-order unit tensor to define Dev_P,
> my solver does not converge at all.
>
> Is it neccessary to use 'S' due to the way dealii stores and accesses the
> elements of symmetric tensors?

The question is what you apply I or S to. If you apply them to symmetric
rank-2 tensors, then they are the same. If you apply them to non-symmetric
tensors, then they are not.

Best
W.


--
------------------------------------------------------------------------
Wolfgang Bangerth email: bang...@colostate.edu
www: http://www.math.colostate.edu/~bangerth/

Simon Wiesheier

unread,
Aug 8, 2022, 5:11:55 PM8/8/22
to dea...@googlegroups.com
grafik.png
grafik.png
The only place I use Dev_P is to compute the above double contractions ('P' in the above is what dealii returns as Dev_P)
As you can see, the fourth order tangent C_bar consists of outer products of second order symmetric tensors:
boldsymbol 'I' is the second order unit tensor, C_bar is a symmetric second order tensor, and blackboard 'I' is the general fourth order unit tensor,
the deltas are just scalars.

In my opinion, the double contractions 'P : outer_product(C_bar, C_bar)' and 'P : I' produce different results if the fourth order symmetric unit tensor 'S' is used to define 'P' .
The same holds also for doing the double contractions with P_T.
Correct?

Best
Simon

--
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see https://groups.google.com/d/forum/dealii?hl=en
---
You received this message because you are subscribed to a topic in the Google Groups "deal.II User Group" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/dealii/tHMjlrUqMYI/unsubscribe.
To unsubscribe from this group and all its topics, send an email to dealii+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/dealii/9c3d5b70-7fe0-9684-0f7e-c608baf72c50%40colostate.edu.

Wolfgang Bangerth

unread,
Aug 9, 2022, 6:54:07 PM8/9/22
to dea...@googlegroups.com
On 8/8/22 15:11, Simon Wiesheier wrote:
> grafik.png
> grafik.png
> The only place I use Dev_P is to compute the above double contractions ('P' in
> the above is what dealii returns as Dev_P)
> As you can see, the fourth order tangent C_bar consists of outer products of
> second order symmetric tensors:
> boldsymbol 'I' is the second order unit tensor, C_bar is a symmetric second
> order tensor, and blackboard 'I' is the general fourth order unit tensor,
> the deltas are just scalars.
>
> In my opinion, the double contractions 'P : outer_product(C_bar, C_bar)' and
> 'P : I' produce different results if the fourth order symmetric unit tensor
> 'S' is used to define 'P' .
> The same holds also for doing the double contractions with P_T.
> Correct?

Not being a nonlinear mechanics person, I'll have to defer to someone else
with more knowledge about these matters :-(

Jean-Paul Pelteret

unread,
Aug 11, 2022, 5:56:55 PM8/11/22
to deal.II User Group
Hi Simon,

If you compare Holzapfel's definition with that of Wriggers, for instance, one notices the difference in how they define this 4th-order identity tensor. This particular term comes from the derivative dC/dC (i.e. differentiating a [symmetric] tensor w.r.t itself), and if you do not account for the symmetries of tensor then you end up with Holzapfel's result, namely that
dC/dC -> dC_{ij}/dC_{kl} = \delta{ik}\delta{jl} = I_{ijkl}.
In my version of the book, the text below eq. 6.84 where the reference deviator tensor is defined points one to eq. 1.160. There you see that this tensor does not hold the symmetries that a SymmetricTensor does (it doesn't have the property of minor symmetry) and it also doesn't map all rank-2 tensors onto a symmetric tensor. It also probably makes a difference in how one defines the transpose of this deviator tensor (which would rely on
dC^T/dC -> dC_{ji}/dC_{kl} = \delta{jk}\delta{il} = I^{T}_{ijkl},
maybe?). If one considers Wrigger's approach (eq 3.125 and the text below it; specific reference listed in the step-44 introduction) and explicitly accounts for the symmetry of the tensor then
dC/dC -> d(0.5*[C_{ij} + C_{ji}]) /dC_{kl} = 0.5*[\delta{ik}\delta{jl} + \delta{jk}\delta{il}] = S_{ijkl}.
Such a tensor definitely maps all rank-2 tensors to symmetric tensors and helps fulfill the relation that for SymmetricTensors A=A^{T}.

The differences in the definitions are subtle and your question reminds me of how many time I've pondered pretty much the same thing. I've also previously observed the similar differences in results of contractions that you mentioned in your second email, and have been equally surprised. In the end, the consequences on the outcome of each operation involving your definition of the deviator tensor could simply depend on which tensor class you are storing the operators and results in. Certainly the rank-4 tensor I is not a SymmetricTensor and therefore P = P(I) would not be one either. But since the rank-4 tensor S is by construction and definition a SymmetricTensor, P = P(S) would also be one.

Best,
Jean-Paul
Reply all
Reply to author
Forward
0 new messages