mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-25 18:55:30 -06:00
Added missing safety factor paramet for time step controller
This commit is contained in:
parent
d78cf2e32e
commit
2be953f73d
@ -136,6 +136,9 @@ void registerAdaptiveParameters()
|
|||||||
Parameters::Register<Parameters::MinTimeStepBasedOnNewtonIterations>
|
Parameters::Register<Parameters::MinTimeStepBasedOnNewtonIterations>
|
||||||
("The minimum time step size (in days for field and metric unit and hours for lab unit) "
|
("The minimum time step size (in days for field and metric unit and hours for lab unit) "
|
||||||
"can be reduced to based on newton iteration counts");
|
"can be reduced to based on newton iteration counts");
|
||||||
|
Parameters::Register<Parameters::TimeStepControlSafetyFactor>
|
||||||
|
("Value to be multiplied with the time step control tolerance to ensure that the target "
|
||||||
|
"relative change is lower than the tolerance");
|
||||||
}
|
}
|
||||||
|
|
||||||
std::tuple<TimeStepControlType, std::unique_ptr<TimeStepControlInterface>, bool>
|
std::tuple<TimeStepControlType, std::unique_ptr<TimeStepControlInterface>, bool>
|
||||||
@ -214,9 +217,11 @@ createController(const UnitSystem& unitSystem)
|
|||||||
}},
|
}},
|
||||||
{"general3rdorder",
|
{"general3rdorder",
|
||||||
[tol]() {
|
[tol]() {
|
||||||
|
const double safetyFactor = Parameters::Get<Parameters::TimeStepControlSafetyFactor>(); // 0.8
|
||||||
return RetVal{
|
return RetVal{
|
||||||
TimeStepControlType::General3rdOrder,
|
TimeStepControlType::General3rdOrder,
|
||||||
std::make_unique<General3rdOrderController>(tol),
|
std::make_unique<General3rdOrderController>(tol,
|
||||||
|
safetyFactor),
|
||||||
false
|
false
|
||||||
};
|
};
|
||||||
}},
|
}},
|
||||||
|
@ -57,6 +57,7 @@ struct TimeStepControlGrowthDampingFactor { static constexpr double value = 3.2;
|
|||||||
struct TimeStepControlFileName { static constexpr auto value = "timesteps"; };
|
struct TimeStepControlFileName { static constexpr auto value = "timesteps"; };
|
||||||
struct MinTimeStepBeforeShuttingProblematicWellsInDays { static constexpr double value = 0.01; };
|
struct MinTimeStepBeforeShuttingProblematicWellsInDays { static constexpr double value = 0.01; };
|
||||||
struct MinTimeStepBasedOnNewtonIterations { static constexpr double value = 0.0; };
|
struct MinTimeStepBasedOnNewtonIterations { static constexpr double value = 0.0; };
|
||||||
|
struct TimeStepControlSafetyFactor { static constexpr double value = 0.8; };
|
||||||
|
|
||||||
} // namespace Opm::Parameters
|
} // namespace Opm::Parameters
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user