From ca16d49d52fe25258547dfcecda72a08498a2705 Mon Sep 17 00:00:00 2001
From: Oliver Sander <oliver.sander@tu-dresden.de>
Date: Mon, 5 Mar 2018 12:12:57 +0100
Subject: [PATCH] Implement PreBasisFactory for PQ1NodalBasis

---
 .../functionspacebases/pq1nodalbasis.hh       | 37 +++++++++++++++++++
 1 file changed, 37 insertions(+)

diff --git a/dune/functions/functionspacebases/pq1nodalbasis.hh b/dune/functions/functionspacebases/pq1nodalbasis.hh
index 3949ad7..b05f0de 100644
--- a/dune/functions/functionspacebases/pq1nodalbasis.hh
+++ b/dune/functions/functionspacebases/pq1nodalbasis.hh
@@ -285,6 +285,43 @@ protected:
 
 
 
+namespace BasisBuilder {
+
+namespace Imp {
+
+class PQ1PreBasisFactory
+{
+public:
+  static const std::size_t requiredMultiIndexSize = 1;
+
+  template<class MultiIndex, class GridView>
+  auto makePreBasis(const GridView& gridView) const
+  {
+    return PQ1PreBasis<GridView, MultiIndex>(gridView);
+  }
+
+};
+
+} // end namespace BasisBuilder::Imp
+
+
+
+/**
+ * \brief Create a pre-basis factory that can create a PQ_1 pre-basis
+ *
+ * \ingroup FunctionSpaceBasesImplementations
+ *
+ * \tparam k   The polynomial order of ansatz functions
+ */
+auto pq1Nodal()
+{
+  return Imp::PQ1PreBasisFactory();
+}
+
+} // end namespace BasisBuilder
+
+
+
 /** \brief Nodal basis of a scalar first-order Lagrangian finite element space
  *
  * \ingroup FunctionSpaceBasesImplementations
-- 
GitLab