diff --git a/dumux/linear/seqsolverbackend.hh b/dumux/linear/seqsolverbackend.hh index 7b2a65ae0c95f80685ec02f0a76bf2ea67939b86..06d0417e32c50b3662040833dcdc6675aa8933d9 100644 --- a/dumux/linear/seqsolverbackend.hh +++ b/dumux/linear/seqsolverbackend.hh @@ -377,7 +377,13 @@ public: static const double residReduction = GET_PROP_VALUE(TypeTag, PTAG(LSResidualReduction)); Vector bTmp(b); - Dune::SuperLU<Matrix> solver(A); + + typedef typename GET_PROP_TYPE(TypeTag, PTAG(Scalar)) Scalar; + enum {numEq = GET_PROP_VALUE(TypeTag, PTAG(NumEq))}; + typedef typename Dune::FieldMatrix<Scalar, numEq, numEq> MatrixBlock; + typedef typename Dune::BCRSMatrix<MatrixBlock> ISTLMatrix; + + Dune::SuperLU<ISTLMatrix> solver(A); solver.apply(x, bTmp, result_);