diff --git a/src/OpenFOAM/primitives/DiagTensor/DiagTensorI.H b/src/OpenFOAM/primitives/DiagTensor/DiagTensorI.H index 4fd082897a..63497e7a24 100644 --- a/src/OpenFOAM/primitives/DiagTensor/DiagTensorI.H +++ b/src/OpenFOAM/primitives/DiagTensor/DiagTensorI.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -24,6 +24,7 @@ License \*---------------------------------------------------------------------------*/ #include "SphericalTensor.H" +#include "SymmTensor.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -291,7 +292,7 @@ inline Cmpt det(const DiagTensor& t) } -//- Return the inverse of a symmetric tensor +//- Return the inverse of a diagonal tensor template inline DiagTensor inv(const DiagTensor& dt) { @@ -299,6 +300,14 @@ inline DiagTensor inv(const DiagTensor& dt) } +//- Return the diagonal of a symmetric tensor as a diagonal tensor +template +inline DiagTensor diag(const SymmTensor& t) +{ + return DiagTensor(t.xx(), t.yy(), t.zz()); +} + + //- Return the diagonal of a tensor as a diagonal tensor template inline DiagTensor diag(const Tensor& t)