changed: move the MaxTimeStepDivisions parameter to Opm::Parameters

This commit is contained in:
Arne Morten Kvarving 2024-06-28 12:16:28 +02:00
parent b7cf4b8132
commit 3f1e2eb73c
4 changed files with 15 additions and 15 deletions

View File

@ -120,12 +120,6 @@ struct DiscExtensiveQuantities<TypeTag, TTag::FvBaseDiscretization> { using type
template<class TypeTag>
struct GradientCalculator<TypeTag, TTag::FvBaseDiscretization> { using type = FvBaseGradientCalculator<TypeTag>; };
//! The maximum allowed number of timestep divisions for the
//! Newton solver
template<class TypeTag>
struct MaxTimeStepDivisions<TypeTag, TTag::FvBaseDiscretization> { static constexpr unsigned value = 10; };
//! By default, do not continue with a non-converged solution instead of giving up
//! if we encounter a time step size smaller than the minimum time
//! step size.
@ -345,6 +339,12 @@ struct MinTimeStepSize<TypeTag, Properties::TTag::FvBaseDiscretization>
static constexpr type value = 0.0;
};
//! The maximum allowed number of timestep divisions for the
//! Newton solver
template<class TypeTag>
struct MaxTimeStepDivisions<TypeTag, Properties::TTag::FvBaseDiscretization>
{ static constexpr unsigned value = 10; };
} // namespace Opm::Parameters
namespace Opm {

View File

@ -89,6 +89,13 @@ struct MaxTimeStepSize { using type = Properties::UndefinedProperty; };
template<class TypeTag, class MyTypeTag>
struct MinTimeStepSize { using type = Properties::UndefinedProperty; };
/*!
* \brief The maximum allowed number of timestep divisions for the
* Newton solver.
*/
template<class TypeTag, class MyTypeTag>
struct MaxTimeStepDivisions { using type = Properties::UndefinedProperty; };
} // namespace Opm::Parameters
#endif

View File

@ -173,7 +173,7 @@ public:
("The maximum size to which all time steps are limited to [s]");
Parameters::registerParam<TypeTag, Parameters::MinTimeStepSize>
("The minimum size to which all time steps are limited to [s]");
Parameters::registerParam<TypeTag, Properties::MaxTimeStepDivisions>
Parameters::registerParam<TypeTag, Parameters::MaxTimeStepDivisions>
("The maximum number of divisions by two of the timestep size "
"before the simulation bails out");
Parameters::registerParam<TypeTag, Parameters::EnableAsyncVtkOutput>
@ -567,7 +567,7 @@ public:
* before giving up.
*/
unsigned maxTimeIntegrationFailures() const
{ return Parameters::get<TypeTag, Properties::MaxTimeStepDivisions>(); }
{ return Parameters::get<TypeTag, Parameters::MaxTimeStepDivisions>(); }
/*!
* \brief Returns if we should continue with a non-converged solution instead of

View File

@ -215,13 +215,6 @@ struct VtkOutputFormat { using type = UndefinedProperty; };
template<class TypeTag, class MyTypeTag>
struct EnableConstraints { using type = UndefinedProperty; };
/*!
* \brief The maximum allowed number of timestep divisions for the
* Newton solver.
*/
template<class TypeTag, class MyTypeTag>
struct MaxTimeStepDivisions { using type = UndefinedProperty; };
/*!
* \brief Continue with a non-converged solution instead of giving up
* if we encounter a time step size smaller than the minimum time