mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-25 18:55:30 -06:00
changed: move the LinearSolverMaxIterations parameter to Opm::Parameters
This commit is contained in:
parent
59f586189e
commit
0e06d6491b
@ -80,7 +80,7 @@ namespace Opm::Linear {
|
||||
Preconditioner& parPreCond) \
|
||||
{ \
|
||||
Scalar tolerance = Parameters::get<TypeTag, Parameters::LinearSolverTolerance>(); \
|
||||
int maxIter = Parameters::get<TypeTag, Properties::LinearSolverMaxIterations>(); \
|
||||
int maxIter = Parameters::get<TypeTag, Parameters::LinearSolverMaxIterations>(); \
|
||||
\
|
||||
int verbosity = 0; \
|
||||
if (parOperator.overlap().myRank() == 0) \
|
||||
@ -135,7 +135,7 @@ public:
|
||||
Preconditioner& parPreCond)
|
||||
{
|
||||
Scalar tolerance = Parameters::get<TypeTag, Parameters::LinearSolverTolerance>();
|
||||
int maxIter = Parameters::get<TypeTag, Properties::LinearSolverMaxIterations>();
|
||||
int maxIter = Parameters::get<TypeTag, Parameters::LinearSolverMaxIterations>();
|
||||
|
||||
int verbosity = 0;
|
||||
if (parOperator.overlap().myRank() == 0)
|
||||
|
@ -39,6 +39,10 @@ namespace Opm::Parameters {
|
||||
template<class TypeTag, class MyTypeTag>
|
||||
struct LinearSolverAbsTolerance { using type = Properties::UndefinedProperty; };
|
||||
|
||||
//! Maximum number of iterations eyecuted by the linear solver
|
||||
template<class TypeTag, class MyTypeTag>
|
||||
struct LinearSolverMaxIterations { using type = Properties::UndefinedProperty; };
|
||||
|
||||
/*!
|
||||
* \brief The size of the algebraic overlap of the linear solver.
|
||||
*
|
||||
|
@ -45,10 +45,6 @@ struct PreconditionerWrapper { using type = UndefinedProperty; };
|
||||
template<class TypeTag, class MyTypeTag>
|
||||
struct LinearSolverScalar { using type = UndefinedProperty; };
|
||||
|
||||
//! Maximum number of iterations eyecuted by the linear solver
|
||||
template<class TypeTag, class MyTypeTag>
|
||||
struct LinearSolverMaxIterations { using type = UndefinedProperty; };
|
||||
|
||||
//! The order of the sequential preconditioner
|
||||
template<class TypeTag, class MyTypeTag>
|
||||
struct PreconditionerOrder { using type = UndefinedProperty; };
|
||||
|
@ -210,7 +210,7 @@ protected:
|
||||
if (parOperator.overlap().myRank() == 0)
|
||||
verbosity = Parameters::get<TypeTag, Parameters::LinearSolverVerbosity>();
|
||||
bicgstabSolver->setVerbosity(verbosity);
|
||||
bicgstabSolver->setMaxIterations(Parameters::get<TypeTag, Properties::LinearSolverMaxIterations>());
|
||||
bicgstabSolver->setMaxIterations(Parameters::get<TypeTag, Parameters::LinearSolverMaxIterations>());
|
||||
bicgstabSolver->setLinearOperator(&parOperator);
|
||||
bicgstabSolver->setRhs(this->overlappingb_);
|
||||
|
||||
|
@ -158,7 +158,7 @@ public:
|
||||
("The maximum accepted error of the norm of the residual");
|
||||
Parameters::registerParam<TypeTag, Parameters::LinearSolverOverlapSize>
|
||||
("The size of the algebraic overlap for the linear solver");
|
||||
Parameters::registerParam<TypeTag, Properties::LinearSolverMaxIterations>
|
||||
Parameters::registerParam<TypeTag, Parameters::LinearSolverMaxIterations>
|
||||
("The maximum number of iterations of the linear solver");
|
||||
Parameters::registerParam<TypeTag, Parameters::LinearSolverVerbosity>
|
||||
("The verbosity level of the linear solver");
|
||||
@ -454,14 +454,15 @@ template<class TypeTag>
|
||||
struct PreconditionerWrapper<TypeTag, TTag::ParallelBaseLinearSolver>
|
||||
{ using type = Opm::Linear::PreconditionerWrapperILU<TypeTag>; };
|
||||
|
||||
//! set the default number of maximum iterations for the linear solver
|
||||
template<class TypeTag>
|
||||
struct LinearSolverMaxIterations<TypeTag, TTag::ParallelBaseLinearSolver> { static constexpr int value = 1000; };
|
||||
|
||||
} // namespace Opm::Properties
|
||||
|
||||
namespace Opm::Parameters {
|
||||
|
||||
//! set the default number of maximum iterations for the linear solver
|
||||
template<class TypeTag>
|
||||
struct LinearSolverMaxIterations<TypeTag, Properties::TTag::ParallelBaseLinearSolver>
|
||||
{ static constexpr int value = 1000; };
|
||||
|
||||
//! set the default overlap size to 2
|
||||
template<class TypeTag>
|
||||
struct LinearSolverOverlapSize<TypeTag, Properties::TTag::ParallelBaseLinearSolver>
|
||||
|
@ -154,7 +154,7 @@ protected:
|
||||
if (parOperator.overlap().myRank() == 0)
|
||||
verbosity = Parameters::get<TypeTag, Parameters::LinearSolverVerbosity>();
|
||||
bicgstabSolver->setVerbosity(verbosity);
|
||||
bicgstabSolver->setMaxIterations(Parameters::get<TypeTag, Properties::LinearSolverMaxIterations>());
|
||||
bicgstabSolver->setMaxIterations(Parameters::get<TypeTag, Parameters::LinearSolverMaxIterations>());
|
||||
bicgstabSolver->setLinearOperator(&parOperator);
|
||||
bicgstabSolver->setRhs(this->overlappingb_);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user