Hi all

The definition of a fourth-order identity tensor in the deal.II documentation 
is incorrect. 

For second-order tensors it is clearer. The unit_symmetric_tensor I (second 
order) acts on a vector b as:
b = I b 


SymmetricTensor< 2, dim > unit_symmetric_tensor (               )       [friend]
Return a unit symmetric tensor of rank 2.

Author:
Wolfgang Bangerth, 2005
Return a unit symmetric tensor of rank 2 for double tensor.

Author:
Wolfgang Bangerth, 2005
Definition at line 2288 of file symmetric_tensor.h.



For fourth-order tensors the definition is confusing. I think the wording has 
simply been copied from 
SymmetricTensor< 4, dim > deviator_tensor       (               )       [friend]
The fourth-order identity tensor II (symmetric) should be such that it acts on 
an arbitrary second-order tensor A to produce the symmetric part of A:
1/2(A + A^T) = II A

This is what the function does, so any objections if I reword the documentation?

Why is it not also called a unit_symmetric_tensor (as for the second-order 
case)? It's not actually the (general) fourth-order identity tensor. This is a 
unit tensor JJ such that for all A (not necessarily symmetric)
A = JJ A
It's counterpart KK is such that
A^T = KK A

so II = 1/2(JJ + KK) and JJ \neq KK


template<int rank, int dim, typename Number>
template<int dim2, typename Number2 >
SymmetricTensor< 4, dim > identity_tensor       (               )       [friend]
Return the tensor of rank 4 that, when multiplied by a symmetric rank 2 tensor 
t returns the deviator dev t. It is the operator representation of the linear 
deviator operator.

Note that this tensor, even though it is the identity, has a somewhat funny 
form, and in particular does not only consist of zeros and ones. For example, 
for dim=2, the identity tensor has all zero entries except for 
id[0][0][0][0]=id[1][1][1][1]=1 and 
id[0][1][0][1]=id[0][1][1][0]=id[1][0][0][1]=id[1][0][1][0]=1/2. To see why 
this factor of 1/2 is necessary, consider computing A=Id . B. For the element 
a_01 we have a_01=id_0100 b_00 + id_0111 b_11 + id_0101 b_01 + id_0110 b_10. On 
the other hand, we need to have a_01=b_01, and symmetry implies b_01=b_10, 
leading to a_01=(id_0101+id_0110) b_01, or, again by symmetry, 
id_0101=id_0110=1/2. Similar considerations hold for the three-dimensional case.

Author:
Wolfgang Bangerth, 2005
Definition at line 2416 of file symmetric_tensor.h.




Cheers
Andrew








_______________________________________________
dealii mailing list http://poisson.dealii.org/mailman/listinfo/dealii

Reply via email to