diff --git a/src/localgeodesicfefunction.hh b/src/localgeodesicfefunction.hh index e1e50aae9c5acd12bfc9c9f48414de8db10554b5..bb7bbd82891cdc96f18217e2a2757a0641d6e88e 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]);