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