#ifndef OPM_EXTRASMOOTHERS_HPP #define OPM_EXTRASMOOTHERS_HPP #include "DILU.hpp" namespace Dune { template class SeqDilu; namespace Amg { /** * @brief Policy for the construction of the SeqDilu smoother */ template struct ConstructionTraits> { using Arguments = DefaultConstructionArgs>; #if DUNE_VERSION_NEWER(DUNE_ISTL, 2, 7) static inline std::shared_ptr> construct(Arguments& args) { return std::make_shared>(args.getMatrix()); } #else static inline SeqDilu* construct(Arguments& args) { return new SeqDilu(args.getMatrix()); } static void deconstruct(SeqDilu* dilu) { delete dilu; } #endif }; } // namespace Amg } // namespace Dune #endif // OPM_EXTRASMOOTHERS_HPP