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
