Hi Anup,

No, the contraction rule is not the same. If you click on the link that I 
provided then you'll see that when the LHS type and RHS type are both 
symmetric tensors then it performs a double contraction. Although I thought 
that there was a generic contraction operation implemented for 
SymmetricTensors, this actually appears not to be the case (from what I can 
see in the docs). To perform a single contraction with SymmetricTensors you 
could then first cast them to normal tensors and perform the contraction as 
you wish.

J-P

On Friday, June 10, 2016 at 9:51:23 PM UTC+2, Anup Basak wrote:
>
> Hello Jean-Paul,
>
> Thank you very much for the reply. I got your point. Now I have a small 
> query. In 
> the first link provided by you for single contraction I see that the 
> contraction rule
> is given for 'Tensors'. I think the same contraction rules applies for two 
> 'SymmetricTensors'
> as well, am I right?
>
> Thank you very much,
>
> Regards,
> Anup.
>
> On Fri, Jun 10, 2016 at 1:36 PM, Jean-Paul Pelteret <> wrote:
>
>> For the first question, if the tensors are of type Tensor<rank,dim> then 
>> the * operator does a contraction over a single index 
>> <https://www.dealii.org/8.4.0/doxygen/deal.II/classTensor.html#acff14b5a87224a20eb287ed06017c80f>.
>>  
>> If the tensors are of type SymmetricTensor<rank,dim>, then the * operator 
>> will perform a contraction over two indices 
>> <https://www.dealii.org/8.4.0/doxygen/deal.II/classSymmetricTensor.html#a3586fe5da69c834e642026d1dc310c65>.
>>  
>> If you need finer control over which indices are summed over, then both 
>> classes offer such options though the contract and double_contract 
>> functions.
>>
>>
>> On Friday, June 10, 2016 at 6:18:20 PM UTC+2, Anup Basak wrote:
>>>
>>> Hello all,
>>>
>>> I have two quires regarding tensor product and polar decomposition.
>>>
>>> 1. Suppose I want to multiply two second order tensors with a fourth 
>>> order tensor to get a forth order tensor as follows:
>>>
>>> A_{ijkl} = B_{im} C_{mjkn} D_{nl}.
>>>
>>> It is clear that we have a single index contraction with B and C, and  
>>> with C and D. If I use the command  in the code
>>>
>>> A = B* C* D, am I correct (of course I have already defined the tensors 
>>> in the code)?  I mean the multiplication with '*'
>>> does contraction over one index, right?
>>>
>>>
>>> 2. I have another query. How to perform the polar decomposition in 
>>> dealii, like 
>>> F_{ij} = R_{ik} U_{kj} = V_{ik} R_{kj},
>>>
>>> where R is an orthogonal tensor and U and V are symmetric tensors.
>>>
>>> I shall be thankful if someone can help me in this regard.
>>>
>>> Thanks and regards,
>>> Anup.
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> -- 
>> 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 dealii+unsubscr...@googlegroups.com.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
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 dealii+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to