report negative rates
This commit is contained in:
parent
e79d612d55
commit
754e43e8b6
@ -703,46 +703,61 @@ inline quantity well_rate_target( const fn_args& args ) {
|
|||||||
|
|
||||||
if (injection){
|
if (injection){
|
||||||
if (phase == rt::wat){
|
if (phase == rt::wat){
|
||||||
if (wtype.producer() || (wtype.injector_type() != Opm::InjectorType::WATER)) {
|
if (wtype.producer()) {
|
||||||
|
const auto& production = well->productionControls(args.st);
|
||||||
|
return { -production.water_rate, rate_unit<Opm::Phase::WATER>() };
|
||||||
|
} else if ((wtype.injector_type() != Opm::InjectorType::WATER)) {
|
||||||
return zero;
|
return zero;
|
||||||
|
} else {
|
||||||
|
const auto& injectionControl = well->injectionControls(args.st);
|
||||||
|
return { injectionControl.surface_rate, rate_unit<Opm::Phase::WATER>() };
|
||||||
}
|
}
|
||||||
const auto& injectionControl = well->injectionControls(args.st);
|
|
||||||
return { injectionControl.surface_rate, rate_unit<Opm::Phase::WATER>() };
|
|
||||||
} else if (phase == rt::oil){
|
} else if (phase == rt::oil){
|
||||||
if (wtype.producer() || (wtype.injector_type() != Opm::InjectorType::OIL)){
|
if (wtype.producer()) {
|
||||||
|
const auto& production = well->productionControls(args.st);
|
||||||
|
return { -production.oil_rate, rate_unit<Opm::Phase::OIL>() };
|
||||||
|
} else if ((wtype.injector_type() != Opm::InjectorType::OIL)){
|
||||||
return zero;
|
return zero;
|
||||||
|
} else {
|
||||||
|
const auto& injectionControl = well->injectionControls(args.st);
|
||||||
|
return { injectionControl.surface_rate, rate_unit<Opm::Phase::OIL>() };
|
||||||
}
|
}
|
||||||
const auto& injectionControl = well->injectionControls(args.st);
|
|
||||||
return { injectionControl.surface_rate, rate_unit<Opm::Phase::OIL>() };
|
|
||||||
} else if (phase == rt::gas){
|
} else if (phase == rt::gas){
|
||||||
if (wtype.producer() || (wtype.injector_type() != Opm::InjectorType::GAS)) {
|
if (wtype.producer()) {
|
||||||
|
const auto& production = well->productionControls(args.st);
|
||||||
|
return { -production.gas_rate, rate_unit<Opm::Phase::GAS>() };
|
||||||
|
} else if ((wtype.injector_type() != Opm::InjectorType::GAS)) {
|
||||||
return zero;
|
return zero;
|
||||||
|
} else {
|
||||||
|
const auto& injectionControl = well->injectionControls(args.st);
|
||||||
|
return { injectionControl.surface_rate, rate_unit<Opm::Phase::GAS>() };
|
||||||
}
|
}
|
||||||
const auto& injectionControl = well->injectionControls(args.st);
|
} else {
|
||||||
return { injectionControl.surface_rate, rate_unit<Opm::Phase::GAS>() };
|
|
||||||
} else{
|
|
||||||
return zero;
|
return zero;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (phase == rt::wat){
|
if (phase == rt::wat){
|
||||||
if (wtype.injector() ){
|
if (wtype.injector() ){
|
||||||
return zero;
|
const auto& injectionControl = well->injectionControls(args.st);
|
||||||
|
return { -injectionControl.surface_rate, rate_unit<Opm::Phase::WATER>() };
|
||||||
}
|
}
|
||||||
const auto& production = well->productionControls(args.st);
|
const auto& production = well->productionControls(args.st);
|
||||||
return { production.water_rate, rate_unit<Opm::Phase::WATER>() };
|
return { production.water_rate, rate_unit<Opm::Phase::WATER>() };
|
||||||
} else if (phase == rt::oil){
|
} else if (phase == rt::oil){
|
||||||
if (wtype.injector() ){
|
if (wtype.injector() ){
|
||||||
return zero;
|
const auto& injectionControl = well->injectionControls(args.st);
|
||||||
|
return { -injectionControl.surface_rate, rate_unit<Opm::Phase::OIL>() };
|
||||||
}
|
}
|
||||||
const auto& production = well->productionControls(args.st);
|
const auto& production = well->productionControls(args.st);
|
||||||
return { production.oil_rate, rate_unit<Opm::Phase::OIL>() };
|
return { production.oil_rate, rate_unit<Opm::Phase::OIL>() };
|
||||||
} else if (phase == rt::gas){
|
} else if (phase == rt::gas){
|
||||||
if (wtype.injector() ){
|
if (wtype.injector() ){
|
||||||
return zero;
|
const auto& injectionControl = well->injectionControls(args.st);
|
||||||
|
return { -injectionControl.surface_rate, rate_unit<Opm::Phase::GAS>() };
|
||||||
}
|
}
|
||||||
const auto& production = well->productionControls(args.st);
|
const auto& production = well->productionControls(args.st);
|
||||||
return { production.gas_rate, rate_unit<Opm::Phase::GAS>() };
|
return { production.gas_rate, rate_unit<Opm::Phase::GAS>() };
|
||||||
} else{
|
} else {
|
||||||
return zero;
|
return zero;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user