diff --git a/dumux/implicit/common/implicitproblem.hh b/dumux/implicit/common/implicitproblem.hh index 0f0af3616de0d18bf10746f818f85918c2ff1037..934698cbf162aac3dddc0e6321fff8048bf8e4c6 100644 --- a/dumux/implicit/common/implicitproblem.hh +++ b/dumux/implicit/common/implicitproblem.hh @@ -509,7 +509,8 @@ public: */ void timeIntegration() { - const int maxFails = 10; + const int maxFails = + GET_PARAM_FROM_GROUP(TypeTag, int, Implicit, MaxTimeStepDivisions); for (int i = 0; i < maxFails; ++i) { if (model_.update(newtonMethod_, newtonCtl_)) return; diff --git a/dumux/implicit/common/implicitproperties.hh b/dumux/implicit/common/implicitproperties.hh index 5b9574598a6df1911d4f115d1b645b4f2c9e4f92..7b9a0d6b82e9904be23b0f6c07ede42868b737c7 100644 --- a/dumux/implicit/common/implicitproperties.hh +++ b/dumux/implicit/common/implicitproperties.hh @@ -124,6 +124,10 @@ NEW_PROP_TAG(ElementMapper); //! mapper for degrees of freedom NEW_PROP_TAG(DofMapper); +//! the maximum allowed number of timestep divisions for the +//! Newton solver +NEW_PROP_TAG(ImplicitMaxTimeStepDivisions); + //! indicate whether discretization is box or not NEW_PROP_TAG(ImplicitIsBox); diff --git a/dumux/implicit/common/implicitpropertydefaults.hh b/dumux/implicit/common/implicitpropertydefaults.hh index 1b5a3cf5c3fb2aa5fc3395bb522c6e1697a396bd..53772137670de64654eeabdd4923b4112534240c 100644 --- a/dumux/implicit/common/implicitpropertydefaults.hh +++ b/dumux/implicit/common/implicitpropertydefaults.hh @@ -147,6 +147,9 @@ SET_INT_PROP(ImplicitBase, LinearSolverMaxIterations, 250); //! set number of equations of the mathematical model as default SET_INT_PROP(ImplicitBase, LinearSolverBlockSize, GET_PROP_VALUE(TypeTag, NumEq)); +//! set number of maximum timestep divisions to 10 +SET_INT_PROP(ImplicitBase, ImplicitMaxTimeStepDivisions, 10); + } // namespace Properties } // namespace Dumux