not shut a well because of cannot-produce-inject reason

which is a numerical reason. Removing it for now for better result.

It minght come back with more complete strategy and understanding.
This commit is contained in:
Kai Bao 2018-11-24 22:22:50 +01:00
parent 3dac7266b0
commit 76271e3960
3 changed files with 1 additions and 21 deletions

View File

@ -914,9 +914,6 @@ namespace Opm {
wellhelpers::WellSwitchingLogger logger;
for (const auto& well : well_container_) {
if ( !well->isOperable() ) continue;
well->updateWellControl(ebosSimulator_, well_state_, logger);
}

View File

@ -1112,8 +1112,6 @@ namespace Opm
break;
case THP: {
assert(this->isOperable() );
// when a well can not work under THP target, it switches to BHP control
if (this->operability_status_.isOperableUnderTHPLimit() ) {
updateWellStateWithTHPTargetIPR(ebos_simulator, well_state);
@ -1337,10 +1335,7 @@ namespace Opm
// checking whether the well can operate under the THP constraints.
if (this->wellHasTHPConstraints()) {
this->operability_status_.has_thp_constraint = true;
checkOperabilityUnderTHPLimitProducer(ebos_simulator);
this->operability_status_.can_produce_inject_with_current_bhp =
canProduceInjectWithCurrentBhp(ebos_simulator, well_state);
}
}

View File

@ -402,8 +402,7 @@ namespace Opm
if (!operable_under_only_bhp_limit) {
return false;
} else {
return ( (isOperableUnderBHPLimit() || isOperableUnderTHPLimit()) &&
!(has_thp_constraint && !can_produce_inject_with_current_bhp) );
return ( (isOperableUnderBHPLimit() || isOperableUnderTHPLimit()) );
}
}
@ -420,8 +419,6 @@ namespace Opm
obey_thp_limit_under_bhp_limit = true;
can_obtain_bhp_with_thp_limit = true;
obey_bhp_limit_with_thp_limit = true;
can_produce_inject_with_current_bhp = true;
has_thp_constraint = false;
}
// whether the well can be operated under bhp limit
@ -435,15 +432,6 @@ namespace Opm
bool can_obtain_bhp_with_thp_limit = true;
// whether the well obey bhp limit when operated under thp limit
bool obey_bhp_limit_with_thp_limit = true;
// TODO: the following criterion is based on the current state of
// the well, we consider it is a numerical criterion.
// at the moment, we only apply it with well has THP constraint.
// whether the well can produce / inject with the current bhp of the well
// it might be updated with other criterion with investigation with more cases.
bool can_produce_inject_with_current_bhp = true;
// whether the well has a THP constraint
bool has_thp_constraint = false;
};
}