diff --git a/opm/parser/eclipse/EclipseState/Schedule/Group/GuideRate.hpp b/opm/parser/eclipse/EclipseState/Schedule/Group/GuideRate.hpp index b9afd0b78..be9005ee0 100644 --- a/opm/parser/eclipse/EclipseState/Schedule/Group/GuideRate.hpp +++ b/opm/parser/eclipse/EclipseState/Schedule/Group/GuideRate.hpp @@ -1,5 +1,5 @@ /* - Copyright 2019 Equinor ASA. + Copyright 2019, 2020 Equinor ASA. This file is part of the Open Porous Media project (OPM). @@ -20,14 +20,16 @@ #ifndef GUIDE_RATE_HPP #define GUIDE_RATE_HPP -#include #include #include +#include #include -#include +#include + #include #include +#include namespace Opm { diff --git a/src/opm/parser/eclipse/EclipseState/Schedule/Group/GuideRate.cpp b/src/opm/parser/eclipse/EclipseState/Schedule/Group/GuideRate.cpp index 374b468de..7e31af0a0 100644 --- a/src/opm/parser/eclipse/EclipseState/Schedule/Group/GuideRate.cpp +++ b/src/opm/parser/eclipse/EclipseState/Schedule/Group/GuideRate.cpp @@ -1,5 +1,5 @@ /* - Copyright 2019 Equinor ASA. + Copyright 2019, 2020 Equinor ASA. This file is part of the Open Porous Media project (OPM). @@ -22,39 +22,21 @@ namespace Opm { -double GuideRate::RateVector::eval(Well::GuideRateTarget target) const { - if (target == Well::GuideRateTarget::OIL) - return this->oil_rat; - if (target == Well::GuideRateTarget::GAS) - return this->gas_rat; - if (target == Well::GuideRateTarget::LIQ) - return this->oil_rat + this->wat_rat; - if (target == Well::GuideRateTarget::WAT) - return this->wat_rat; - - throw std::logic_error("Don't know how to convert .... "); +double GuideRate::RateVector::eval(Well::GuideRateTarget target) const +{ + return this->eval(GuideRateModel::convert_target(target)); } -double GuideRate::RateVector::eval(Group::GuideRateTarget target) const { - if (target == Group::GuideRateTarget::OIL) - return this->oil_rat; - - if (target == Group::GuideRateTarget::GAS) - return this->gas_rat; - - if (target == Group::GuideRateTarget::LIQ) - return this->oil_rat + this->wat_rat; - - if (target == Group::GuideRateTarget::WAT) - return this->wat_rat; - - throw std::logic_error("Don't know how to convert .... "); +double GuideRate::RateVector::eval(Group::GuideRateTarget target) const +{ + return this->eval(GuideRateModel::convert_target(target)); } -double GuideRate::RateVector::eval(GuideRateModel::Target target) const { +double GuideRate::RateVector::eval(GuideRateModel::Target target) const +{ if (target == GuideRateModel::Target::OIL) return this->oil_rat; @@ -67,7 +49,9 @@ double GuideRate::RateVector::eval(GuideRateModel::Target target) const { if (target == GuideRateModel::Target::WAT) return this->wat_rat; - throw std::logic_error("Don't know how to convert .... "); + throw std::logic_error { + "Don't know how to convert target type " + std::to_string(static_cast(target)) + }; }