allow NONE for item 7 in GCONPROD

This commit is contained in:
Paul
2023-05-10 11:25:05 +02:00
parent 4a2cc1a64a
commit d6e73df9cf
2 changed files with 17 additions and 11 deletions

View File

@@ -130,6 +130,7 @@ namespace {
production.exceed_action = Opm::Group::ExceedActionFromInt(rst_group.exceed_action);
production.guide_rate_def = Opm::Group::GuideRateProdTargetFromInt(rst_group.prod_guide_rate_def);
//TODO allow also for ExceedAction::NONE (item 7 of GCONPROD)
if ((production.cmode == Opm::Group::ProductionCMode::ORAT) ||
(production.cmode == Opm::Group::ProductionCMode::WRAT) ||
(production.cmode == Opm::Group::ProductionCMode::GRAT) ||

View File

@@ -564,27 +564,32 @@ File {} line {}.)", wname, location.keyword, location.filename, location.lineno)
production.resv_target = resv_target;
production.available_group_control = availableForGroupControl;
if ((production.cmode == Group::ProductionCMode::ORAT) ||
(production.cmode == Group::ProductionCMode::WRAT) ||
(production.cmode == Group::ProductionCMode::GRAT) ||
(production.cmode == Group::ProductionCMode::LRAT))
production.exceed_action = Group::ExceedAction::RATE;
else
production.exceed_action = exceedAction;
// if ((production.cmode == Group::ProductionCMode::ORAT) ||
// (production.cmode == Group::ProductionCMode::WRAT) ||
// (production.cmode == Group::ProductionCMode::GRAT) ||
// (production.cmode == Group::ProductionCMode::LRAT))
// production.exceed_action = Group::ExceedAction::RATE;
// else
// production.exceed_action = exceedAction;
production.exceed_action = exceedAction;
production.production_controls = 0;
if (!apply_default_oil_target)
production.production_controls += static_cast<int>(Group::ProductionCMode::ORAT);
if (exceedAction == Group::ExceedAction::RATE)
production.production_controls += static_cast<int>(Group::ProductionCMode::ORAT);
if (!apply_default_gas_target)
production.production_controls += static_cast<int>(Group::ProductionCMode::GRAT);
if (exceedAction == Group::ExceedAction::RATE)
production.production_controls += static_cast<int>(Group::ProductionCMode::GRAT);
if (!apply_default_water_target)
production.production_controls += static_cast<int>(Group::ProductionCMode::WRAT);
if (exceedAction == Group::ExceedAction::RATE)
production.production_controls += static_cast<int>(Group::ProductionCMode::WRAT);
if (!apply_default_liquid_target)
production.production_controls += static_cast<int>(Group::ProductionCMode::LRAT);
if (exceedAction == Group::ExceedAction::RATE)
production.production_controls += static_cast<int>(Group::ProductionCMode::LRAT);
if (!apply_default_resv_target)
production.production_controls += static_cast<int>(Group::ProductionCMode::RESV);