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