On 7/24/24 10:34, Vinayak Vijay wrote:
Since all the quantities in the rhs are SymmetricTensors, the
operator*() recognises the multiplication as a double contraction.
However, we want it to be a single contraction. So I must first convert
'b' to the type Tensor and then apply the formula. This will lead to Jc
being of the type Tensor and not SymmetricTensor. Now there's a function
symmetrize() to symmetrize the type Tensor<2,dim>, but not for
higher-order tensor types. One could manually do this, but is there a
better way? If not, would it be a good idea to extend the symmetrize()
function to Tensor<4,dim> since this type is often used to represent
many quantities, such as the elasticity tensors?
Vinayak,
I would accept a patch for such a function, though perhaps under a
different name. The issue with the term 'symmetrize()' is that there are
multiple ways in which one could interpret it for tensors of rank 4. Do
you want the result to satisfy
A_{ijkl} = A_{ijlk} = A_{jikl} = A_{jilk}
or do you want it to be
A_{ijkl} = A_{klij}
or something else? The same discussion of course applies to the name
"symmetric tensor of rank 4", which specifically uses the first of these
definitions above -- i.e., it maps symmetric tensors of rank 2 to
symmetric tensors of rank 2.
Best
W.
--
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 the Google Groups "deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/dealii/8b18931d-d3a4-4f54-9a7d-1a3c442c35f6%40colostate.edu.