From c5d099e04665e512df22d12378d5d5de85159fde Mon Sep 17 00:00:00 2001
From: Elias Pipping <elias.pipping@fu-berlin.de>
Date: Mon, 30 Nov 2015 22:04:04 +0100
Subject: [PATCH] Tests: Use dune-functions bases

---
 dune/fufem/test/adolctest.cc                        |  5 +++--
 dune/fufem/test/basisgridfunctiontest.cc            |  6 ++++--
 dune/fufem/test/basisinterpolatortest.cc            |  7 +++++--
 dune/fufem/test/coarsegridfunctionwrappertest.cc    |  7 ++++---
 dune/fufem/test/generalizedlaplaceassemblertest.cc  |  7 ++++---
 dune/fufem/test/gridfunctionadaptortest.cc          |  6 ++++--
 dune/fufem/test/h1functionalassemblertest.cc        |  8 ++++----
 dune/fufem/test/integraloperatorassemblertest.cc    |  7 ++++---
 dune/fufem/test/laplaceassemblertest.cc             |  7 +++----
 dune/fufem/test/secondorderassemblertest.cc         |  5 +++--
 dune/fufem/test/subgridxyfunctionalassemblertest.cc | 13 +++++++------
 dune/fufem/test/sumfunctiontest.cc                  |  5 +++--
 12 files changed, 48 insertions(+), 35 deletions(-)

diff --git a/dune/fufem/test/adolctest.cc b/dune/fufem/test/adolctest.cc
index 7d6caa46..0738a22a 100644
--- a/dune/fufem/test/adolctest.cc
+++ b/dune/fufem/test/adolctest.cc
@@ -17,7 +17,6 @@
 #include <dune/fufem/assemblers/localassemblers/adolclocalenergy.hh>
 #include <dune/fufem/assemblers/localassemblers/adolclinearizationassembler.hh>
 #include <dune/fufem/assemblers/localassemblers/adolchessianassembler.hh>
-#include <dune/fufem/functionspacebases/p1nodalbasis.hh>
 #include <dune/fufem/functions/basisgridfunction.hh>
 #include <dune/fufem/assemblers/functionalassembler.hh>
 #include <dune/fufem/assemblers/operatorassembler.hh>
@@ -27,6 +26,8 @@
 #include <dune/fufem/symmetrictensor.hh>
 #include <dune/fufem/makesphere.hh>
 
+#include <dune/fufem/functionspacebases/dunefunctionsbasis.hh>
+#include <dune/functions/functionspacebases/pq1nodalbasis.hh>
 
 //! Local energy for a geometric exact St. Venant--Kirchhoff material
 template <class GridType, class LocalFiniteElement>
@@ -171,7 +172,7 @@ int main (int argc, char *argv[])
     typedef GridType::LeafGridView GridView;
     GridView gridView = grid->leafGridView();
 
-    typedef P1NodalBasis<GridView> FEBasis;
+    typedef DuneFunctionsBasis<Dune::Functions::PQ1NodalBasis<GridView>> FEBasis;
     FEBasis feBasis(gridView);
 
     // //////////////////////////
diff --git a/dune/fufem/test/basisgridfunctiontest.cc b/dune/fufem/test/basisgridfunctiontest.cc
index 8d8f3859..57f5dd9e 100644
--- a/dune/fufem/test/basisgridfunctiontest.cc
+++ b/dune/fufem/test/basisgridfunctiontest.cc
@@ -9,12 +9,14 @@
 #include <dune/common/fmatrix.hh>
 #include <dune/istl/bvector.hh>
 
-#include <dune/fufem/functionspacebases/p1nodalbasis.hh>
 #include <dune/fufem/functionspacebases/conformingbasis.hh>
 #include <dune/fufem/functions/basisgridfunction.hh>
 #include <dune/fufem/functions/analyticgridfunction.hh>
 #include <dune/fufem/functiontools/basisinterpolator.hh>
 
+#include <dune/fufem/functionspacebases/dunefunctionsbasis.hh>
+#include <dune/functions/functionspacebases/pq1nodalbasis.hh>
+
 #include "common.hh"
 
 
@@ -61,7 +63,7 @@ struct BasisGridFunctionTestSuite
 
         // Test with a P1 basis
         {
-            typedef P1NodalBasis<GridView> P1Basis;
+            typedef DuneFunctionsBasis<Dune::Functions::PQ1NodalBasis<GridView>> P1Basis;
             typedef ConformingBasis<P1Basis> ConformingP1Basis;
 
             P1Basis p1Basis(gridView);
diff --git a/dune/fufem/test/basisinterpolatortest.cc b/dune/fufem/test/basisinterpolatortest.cc
index 67ce20eb..521f6480 100644
--- a/dune/fufem/test/basisinterpolatortest.cc
+++ b/dune/fufem/test/basisinterpolatortest.cc
@@ -4,7 +4,10 @@
 
 #include <dune/fufem/functions/basisgridfunction.hh>
 #include <dune/fufem/functiontools/basisinterpolator.hh>
-#include <dune/fufem/functionspacebases/p1nodalbasis.hh>
+
+#include <dune/fufem/functionspacebases/dunefunctionsbasis.hh>
+#include <dune/functions/functionspacebases/pq1nodalbasis.hh>
+
 #include "common.hh"
 
 
@@ -57,7 +60,7 @@ struct Suite
         RT y0;
         f.evaluate(x0, y0);
 
-        P1NodalBasis<typename GridType::LeafGridView> basis(grid.leafGridView());
+        DuneFunctionsBasis<Dune::Functions::PQ1NodalBasis<typename GridType::LeafGridView>> basis(grid.leafGridView());
         Functions::interpolate(basis, v, f);
 
         bool passed = (v.size() == basis.size());
diff --git a/dune/fufem/test/coarsegridfunctionwrappertest.cc b/dune/fufem/test/coarsegridfunctionwrappertest.cc
index 001424c3..b7f76fd2 100644
--- a/dune/fufem/test/coarsegridfunctionwrappertest.cc
+++ b/dune/fufem/test/coarsegridfunctionwrappertest.cc
@@ -6,7 +6,8 @@
 #include <dune/fufem/functions/coarsegridfunctionwrapper.hh>
 #include <dune/fufem/functiontools/basisinterpolator.hh>
 
-#include <dune/fufem/functionspacebases/p1nodalbasis.hh>
+#include <dune/fufem/functionspacebases/dunefunctionsbasis.hh>
+#include <dune/functions/functionspacebases/pq1nodalbasis.hh>
 
 #include "common.hh"
 
@@ -41,11 +42,11 @@ struct CoarseGridFunctionWrapperTestSuite
         typedef typename Dune::BlockVector<RangeType> Vector;
 
         typedef typename GridType::LevelGridView CoarseGridView;
-        typedef P1NodalBasis<CoarseGridView> CoarseBasis;
+        typedef DuneFunctionsBasis<Dune::Functions::PQ1NodalBasis<CoarseGridView>> CoarseBasis;
         typedef BasisGridFunction<CoarseBasis, Vector> CoarseGridFunction;
 
         typedef typename GridType::LeafGridView FineGridView;
-        typedef P1NodalBasis<FineGridView> FineBasis;
+        typedef DuneFunctionsBasis<Dune::Functions::PQ1NodalBasis<FineGridView>> FineBasis;
         typedef BasisGridFunction<FineBasis, Vector> FineGridFunction;
 
         typedef CoarseGridFunctionWrapper<CoarseGridFunction> WrappedCoarseGridFunction;
diff --git a/dune/fufem/test/generalizedlaplaceassemblertest.cc b/dune/fufem/test/generalizedlaplaceassemblertest.cc
index 4671d0b7..fc688c70 100644
--- a/dune/fufem/test/generalizedlaplaceassemblertest.cc
+++ b/dune/fufem/test/generalizedlaplaceassemblertest.cc
@@ -10,8 +10,6 @@
 #include <dune/common/fmatrix.hh>
 #include <dune/istl/bvector.hh>
 
-#include <dune/fufem/functionspacebases/p1nodalbasis.hh>
-
 #include <dune/fufem/functions/constantfunction.hh>
 #include <dune/fufem/functions/virtualgridfunction.hh>
 #include <dune/fufem/functions/virtualdifferentiablefunction.hh>
@@ -20,6 +18,9 @@
 #include <dune/fufem/assemblers/localassemblers/laplaceassembler.hh>
 #include <dune/fufem/assemblers/localassemblers/generalizedlaplaceassembler.hh>
 
+#include <dune/fufem/functionspacebases/dunefunctionsbasis.hh>
+#include <dune/functions/functionspacebases/pq1nodalbasis.hh>
+
 #include "common.hh"
 
 
@@ -96,7 +97,7 @@ struct GeneralizedLaplaceAssemblerTestSuite
 
         const int dim = GridType::dimension;
 
-        typedef P1NodalBasis<typename GridType::LeafGridView> Basis;
+        typedef DuneFunctionsBasis<Dune::Functions::PQ1NodalBasis<typename GridType::LeafGridView>> Basis;
         typedef typename Basis::LocalFiniteElement FE;
 
         Basis basis(grid.leafGridView());
diff --git a/dune/fufem/test/gridfunctionadaptortest.cc b/dune/fufem/test/gridfunctionadaptortest.cc
index 3ee11ac0..06730220 100644
--- a/dune/fufem/test/gridfunctionadaptortest.cc
+++ b/dune/fufem/test/gridfunctionadaptortest.cc
@@ -5,9 +5,11 @@
 #include <dune/fufem/functions/basisgridfunction.hh>
 #include <dune/fufem/functiontools/basisinterpolator.hh>
 #include <dune/fufem/functiontools/gridfunctionadaptor.hh>
-#include <dune/fufem/functionspacebases/p1nodalbasis.hh>
 #include <dune/fufem/functionspacebases/conformingbasis.hh>
 
+#include <dune/fufem/functionspacebases/dunefunctionsbasis.hh>
+#include <dune/functions/functionspacebases/pq1nodalbasis.hh>
+
 #include "common.hh"
 
 
@@ -35,7 +37,7 @@ struct Suite
     {
         const int dim = GridType::dimensionworld;
         typedef typename GridType::LeafGridView View;
-        typedef P1NodalBasis<View> NonconformingBasis;
+        typedef DuneFunctionsBasis<Dune::Functions::PQ1NodalBasis<View>> NonconformingBasis;
         typedef ConformingBasis<NonconformingBasis> Basis;
 
         typedef typename Dune::FieldVector<double, GridType::dimensionworld> DT;
diff --git a/dune/fufem/test/h1functionalassemblertest.cc b/dune/fufem/test/h1functionalassemblertest.cc
index ee4fada6..f8332902 100644
--- a/dune/fufem/test/h1functionalassemblertest.cc
+++ b/dune/fufem/test/h1functionalassemblertest.cc
@@ -9,9 +9,6 @@
 #include <dune/common/fmatrix.hh>
 #include <dune/istl/bvector.hh>
 
-
-#include <dune/fufem/functionspacebases/p1nodalbasis.hh>
-
 #include <dune/fufem/functions/basisgridfunction.hh>
 #include <dune/fufem/functions/virtualgridfunction.hh>
 #include <dune/fufem/functions/virtualdifferentiablefunction.hh>
@@ -20,6 +17,9 @@
 #include <dune/fufem/assemblers/localassemblers/laplaceassembler.hh>
 #include <dune/fufem/assemblers/localassemblers/h1functionalassembler.hh>
 
+#include <dune/fufem/functionspacebases/dunefunctionsbasis.hh>
+#include <dune/functions/functionspacebases/pq1nodalbasis.hh>
+
 #include "common.hh"
 
 /** \brief Wrapper for (Generic)GridFunctions representing the GridFunction's derivative
@@ -69,7 +69,7 @@ struct H1FunctionalAssemblerTestSuite
     template <typename GridType>
     bool check(const GridType& grid)
     {
-        typedef P1NodalBasis<typename GridType::LeafGridView> Basis;
+        typedef DuneFunctionsBasis<Dune::Functions::PQ1NodalBasis<typename GridType::LeafGridView>> Basis;
         typedef typename Basis::LocalFiniteElement FE;
 
         const int block_size=2;
diff --git a/dune/fufem/test/integraloperatorassemblertest.cc b/dune/fufem/test/integraloperatorassemblertest.cc
index 9994025b..ef2684e1 100644
--- a/dune/fufem/test/integraloperatorassemblertest.cc
+++ b/dune/fufem/test/integraloperatorassemblertest.cc
@@ -3,11 +3,12 @@
 #include <dune/common/parallel/mpihelper.hh>
 #include <dune/common/function.hh>
 
-#include <dune/fufem/functionspacebases/p1nodalbasis.hh>
-
 #include <dune/fufem/assemblers/integraloperatorassembler.hh>
 #include <dune/fufem/assemblers/localassemblers/convolutionassembler.hh>
 
+#include <dune/fufem/functionspacebases/dunefunctionsbasis.hh>
+#include <dune/functions/functionspacebases/pq1nodalbasis.hh>
+
 #include "common.hh"
 
 
@@ -52,7 +53,7 @@ struct IntegralOperatorAssemblerTestSuite
 
         Mollifier<dim> m(0.1);
 
-        typedef P1NodalBasis<typename GridType::LeafGridView> Basis;
+        typedef DuneFunctionsBasis<Dune::Functions::PQ1NodalBasis<typename GridType::LeafGridView>> Basis;
         Basis basis(grid.leafGridView());
 
         typename Dune::Matrix<Dune::FieldMatrix<double,1,1> > M1, M2;
diff --git a/dune/fufem/test/laplaceassemblertest.cc b/dune/fufem/test/laplaceassemblertest.cc
index 386e3974..78beab2b 100644
--- a/dune/fufem/test/laplaceassemblertest.cc
+++ b/dune/fufem/test/laplaceassemblertest.cc
@@ -11,9 +11,8 @@
 #include <dune/fufem/boundarypatch.hh>
 #include <dune/fufem/assemblers/boundaryoperatorassembler.hh>
 #include <dune/fufem/assemblers/localassemblers/laplaceassembler.hh>
-#include <dune/fufem/functionspacebases/p1nodalbasis.hh>
-
-
+#include <dune/fufem/functionspacebases/dunefunctionsbasis.hh>
+#include <dune/functions/functionspacebases/pq1nodalbasis.hh>
 
 using namespace Dune;
 
@@ -31,7 +30,7 @@ int main (int argc, char *argv[])
   GridType grid(h,n);
 
   // Construct a function space basis for the grid
-  typedef P1NodalBasis<GridType::LeafGridView,double> P1Basis;
+  typedef DuneFunctionsBasis<Dune::Functions::PQ1NodalBasis<GridType::LeafGridView>> P1Basis;
   P1Basis p1Basis(grid.leafGridView());
 
   // Construct a boundary patch for the entire grid boundary
diff --git a/dune/fufem/test/secondorderassemblertest.cc b/dune/fufem/test/secondorderassemblertest.cc
index 9e2d2bf1..ae4a04a9 100644
--- a/dune/fufem/test/secondorderassemblertest.cc
+++ b/dune/fufem/test/secondorderassemblertest.cc
@@ -14,7 +14,6 @@
 
 #include <dune/fufem/boundarypatch.hh>
 #include <dune/fufem/assemblers/operatorassembler.hh>
-#include <dune/fufem/functionspacebases/p1nodalbasis.hh>
 
 #include <dune/fufem/assemblers/localassemblers/secondorderoperatorassembler.hh>
 
@@ -22,6 +21,8 @@
 #include <dune/fufem/assemblers/localassemblers/vvlaplaceassembler.hh>
 #include <dune/fufem/assemblers/localassemblers/stvenantkirchhoffassembler.hh>
 
+#include <dune/fufem/functionspacebases/dunefunctionsbasis.hh>
+#include <dune/functions/functionspacebases/pq1nodalbasis.hh>
 
 using namespace Dune;
 
@@ -78,7 +79,7 @@ int main (int argc, char *argv[])
   grid.globalRefine(refine);
 
   // Construct a function space basis for the grid
-  typedef P1NodalBasis<GridType::LeafGridView,double> P1Basis;
+  typedef DuneFunctionsBasis<Dune::Functions::PQ1NodalBasis<GridType::LeafGridView>> P1Basis;
   P1Basis p1Basis(grid.leafGridView());
 
   // Construct a boundary patch for the entire grid boundary
diff --git a/dune/fufem/test/subgridxyfunctionalassemblertest.cc b/dune/fufem/test/subgridxyfunctionalassemblertest.cc
index 7b08fcf7..118afa3d 100644
--- a/dune/fufem/test/subgridxyfunctionalassemblertest.cc
+++ b/dune/fufem/test/subgridxyfunctionalassemblertest.cc
@@ -19,7 +19,9 @@
 #include <dune/subgrid/subgrid.hh>
 #endif
 
-#include <dune/fufem/functionspacebases/p1nodalbasis.hh>
+#include <dune/fufem/functionspacebases/dunefunctionsbasis.hh>
+#include <dune/functions/functionspacebases/pq1nodalbasis.hh>
+
 #include <dune/fufem/functionspacebases/conformingbasis.hh>
 
 #include <dune/fufem/functions/basisgridfunction.hh>
@@ -200,8 +202,8 @@ struct SubgridL2FunctionalAssemblerTestSuite
 
         static const int block_size=2;
 
-        typedef P1NodalBasis<typename GridType::LeafGridView> NCBasis;
-        typedef P1NodalBasis<typename HostGridType::LeafGridView> NCHostBasis;
+        typedef typedef DuneFunctionsBasis<Dune::Functions::PQ1NodalBasis<typename GridType::LeafGridView>> NCBasis;
+        typedef typedef DuneFunctionsBasis<Dune::Functions::PQ1NodalBasis<typename HostGridType::LeafGridView>> NCHostBasis;
         typedef ConformingBasis<NCBasis> Basis;
         typedef ConformingBasis<NCHostBasis> HostBasis;
         typedef Dune::BCRSMatrix<Dune::FieldMatrix<double,block_size,block_size> > Transfer;
@@ -214,7 +216,6 @@ struct SubgridL2FunctionalAssemblerTestSuite
 
         Transfer transfer;
 
-//        setupSubgridToHostgridTransfer<Transfer,P1NodalBasis,GridType>(transfer,grid);
         setupSubgridToHostgridTransfer<Transfer,Basis,HostBasis>(transfer,basis,hostbasis);
 
         /* the function to be plugged into the assembler */
@@ -296,8 +297,8 @@ struct SubgridH1FunctionalAssemblerTestSuite
 
         static const int block_size=1;
 
-        typedef P1NodalBasis<typename GridType::LeafGridView> NCBasis;
-        typedef P1NodalBasis<typename HostGridType::LeafGridView> NCHostBasis;
+        typedef typedef DuneFunctionsBasis<Dune::Functions::PQ1NodalBasis<typename GridType::LeafGridView>> NCBasis;
+        typedef typedef DuneFunctionsBasis<Dune::Functions::PQ1NodalBasis<typename HostGridType::LeafGridView>> NCHostBasis;
         typedef ConformingBasis<NCBasis> Basis;
         typedef ConformingBasis<NCHostBasis> HostBasis;
         typedef Dune::BCRSMatrix<Dune::FieldMatrix<double,block_size,block_size> > Transfer;
diff --git a/dune/fufem/test/sumfunctiontest.cc b/dune/fufem/test/sumfunctiontest.cc
index f93dcec9..38e02a6d 100644
--- a/dune/fufem/test/sumfunctiontest.cc
+++ b/dune/fufem/test/sumfunctiontest.cc
@@ -16,7 +16,8 @@
 
 #include <dune/fufem/functiontools/basisinterpolator.hh>
 
-#include <dune/fufem/functionspacebases/p1nodalbasis.hh>
+#include <dune/fufem/functionspacebases/dunefunctionsbasis.hh>
+#include <dune/functions/functionspacebases/pq1nodalbasis.hh>
 
 #include "common.hh"
 
@@ -147,7 +148,7 @@ struct SumGridFunctionTestSuite
         TFType cos2x(0,TFType::COS);
         TFType cos2y(1,TFType::COS);
 
-        typedef P1NodalBasis<typename GridType::LeafGridView> Basis;
+        typedef DuneFunctionsBasis<Dune::Functions::PQ1NodalBasis<typename GridType::LeafGridView>> Basis;
         Basis basis(grid.leafGridView());
 
         typedef Dune::BlockVector<RangeType> CoeffType;
-- 
GitLab