From 5089df9fcbdf9e9aff58d5cd57ffd55e56022ca8 Mon Sep 17 00:00:00 2001
From: Oliver Sander <sander@igpm.rwth-aachen.de>
Date: Tue, 21 Apr 2009 09:50:03 +0000
Subject: [PATCH] BUGFIX: coordinates on subsimplices need to be normalized
 (only 2d, so far)

[[Imported from SVN: r4067]]
---
 src/localgeodesicfefunction.hh | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/localgeodesicfefunction.hh b/src/localgeodesicfefunction.hh
index e1e50aae..bb7bbd82 100644
--- a/src/localgeodesicfefunction.hh
+++ b/src/localgeodesicfefunction.hh
@@ -191,7 +191,11 @@ template <int dim, class ctype, class TargetSpace>
 TargetSpace LocalGeodesicFEFunction<dim,ctype,TargetSpace>::
 evaluate(const Dune::FieldVector<ctype, dim>& local)
 {
-    TargetSpace result = TargetSpace::interpolate(coefficients_[0], coefficients_[1], local[0]);
+    assert(dim==2);
+    ctype extraCoord = 1-local[0]-local[1];
+    ctype factor = extraCoord+local[0];
+
+    TargetSpace result = TargetSpace::interpolate(coefficients_[0], coefficients_[1], local[0]/factor);
 
     for (int i=1; i<dim; i++)
         result = TargetSpace::interpolate(result, coefficients_[i+1], local[i]);
-- 
GitLab