Merge pull request #5724 from totto82/changeNUPCOL

Changes in how the simulator handles NUPCOL
This commit is contained in:
Tor Harald Sandve
2024-12-02 10:29:09 +01:00
committed by GitHub
7 changed files with 91 additions and 17 deletions

View File

@@ -102,6 +102,8 @@ BlackoilModelParameters<Scalar>::BlackoilModelParameters()
convergence_monitoring_ = Parameters::Get<Parameters::ConvergenceMonitoring>();
convergence_monitoring_cutoff_ = Parameters::Get<Parameters::ConvergenceMonitoringCutOff>();
convergence_monitoring_decay_factor_ = Parameters::Get<Parameters::ConvergenceMonitoringDecayFactor<Scalar>>();
nupcol_group_rate_tolerance_ = Parameters::Get<Parameters::NupcolGroupRateTolerance<Scalar>>();
}
template<class Scalar>
@@ -251,6 +253,9 @@ void BlackoilModelParameters<Scalar>::registerParameters()
Parameters::Register<Parameters::ConvergenceMonitoringDecayFactor<Scalar>>
("Decay factor for convergence monitoring");
Parameters::Register<Parameters::NupcolGroupRateTolerance<Scalar>>
("Tolerance for acceptable changes in VREP/RAIN group rates");
Parameters::Hide<Parameters::DebugEmitCellPartition>();
// if openMP is available, determine the number threads per process automatically.

View File

@@ -152,6 +152,9 @@ struct ConvergenceMonitoringCutOff { static constexpr int value = 6; };
template<class Scalar>
struct ConvergenceMonitoringDecayFactor { static constexpr Scalar value = 0.75; };
template<class Scalar>
struct NupcolGroupRateTolerance { static constexpr Scalar value = 0.001; };
} // namespace Opm::Parameters
namespace Opm {
@@ -315,6 +318,10 @@ public:
/// Decay factor used in convergence monitoring
Scalar convergence_monitoring_decay_factor_;
// Relative tolerance of group rates (VREP, REIN)
// If violated the nupcol wellstate is updated
Scalar nupcol_group_rate_tolerance_;
/// Construct from user parameters or defaults.
BlackoilModelParameters();