From 3910269045246835dcea98c2bfc3e2a0fb243bd0 Mon Sep 17 00:00:00 2001
From: Elias Pipping <elias.pipping@fu-berlin.de>
Date: Mon, 17 Oct 2011 14:49:35 +0000
Subject: [PATCH] Match internal representation of symmetrictensor.hh

cf. Dietrich Braess - Finite Elemente, ISBN 978-3-540-72449-0

The definition of the isotropic Hooke tensor in 3D (Voigt notation)
can be found on p287 of the fourth edition.

[[Imported from SVN: r4608]]
---
 dune/fufem/mechanics/isotropictensor.hh | 17 +++++++++++++----
 1 file changed, 13 insertions(+), 4 deletions(-)

diff --git a/dune/fufem/mechanics/isotropictensor.hh b/dune/fufem/mechanics/isotropictensor.hh
index ba251178..5feeefd3 100644
--- a/dune/fufem/mechanics/isotropictensor.hh
+++ b/dune/fufem/mechanics/isotropictensor.hh
@@ -17,6 +17,15 @@ template <>
 class IsotropicTensor<3> : public ElasticityTensor<3>
 {
 public:
+  /* Same representation as in symmetrictensor.hh:
+
+    [s11]   [ * * *       ]   [e11]
+    [s22]   [ * * *       ]   [e22]
+    [s33] = [ * * *       ] * [e33]
+    [s12]   [       *     ]   [e12]
+    [s13]   [         *   ]   [e13]
+    [s23]   [           * ]   [e23]
+  */
   IsotropicTensor(double E, double nu)
   {
     ElasticityTensor<3>::operator=(0.0);
@@ -33,9 +42,9 @@ public:
     (*this)[2][1] = nu;
     (*this)[2][2] = 1 - nu;
 
-    (*this)[3][3] = 0.5 - nu;
-    (*this)[4][4] = 0.5 - nu;
-    (*this)[5][5] = 0.5 - nu;
+    (*this)[3][3] = 1 - 2*nu;
+    (*this)[4][4] = 1 - 2*nu;
+    (*this)[5][5] = 1 - 2*nu;
 
     (*this) *= E/(1 + nu)/(1 - 2*nu);
   }
@@ -55,7 +64,7 @@ public:
     (*this)[1][0] = nu;
     (*this)[1][1] = 1 - nu;
 
-    (*this)[2][2] = 0.5 - nu;
+    (*this)[2][2] = 1 - 2*nu;
 
     (*this) *= (E/(1 + nu)/(1 - 2*nu));
   }
-- 
GitLab