From 6c0ee61d6fa356a9bac99bc5dea24ab1d63fba82 Mon Sep 17 00:00:00 2001 From: Tobias Meyer Andersen Date: Tue, 28 Nov 2023 10:59:46 +0100 Subject: [PATCH] add ILUn smoother --- opm/simulators/linalg/PreconditionerFactory_impl.hpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/opm/simulators/linalg/PreconditionerFactory_impl.hpp b/opm/simulators/linalg/PreconditionerFactory_impl.hpp index 1531477d5..e147d104e 100644 --- a/opm/simulators/linalg/PreconditionerFactory_impl.hpp +++ b/opm/simulators/linalg/PreconditionerFactory_impl.hpp @@ -262,6 +262,15 @@ struct StandardPreconditioners auto crit = AMGHelper::criterion(prm); PrecPtr prec = std::make_shared>(op, crit, sargs, comm); return prec; + } + else if (smoother == "ILUn") { + using SeqSmoother = SeqILU; + using Smoother = Dune::BlockPreconditioner; + using SmootherArgs = typename Dune::Amg::SmootherTraits::Arguments; + SmootherArgs sargs; + auto crit = AMGHelper::criterion(prm); + PrecPtr prec = std::make_shared>(op, crit, sargs, comm); + return prec; }else { OPM_THROW(std::invalid_argument, "Properties: No smoother with name " + smoother + "."); }