move ContinueOnConvergenceError to TypeTag-free parameter system

This commit is contained in:
Arne Morten Kvarving 2024-07-05 17:49:51 +02:00
parent 07dcd1a431
commit af30ebf0f7
3 changed files with 9 additions and 17 deletions

View File

@ -284,13 +284,6 @@ struct DiscreteFunction<TypeTag, TTag::FvBaseDiscretization>
namespace Opm::Parameters {
//! 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.
template<class TypeTag>
struct ContinueOnConvergenceError<TypeTag, Properties::TTag::FvBaseDiscretization>
{ static constexpr bool value = false; };
//! by default, disable the intensive quantity cache. If the intensive quantities are
//! relatively cheap to calculate, the cache basically does not yield any performance
//! impact because of the intensive quantity cache will cause additional pressure on the

View File

@ -36,6 +36,13 @@
namespace Opm::Parameters {
/*!
* \brief Continue with a non-converged solution instead of giving up
* if we encounter a time step size smaller than the minimum time
* step size.
*/
struct ContinueOnConvergenceError { static constexpr bool value = false; };
/*!
* \brief Determines if the VTK output is written to disk asynchronously
*
@ -93,14 +100,6 @@ struct OutputDir { static constexpr auto value = ""; };
//! \brief Number of threads per process.
struct ThreadsPerProcess { static constexpr int value = 1; };
/*!
* \brief Continue with a non-converged solution instead of giving up
* if we encounter a time step size smaller than the minimum time
* step size.
*/
template<class TypeTag, class MyTypeTag>
struct ContinueOnConvergenceError { using type = Properties::UndefinedProperty; };
/*!
* \brief Specify whether all intensive quantities for the grid should be
* cached in the discretization.

View File

@ -178,7 +178,7 @@ public:
"before the simulation bails out");
Parameters::Register<Parameters::EnableAsyncVtkOutput>
("Dispatch a separate thread to write the VTK output");
Parameters::registerParam<TypeTag, Parameters::ContinueOnConvergenceError>
Parameters::Register<Parameters::ContinueOnConvergenceError>
("Continue with a non-converged solution instead of giving up "
"if we encounter a time step size smaller than the minimum time "
"step size.");
@ -575,7 +575,7 @@ public:
* step size.
*/
bool continueOnConvergenceError() const
{ return Parameters::get<TypeTag, Parameters::ContinueOnConvergenceError>(); }
{ return Parameters::Get<Parameters::ContinueOnConvergenceError>(); }
/*!
* \brief Impose the next time step size to be used externally.