mirror of
https://github.com/OPM/opm-simulators.git
synced 2026-10-12 17:02:02 -05:00
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:
1 parent
3dac7266b0
commit
76271e3960
3 files changed
+1
-21
No files matched your search
@@ -914,9 +914,6 @@ namespace Opm {
|
|||||||
wellhelpers::WellSwitchingLogger logger;
|
wellhelpers::WellSwitchingLogger logger;
|
||||||
|
|
||||||
for (const auto& well : well_container_) {
|
for (const auto& well : well_container_) {
|
||||||
|
|
||||||
if ( !well->isOperable() ) continue;
|
|
||||||
|
|
||||||
well->updateWellControl(ebosSimulator_, well_state_, logger);
|
well->updateWellControl(ebosSimulator_, well_state_, logger);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1112,8 +1112,6 @@ namespace Opm
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case THP: {
|
case THP: {
|
||||||
assert(this->isOperable() );
|
|
||||||
|
|
||||||
// when a well can not work under THP target, it switches to BHP control
|
// when a well can not work under THP target, it switches to BHP control
|
||||||
if (this->operability_status_.isOperableUnderTHPLimit() ) {
|
if (this->operability_status_.isOperableUnderTHPLimit() ) {
|
||||||
updateWellStateWithTHPTargetIPR(ebos_simulator, well_state);
|
updateWellStateWithTHPTargetIPR(ebos_simulator, well_state);
|
||||||
@@ -1337,10 +1335,7 @@ namespace Opm
|
|||||||
|
|
||||||
// checking whether the well can operate under the THP constraints.
|
// checking whether the well can operate under the THP constraints.
|
||||||
if (this->wellHasTHPConstraints()) {
|
if (this->wellHasTHPConstraints()) {
|
||||||
this->operability_status_.has_thp_constraint = true;
|
|
||||||
checkOperabilityUnderTHPLimitProducer(ebos_simulator);
|
checkOperabilityUnderTHPLimitProducer(ebos_simulator);
|
||||||
this->operability_status_.can_produce_inject_with_current_bhp =
|
|
||||||
canProduceInjectWithCurrentBhp(ebos_simulator, well_state);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -402,8 +402,7 @@ namespace Opm
|
|||||||
if (!operable_under_only_bhp_limit) {
|
if (!operable_under_only_bhp_limit) {
|
||||||
return false;
|
return false;
|
||||||
} else {
|
} else {
|
||||||
return ( (isOperableUnderBHPLimit() || isOperableUnderTHPLimit()) &&
|
return ( (isOperableUnderBHPLimit() || isOperableUnderTHPLimit()) );
|
||||||
!(has_thp_constraint && !can_produce_inject_with_current_bhp) );
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -420,8 +419,6 @@ namespace Opm
|
|||||||
obey_thp_limit_under_bhp_limit = true;
|
obey_thp_limit_under_bhp_limit = true;
|
||||||
can_obtain_bhp_with_thp_limit = true;
|
can_obtain_bhp_with_thp_limit = true;
|
||||||
obey_bhp_limit_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
|
// whether the well can be operated under bhp limit
|
||||||
@@ -435,15 +432,6 @@ namespace Opm
|
|||||||
bool can_obtain_bhp_with_thp_limit = true;
|
bool can_obtain_bhp_with_thp_limit = true;
|
||||||
// whether the well obey bhp limit when operated under thp limit
|
// whether the well obey bhp limit when operated under thp limit
|
||||||
bool obey_bhp_limit_with_thp_limit = true;
|
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;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in new issue
Block a user