From 42991aaba2c18ef8d0b2eaa688e1b470ee8de675 Mon Sep 17 00:00:00 2001
From: Oliver Sander <sander@igpm.rwth-aachen.de>
Date: Sun, 1 May 2011 08:58:31 +0000
Subject: [PATCH] Allow to compute the gradient of the harmonic energy
 functional using a finite-difference approximation only for the derivative of
 the gfe gradients wrt coefficients.

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

diff --git a/dune/gfe/harmonicenergystiffness.hh b/dune/gfe/harmonicenergystiffness.hh
index 863a4a9c..f24a7676 100644
--- a/dune/gfe/harmonicenergystiffness.hh
+++ b/dune/gfe/harmonicenergystiffness.hh
@@ -137,7 +137,12 @@ assembleEmbeddedGradient(const Entity& element,
         for (size_t i=0; i<localSolution.size(); i++) {
          
             Tensor3<double, TargetSpace::EmbeddedTangentVector::size,TargetSpace::EmbeddedTangentVector::size,gridDim> referenceDerivativeDerivative;
+#ifdef HARMONIC_ENERGY_FD_INNER_GRADIENT
+#warning Using finite differences to compute the inner gradients!
+            localGeodesicFEFunction.evaluateFDDerivativeOfGradientWRTCoefficient(quadPos, i, referenceDerivativeDerivative);
+#else
             localGeodesicFEFunction.evaluateDerivativeOfGradientWRTCoefficient(quadPos, i, referenceDerivativeDerivative);
+#endif
             
             // multiply the transformation from the reference element to the actual element
             Tensor3<double, TargetSpace::EmbeddedTangentVector::size,TargetSpace::EmbeddedTangentVector::size,gridDim> derivativeDerivative;
-- 
GitLab