mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-25 18:55:30 -06:00
Use stricter tolerance when dynamic thp
This commit is contained in:
parent
a9ab62e6b8
commit
24c4f75ecb
@ -1170,10 +1170,16 @@ namespace Opm
|
|||||||
// For the polymer, energy and foam cases, there is one more mass balance equations of reservoir than wells
|
// For the polymer, energy and foam cases, there is one more mass balance equations of reservoir than wells
|
||||||
assert((int(B_avg.size()) == this->num_components_) || has_polymer || has_energy || has_foam || has_brine || has_zFraction || has_micp);
|
assert((int(B_avg.size()) == this->num_components_) || has_polymer || has_energy || has_foam || has_brine || has_zFraction || has_micp);
|
||||||
|
|
||||||
// using sricter tolerance for stopped wells and wells under zero rate target control.
|
double tol_wells = this->param_.tolerance_wells_;
|
||||||
constexpr double stricter_factor = 1.e-4;
|
// use stricter tolerance for stopped wells and wells under zero rate target control.
|
||||||
const double tol_wells = this->stopppedOrZeroRateTarget(summary_state, well_state) ?
|
constexpr double stopped_factor = 1.e-4;
|
||||||
this->param_.tolerance_wells_ * stricter_factor : this->param_.tolerance_wells_;
|
// use stricter tolerance for dynamic thp to ameliorate network convergence
|
||||||
|
constexpr double dynamic_thp_factor = 1.e-1;
|
||||||
|
if (this->stopppedOrZeroRateTarget(summary_state, well_state)) {
|
||||||
|
tol_wells = tol_wells*stopped_factor;
|
||||||
|
} else if (this->getDynamicThpLimit()) {
|
||||||
|
tol_wells = tol_wells*dynamic_thp_factor;
|
||||||
|
}
|
||||||
|
|
||||||
std::vector<double> res;
|
std::vector<double> res;
|
||||||
ConvergenceReport report = this->StdWellEval::getWellConvergence(well_state,
|
ConvergenceReport report = this->StdWellEval::getWellConvergence(well_state,
|
||||||
|
Loading…
Reference in New Issue
Block a user