diff --git a/dune/solvers/iterationsteps/blockgssteps.hh b/dune/solvers/iterationsteps/blockgssteps.hh index 18614d87c7092deb08cc32aefd2278b12385a9d4..98c2256ba3d60d457e9b51e6f7de438980dc383c 100644 --- a/dune/solvers/iterationsteps/blockgssteps.hh +++ b/dune/solvers/iterationsteps/blockgssteps.hh @@ -200,6 +200,7 @@ auto diagRegularize(double p, LocalSolver&& localSolver) { //! \brief is @LinearSolvers::direct with ignore nodes. //! \param r Regularization parameter. Set to 0.0 to switch off regularization. +template <typename dummy = void> auto direct(double r = LocalSolverRegularizer::defaultDiagRegularizeParameter) { return [r](const auto& m, const auto& b, const auto& ignore) { auto directSolver = LinearSolvers::direct<std::decay_t<decltype(m)>, @@ -213,6 +214,7 @@ auto direct(double r = LocalSolverRegularizer::defaultDiagRegularizeParameter) { } //! \brief is @LinearSolvers::ldlt with ignore nodes. +template <typename dummy = void> auto ldlt(double r = LocalSolverRegularizer::defaultDiagRegularizeParameter) { return [r](const auto& m, const auto& b, const auto& ignore) { auto ldltSolver = LinearSolvers::ldlt<std::decay_t<decltype(m)>, @@ -226,6 +228,7 @@ auto ldlt(double r = LocalSolverRegularizer::defaultDiagRegularizeParameter) { } //! \brief is @LinearSolvers::cg with ignore nodes. +template <typename dummy = void> auto cg(size_t maxIter = LinearSolvers::defaultCgMaxIter, double tol = LinearSolvers::defaultCgTol, double r = LocalSolverRegularizer::defaultDiagRegularizeParameter) {