diff --git a/dune/solvers/test/energynormtest.cc b/dune/solvers/test/energynormtest.cc index f01c76dd932c7fce4a68e35194b10f73ccd2fd62..7af179ae8c32aaf3c95d74acec0991cb87b9be53 100644 --- a/dune/solvers/test/energynormtest.cc +++ b/dune/solvers/test/energynormtest.cc @@ -145,6 +145,12 @@ struct CustomMultiTypeBlockVector : public Dune::MultiTypeBlockVector<Args...> { template<class... Args> struct CustomMultiTypeBlockMatrix : public Dune::MultiTypeBlockMatrix<Args...> { constexpr static size_t blocklevel = 1; // fake value needed for BCRSMatrix nesting + + // HACK for istl compatibility + static constexpr size_t size(){ + return sizeof...(Args); + } + template<class K, typename = std::enable_if_t<Dune::IsNumber<K>::value>> void operator*=(K v) { Dune::Hybrid::forEach(*this, [v](auto& b) { b *= v; }); } // allow multiplication by scalar };