From 9c79939745b9a310f9f0502d0e4a0cc36f4a51dd Mon Sep 17 00:00:00 2001
From: Henry <Henry>
Date: Fri, 16 May 2014 13:18:04 +0100
Subject: [PATCH] DiagTensor: add conversion from SymmTensor

---
 src/OpenFOAM/primitives/DiagTensor/DiagTensorI.H | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/src/OpenFOAM/primitives/DiagTensor/DiagTensorI.H b/src/OpenFOAM/primitives/DiagTensor/DiagTensorI.H
index 4fd082897ae..63497e7a246 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<Cmpt>& t)
 }
 
 
-//- Return the inverse of a symmetric tensor
+//- Return the inverse of a diagonal tensor
 template<class Cmpt>
 inline DiagTensor<Cmpt> inv(const DiagTensor<Cmpt>& dt)
 {
@@ -299,6 +300,14 @@ inline DiagTensor<Cmpt> inv(const DiagTensor<Cmpt>& dt)
 }
 
 
+//- Return the diagonal of a symmetric tensor as a diagonal tensor
+template<class Cmpt>
+inline DiagTensor<Cmpt> diag(const SymmTensor<Cmpt>& t)
+{
+    return DiagTensor<Cmpt>(t.xx(), t.yy(), t.zz());
+}
+
+
 //- Return the diagonal of a tensor as a diagonal tensor
 template<class Cmpt>
 inline DiagTensor<Cmpt> diag(const Tensor<Cmpt>& t)
-- 
GitLab