mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-25 18:55:30 -06:00
Use enum Well::Status for well status in WellState
This commit is contained in:
@@ -69,7 +69,7 @@ namespace Opm
|
|||||||
// const int np = wells->number_of_phases;
|
// const int np = wells->number_of_phases;
|
||||||
const int np = pu.num_phases;
|
const int np = pu.num_phases;
|
||||||
np_ = np;
|
np_ = np;
|
||||||
open_for_output_.assign(nw, true);
|
status_.assign(nw, Well::Status::OPEN);
|
||||||
bhp_.resize(nw, 0.0);
|
bhp_.resize(nw, 0.0);
|
||||||
thp_.resize(nw, 0.0);
|
thp_.resize(nw, 0.0);
|
||||||
temperature_.resize(nw, 273.15 + 15.56); // standard condition temperature
|
temperature_.resize(nw, 273.15 + 15.56); // standard condition temperature
|
||||||
@@ -212,9 +212,12 @@ namespace Opm
|
|||||||
return np_;
|
return np_;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void openWell(int well_index) {
|
||||||
|
this->status_[well_index] = Well::Status::OPEN;
|
||||||
|
}
|
||||||
|
|
||||||
virtual void shutWell(int well_index) {
|
virtual void shutWell(int well_index) {
|
||||||
this->open_for_output_[well_index] = false;
|
this->status_[well_index] = Well::Status::SHUT;
|
||||||
this->thp_[well_index] = 0;
|
this->thp_[well_index] = 0;
|
||||||
this->bhp_[well_index] = 0;
|
this->bhp_[well_index] = 0;
|
||||||
const int np = numPhases();
|
const int np = numPhases();
|
||||||
@@ -230,7 +233,7 @@ namespace Opm
|
|||||||
data::Wells dw;
|
data::Wells dw;
|
||||||
for( const auto& itr : this->wellMap_ ) {
|
for( const auto& itr : this->wellMap_ ) {
|
||||||
const auto well_index = itr.second[ 0 ];
|
const auto well_index = itr.second[ 0 ];
|
||||||
if (!this->open_for_output_[well_index])
|
if (this->status_[well_index] != Well::Status::OPEN)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
const auto& pwinfo = *parallel_well_info_[well_index];
|
const auto& pwinfo = *parallel_well_info_[well_index];
|
||||||
@@ -307,7 +310,7 @@ namespace Opm
|
|||||||
std::vector<double> perfpress_;
|
std::vector<double> perfpress_;
|
||||||
int np_;
|
int np_;
|
||||||
protected:
|
protected:
|
||||||
std::vector<bool> open_for_output_;
|
std::vector<Well::Status> status_;
|
||||||
private:
|
private:
|
||||||
|
|
||||||
WellMapType wellMap_;
|
WellMapType wellMap_;
|
||||||
|
|||||||
@@ -559,7 +559,7 @@ namespace Opm
|
|||||||
for( const auto& wt : this->wellMap() ) {
|
for( const auto& wt : this->wellMap() ) {
|
||||||
const auto w = wt.second[ 0 ];
|
const auto w = wt.second[ 0 ];
|
||||||
const auto& pwinfo = *parallel_well_info_[w];
|
const auto& pwinfo = *parallel_well_info_[w];
|
||||||
if (!this->open_for_output_[w] || !pwinfo.isOwner())
|
if ((this->status_[w] != Well::Status::OPEN) || !pwinfo.isOwner())
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
auto& well = res.at( wt.first );
|
auto& well = res.at( wt.first );
|
||||||
@@ -1178,7 +1178,7 @@ namespace Opm
|
|||||||
if (it != end) {
|
if (it != end) {
|
||||||
// ... set the GRUP/not GRUP states.
|
// ... set the GRUP/not GRUP states.
|
||||||
const int well_index = it->second[0];
|
const int well_index = it->second[0];
|
||||||
if (!this->open_for_output_[well_index]) {
|
if (this->status_[well_index] != Well::Status::OPEN) {
|
||||||
// Well is shut.
|
// Well is shut.
|
||||||
if (well.isInjector()) {
|
if (well.isInjector()) {
|
||||||
globalIsInjectionGrup_[global_well_index] = 0;
|
globalIsInjectionGrup_[global_well_index] = 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user