diff --git a/dune/functions/functionspacebases/lagrangedgbasis.hh b/dune/functions/functionspacebases/lagrangedgbasis.hh index 81689c7186292e3aa042794ba57d18c4fffd45ac..e0816f19cc67d2c0cf35a07269a8e26d6da146e9 100644 --- a/dune/functions/functionspacebases/lagrangedgbasis.hh +++ b/dune/functions/functionspacebases/lagrangedgbasis.hh @@ -291,6 +291,46 @@ protected: + +namespace BasisBuilder { + +namespace Imp { + +template<std::size_t k> +class LagrangeDGPreBasisFactory +{ +public: + static const std::size_t requiredMultiIndexSize = 1; + + template<class MultiIndex, class GridView> + auto makePreBasis(const GridView& gridView) const + { + return LagrangeDGPreBasis<GridView, k, MultiIndex>(gridView); + } + +}; + +} // end namespace BasisBuilder::Imp + + + +/** + * \brief Create a pre-basis factory that can create a LagrangeDG pre-basis + * + * \ingroup FunctionSpaceBasesImplementations + * + * \tparam k The polynomial order of the ansatz functions + */ +template<std::size_t k> +auto lagrangeDG() +{ + return Imp::LagrangeDGPreBasisFactory<k>(); +} + +} // end namespace BasisBuilder + + + // ***************************************************************************** // This is the actual global basis implementation based on the reusable parts. // *****************************************************************************