mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-25 18:55:30 -06:00
update solution for WAG injectors
This commit is contained in:
@@ -383,10 +383,11 @@ namespace Opm {
|
|||||||
const auto& comm = ebosSimulator_.vanguard().grid().comm();
|
const auto& comm = ebosSimulator_.vanguard().grid().comm();
|
||||||
WellGroupHelpers::updateGuideRatesForWells(schedule(), phase_usage_, reportStepIdx, simulationTime, well_state_, comm, guideRate_.get());
|
WellGroupHelpers::updateGuideRatesForWells(schedule(), phase_usage_, reportStepIdx, simulationTime, well_state_, comm, guideRate_.get());
|
||||||
try {
|
try {
|
||||||
// Compute initial well solution for new wells
|
// Compute initial well solution for new wells and injectors that change injection type i.e. WAG.
|
||||||
for (auto& well : well_container_) {
|
for (auto& well : well_container_) {
|
||||||
const uint64_t effective_events_mask = ScheduleEvents::WELL_STATUS_CHANGE
|
const uint64_t effective_events_mask = ScheduleEvents::WELL_STATUS_CHANGE
|
||||||
+ ScheduleEvents::NEW_WELL;
|
+ ScheduleEvents::INJECTION_TYPE_CHANGED
|
||||||
|
+ ScheduleEvents::NEW_WELL;
|
||||||
|
|
||||||
const auto& events = schedule()[reportStepIdx].wellgroup_events();
|
const auto& events = schedule()[reportStepIdx].wellgroup_events();
|
||||||
const bool event = report_step_starts_ && events.hasEvent(well->name(), effective_events_mask);
|
const bool event = report_step_starts_ && events.hasEvent(well->name(), effective_events_mask);
|
||||||
|
|||||||
@@ -207,7 +207,7 @@ namespace Opm
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (is_producer_[newIndex] != prevState->is_producer_[oldIndex]) {
|
if (is_producer_[newIndex] != prevState->is_producer_[oldIndex]) {
|
||||||
// Well changed from injector from/to producer, do not use its privious values.
|
// Well changed to/from injector from/to producer, do not use its privious values.
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user