Tracking situation when group overproducing its target
Bascially it means that something wrong with our algorithms. Not sure how to handle it properly yet.
This commit is contained in:
parent
a6f4772ca1
commit
b7ea707928
@ -863,13 +863,20 @@ namespace Opm
|
|||||||
const double bigger_of_two = std::max(production_rate, production_target);
|
const double bigger_of_two = std::max(production_rate, production_target);
|
||||||
|
|
||||||
if (std::abs(production_target - production_rate) > relative_tolerance * bigger_of_two) {
|
if (std::abs(production_target - production_rate) > relative_tolerance * bigger_of_two) {
|
||||||
// underproducing the target while potentially can produce more
|
if (production_rate < production_target) {
|
||||||
// then we should not consider the effort to match the group target is done yet
|
// underproducing the target while potentially can produce more
|
||||||
if (canProduceMore()) {
|
// then we should not consider the effort to match the group target is done yet
|
||||||
return false;
|
if (canProduceMore()) {
|
||||||
} else {
|
return false;
|
||||||
// can not produce more to meet the target
|
} else {
|
||||||
OpmLog::info("group " + name() + " can not meet its target!");
|
// can not produce more to meet the target
|
||||||
|
OpmLog::info("group " + name() + " can not meet its target!");
|
||||||
|
}
|
||||||
|
} else { // overproducing the target, the only possibility is that all the wells/groups are under individual control
|
||||||
|
// while somehow our algorithms did not make the wells/groups return group controls
|
||||||
|
// either we should fix the algorithm of determining the target for well to return group controls
|
||||||
|
// or we should do something here
|
||||||
|
OpmLog::info("group " + name() + " is overproducing its target!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user