From 6fcdb0cc52d276875f2fe44f6c23e370c5acd70c Mon Sep 17 00:00:00 2001
From: Oliver Sander <sander@igpm.rwth-aachen.de>
Date: Fri, 12 Jul 2013 14:05:27 +0000
Subject: [PATCH] Use the type provided by Geometry for
 jacobianInverseTransposed

Because nowadays, it may not be a FieldMatrix anymore

[[Imported from SVN: r9305]]
---
 dune/gfe/harmonicenergystiffness.hh | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/dune/gfe/harmonicenergystiffness.hh b/dune/gfe/harmonicenergystiffness.hh
index 79d0da07..44e3a4cc 100644
--- a/dune/gfe/harmonicenergystiffness.hh
+++ b/dune/gfe/harmonicenergystiffness.hh
@@ -57,6 +57,7 @@ energy(const Entity& element,
        const std::vector<TargetSpace>& localSolution) const
 {
     assert(element.type() == localFiniteElement.type());
+    typedef typename GridView::template Codim<0>::Entity::Geometry Geometry;
 
     RT energy = 0;
     LocalGeodesicFEFunction<gridDim, double, LocalFiniteElement, TargetSpace> localGeodesicFEFunction(localFiniteElement,
@@ -77,7 +78,7 @@ energy(const Entity& element,
 
         const double integrationElement = element.geometry().integrationElement(quadPos);
 
-        const Dune::FieldMatrix<double,gridDim,gridDim>& jacobianInverseTransposed = element.geometry().jacobianInverseTransposed(quadPos);
+        const typename Geometry::JacobianInverseTransposed& jacobianInverseTransposed = element.geometry().jacobianInverseTransposed(quadPos);
 
         double weight = quad[pt].weight() * integrationElement;
 
@@ -108,6 +109,8 @@ assembleEmbeddedGradient(const Entity& element,
                          const std::vector<TargetSpace>& localSolution,
                          std::vector<typename TargetSpace::EmbeddedTangentVector>& localGradient) const
 {
+    typedef typename GridView::template Codim<0>::Entity::Geometry Geometry;
+
     // initialize gradient
     localGradient.resize(localSolution.size());
     std::fill(localGradient.begin(), localGradient.end(), typename TargetSpace::EmbeddedTangentVector(0));
@@ -131,7 +134,7 @@ assembleEmbeddedGradient(const Entity& element,
 
         const double integrationElement = element.geometry().integrationElement(quadPos);
 
-        const Dune::FieldMatrix<double,gridDim,gridDim>& jacobianInverseTransposed = element.geometry().jacobianInverseTransposed(quadPos);
+        const typename Geometry::JacobianInverseTransposed& jacobianInverseTransposed = element.geometry().jacobianInverseTransposed(quadPos);
 
         double weight = quad[pt].weight() * integrationElement;
 
-- 
GitLab