From 7eeadd8cb5e694b5478a9a004cb2c9f537f95b8f Mon Sep 17 00:00:00 2001 From: Arne Morten Kvarving Date: Tue, 10 Dec 2019 14:07:40 +0100 Subject: [PATCH] make WellEconProductionLimit constructible from variables --- .../Well/WellEconProductionLimits.hpp | 11 +++++++ .../Well/WellEconProductionLimits.cpp | 33 +++++++++++++++++++ 2 files changed, 44 insertions(+) diff --git a/opm/parser/eclipse/EclipseState/Schedule/Well/WellEconProductionLimits.hpp b/opm/parser/eclipse/EclipseState/Schedule/Well/WellEconProductionLimits.hpp index 9e7d36974..aa2585698 100644 --- a/opm/parser/eclipse/EclipseState/Schedule/Well/WellEconProductionLimits.hpp +++ b/opm/parser/eclipse/EclipseState/Schedule/Well/WellEconProductionLimits.hpp @@ -55,6 +55,17 @@ namespace Opm { explicit WellEconProductionLimits(const DeckRecord& record); WellEconProductionLimits(); + WellEconProductionLimits(double minOilRate, double minGasRate, + double maxWaterCut, double maxGasOilRatio, + double maxWaterGasRatio, + EconWorkover workover, bool endRun, + const std::string& followonWell, + QuantityLimit quantityLimit, + double secondaryMaxWaterCut, + EconWorkover workoverSecondary, + double maxGasLiquidRatio, + double minLiquidRate, double maxTemperature, + double minReservoirFluidRate); // TODO: not handling things related to m_secondary_max_water_cut // for the moment. diff --git a/src/opm/parser/eclipse/EclipseState/Schedule/Well/WellEconProductionLimits.cpp b/src/opm/parser/eclipse/EclipseState/Schedule/Well/WellEconProductionLimits.cpp index 8baac3376..2b6c71165 100644 --- a/src/opm/parser/eclipse/EclipseState/Schedule/Well/WellEconProductionLimits.cpp +++ b/src/opm/parser/eclipse/EclipseState/Schedule/Well/WellEconProductionLimits.cpp @@ -47,6 +47,39 @@ namespace Opm { { } + WellEconProductionLimits::WellEconProductionLimits(double minOilRate, + double minGasRate, + double maxWaterCut, + double maxGasOilRatio, + double maxWaterGasRatio, + EconWorkover workover, + bool endRun, + const std::string& followonWell, + QuantityLimit quantityLimit, + double secondaryMaxWaterCut, + EconWorkover workoverSecondary, + double maxGasLiquidRatio, + double minLiquidRate, + double maxTemperature, + double minReservoirFluidRate) + : m_min_oil_rate(minOilRate) + , m_min_gas_rate(minGasRate) + , m_max_water_cut(maxWaterCut) + , m_max_gas_oil_ratio(maxGasOilRatio) + , m_max_water_gas_ratio(maxWaterGasRatio) + , m_workover(workover) + , m_end_run(endRun) + , m_followon_well(followonWell) + , m_quantity_limit(quantityLimit) + , m_secondary_max_water_cut(secondaryMaxWaterCut) + , m_workover_secondary(workoverSecondary) + , m_max_gas_liquid_ratio(maxGasLiquidRatio) + , m_min_liquid_rate(minLiquidRate) + , m_max_temperature(maxTemperature) + , m_min_reservoir_fluid_rate(minReservoirFluidRate) + { + } + WellEconProductionLimits::WellEconProductionLimits(const DeckRecord& record)