From b9c188b25f53288054a5d09a9e62b8cc7ea3cfd3 Mon Sep 17 00:00:00 2001
From: Oliver Sander <sander@igpm.rwth-aachen.de>
Date: Tue, 3 Sep 2013 16:28:59 +0000
Subject: [PATCH] export DerivativeOfGradientWRTCoefficientType

[[Imported from SVN: r9378]]
---
 dune/gfe/localgeodesicfefunction.hh | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/dune/gfe/localgeodesicfefunction.hh b/dune/gfe/localgeodesicfefunction.hh
index 8fe14bb6..78492417 100644
--- a/dune/gfe/localgeodesicfefunction.hh
+++ b/dune/gfe/localgeodesicfefunction.hh
@@ -42,6 +42,9 @@ public:
     /** \brief The type used for derivatives */
     typedef Dune::FieldMatrix<ctype, EmbeddedTangentVector::dimension, dim> DerivativeType;
 
+    /** \brief The type used for derivatives of the gradient with respect to coefficients */
+    typedef Tensor3<ctype,embeddedDim,embeddedDim,dim> DerivativeOfGradientWRTCoefficientType;
+
     /** \brief Constructor
      * \param localFiniteElement A Lagrangian finite element that provides the interpolation points
      * \param coefficients Values of the function at the Lagrange points
@@ -95,12 +98,12 @@ public:
     /** \brief Evaluate the derivative of the gradient of the function with respect to a coefficient */
     void evaluateDerivativeOfGradientWRTCoefficient(const Dune::FieldVector<ctype, dim>& local,
                                                     int coefficient,
-                                                    Tensor3<double,embeddedDim,embeddedDim,dim>& result) const;
+                                                    DerivativeOfGradientWRTCoefficientType& result) const;
 
     /** \brief Evaluate the derivative of the gradient of the function with respect to a coefficient */
     void evaluateFDDerivativeOfGradientWRTCoefficient(const Dune::FieldVector<ctype, dim>& local,
                                                     int coefficient,
-                                                    Tensor3<double,embeddedDim,embeddedDim,dim>& result) const;
+                                                    DerivativeOfGradientWRTCoefficientType& result) const;
 
     /** \brief Get the i'th base coefficient. */
     TargetSpace coefficient(int i) const
@@ -435,7 +438,7 @@ template <int dim, class ctype, class LocalFiniteElement, class TargetSpace>
 void LocalGeodesicFEFunction<dim,ctype,LocalFiniteElement,TargetSpace>::
 evaluateDerivativeOfGradientWRTCoefficient(const Dune::FieldVector<ctype, dim>& local,
                                            int coefficient,
-                                           Tensor3<double,embeddedDim,embeddedDim,dim>& result) const
+                                           DerivativeOfGradientWRTCoefficientType& result) const
 {
     // the function value at the point where we are evaluating the derivative
     TargetSpace q = evaluate(local);
@@ -529,7 +532,7 @@ template <int dim, class ctype, class LocalFiniteElement, class TargetSpace>
 void LocalGeodesicFEFunction<dim,ctype,LocalFiniteElement,TargetSpace>::
 evaluateFDDerivativeOfGradientWRTCoefficient(const Dune::FieldVector<ctype, dim>& local,
                                            int coefficient,
-                                           Tensor3<double,embeddedDim,embeddedDim,dim>& result) const
+                                           DerivativeOfGradientWRTCoefficientType& result) const
 {
     double eps = 1e-6;
     static const int embeddedDim = TargetSpace::EmbeddedTangentVector::dimension;
@@ -599,6 +602,9 @@ class LocalGeodesicFEFunction<dim,ctype,LocalFiniteElement,RigidBodyMotion<doubl
 
 public:
 
+    /** \brief The type used for derivatives of the gradient with respect to coefficients */
+    typedef Tensor3<ctype,embeddedDim,embeddedDim,dim> DerivativeOfGradientWRTCoefficientType;
+
     /** \brief Constructor */
     LocalGeodesicFEFunction(const LocalFiniteElement& localFiniteElement,
                             const std::vector<TargetSpace>& coefficients)
@@ -762,7 +768,7 @@ public:
     /** \brief Evaluate the derivative of the gradient of the function with respect to a coefficient */
     void evaluateDerivativeOfGradientWRTCoefficient(const Dune::FieldVector<ctype, dim>& local,
                                                     int coefficient,
-                                                    Tensor3<double,embeddedDim,embeddedDim,dim>& derivative) const
+                                                    DerivativeOfGradientWRTCoefficientType& derivative) const
     {
         derivative = 0;
 
@@ -784,7 +790,7 @@ public:
     /** \brief Evaluate the derivative of the gradient of the function with respect to a coefficient */
     void evaluateFDDerivativeOfGradientWRTCoefficient(const Dune::FieldVector<ctype, dim>& local,
                                                     int coefficient,
-                                                    Tensor3<double,embeddedDim,embeddedDim,dim>& derivative) const
+                                                    DerivativeOfGradientWRTCoefficientType& derivative) const
     {
         derivative = 0;
 
-- 
GitLab