From f7cd0f9f3df685d85c7e5381af8fb79a86635e17 Mon Sep 17 00:00:00 2001
From: Lisa Julia Nebel <lisa_julia.nebel@tu-dresden.de>
Date: Wed, 2 Dec 2020 10:29:35 +0100
Subject: [PATCH] Correct mistake in mooneyrivlindensity

---
 dune/elasticity/materials/mooneyrivlindensity.hh | 2 +-
 test/mooneyrivlintest.cc                         | 8 ++++----
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/dune/elasticity/materials/mooneyrivlindensity.hh b/dune/elasticity/materials/mooneyrivlindensity.hh
index cbad678..7317242 100644
--- a/dune/elasticity/materials/mooneyrivlindensity.hh
+++ b/dune/elasticity/materials/mooneyrivlindensity.hh
@@ -130,7 +130,7 @@ public:
       {
         //mooneyrivlin_energy is "square"
         field_type detFMinus1 = detF - 1;
-        return strainEnergy + mooneyrivlin_k* detFMinus1 * detFMinus1;
+        return strainEnergy + 0.5 * mooneyrivlin_k* detFMinus1 * detFMinus1;
       }
     }
   }
diff --git a/test/mooneyrivlintest.cc b/test/mooneyrivlintest.cc
index b69f5eb..73fcfdd 100644
--- a/test/mooneyrivlintest.cc
+++ b/test/mooneyrivlintest.cc
@@ -149,10 +149,10 @@ int main (int argc, char *argv[])
   parameters["mooneyrivlin_k"] = "75e+6";
 
   parameters["mooneyrivlin_energy"] = "square";
-  double expectedEnergy = 177758377;
-  double expectedGradientTwoNorm = 2.13791422e+09;
-  double expectedGradientInfinityNorm = 599188506;
-  double expectedMatrixFrobeniusNorm = 1.62529884e+11;
+  double expectedEnergy = 167636683;
+  double expectedGradientTwoNorm = 2.10685704e+09;
+  double expectedGradientInfinityNorm = 589695526;
+  double expectedMatrixFrobeniusNorm = 1.61941167e+11;
   int testSquare = assembleAndCompare(basis, parameters, x, expectedEnergy, expectedGradientTwoNorm, expectedGradientInfinityNorm, expectedMatrixFrobeniusNorm);
 
   parameters["mooneyrivlin_energy"] = "log";
-- 
GitLab