Introduce WellState::stopWell()

This commit is contained in:
Joakim Hove 2020-12-10 09:54:37 +01:00
parent bd3fa0af88
commit f5f3d8a98e
3 changed files with 10 additions and 2 deletions

View File

@ -748,7 +748,7 @@ namespace Opm {
continue; continue;
} else { } else {
// stopped wells are added to the container but marked as stopped // stopped wells are added to the container but marked as stopped
well_state_.thp()[w] = 0.; well_state_.stopWell(w);
wellIsStopped = true; wellIsStopped = true;
} }
} }
@ -795,7 +795,7 @@ namespace Opm {
} }
if (well_status == Well::Status::STOP) { if (well_status == Well::Status::STOP) {
well_state_.thp()[w] = 0.; well_state_.stopWell(w);
wellIsStopped = true; wellIsStopped = true;
} }

View File

@ -225,6 +225,10 @@ namespace Opm
this->wellrates_[np * well_index + p] = 0; this->wellrates_[np * well_index + p] = 0;
} }
virtual void stopWell(int well_index) {
this->status_[well_index] = Well::Status::STOP;
this->thp_[well_index] = 0;
}
virtual data::Wells report(const PhaseUsage& pu, const int* globalCellIdxMap) const virtual data::Wells report(const PhaseUsage& pu, const int* globalCellIdxMap) const
{ {

View File

@ -1075,6 +1075,10 @@ namespace Opm
this->well_reservoir_rates_[np * well_index + p] = 0; this->well_reservoir_rates_[np * well_index + p] = 0;
} }
virtual void stopWell(int well_index) override {
WellState::stopWell(well_index);
}
template<class Comm> template<class Comm>
void communicateGroupRates(const Comm& comm) void communicateGroupRates(const Comm& comm)
{ {