From 12cd2be9f45a853d607472f64c7eb87bed3363b7 Mon Sep 17 00:00:00 2001
From: Oliver Sander <sander@igpm.rwth-aachen.de>
Date: Thu, 13 Sep 2012 10:06:31 +0000
Subject: [PATCH] implement Lagrange nodes for d=1 and arbitrary order

[[Imported from SVN: r8867]]
---
 test/nestednesstest.cc | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/test/nestednesstest.cc b/test/nestednesstest.cc
index 4474c626..bf68107d 100644
--- a/test/nestednesstest.cc
+++ b/test/nestednesstest.cc
@@ -34,8 +34,21 @@ double diameter(const std::vector<TargetSpace>& v)
 template <int domainDim, int elementOrder>
 std::vector<FieldVector<double,domainDim> > lagrangeNodes(const GeometryType& type)
 {
+    std::vector<FieldVector<double,domainDim> > result;
+    
+    // Special case d=1, q=anything, because that one is easy
+    if (domainDim==1) {
+     
+        result.resize(elementOrder+1);
+        
+        for (size_t i=0; i<result.size(); i++)
+            result[i] = double(i)/double(elementOrder);
+        
+        return result;
+    }
+    
     PQkLocalFiniteElementCache<double,double,domainDim,elementOrder> feCache;
-    std::vector<FieldVector<double,domainDim> > result(feCache.get(type).localBasis().size());
+    result.resize(feCache.get(type).localBasis().size());
     
     // evaluate loF at the Lagrange points of the second-order function
     const Dune::GenericReferenceElement<double,domainDim>& refElement
-- 
GitLab