SingleWellState.hpp: include WellEnums.hpp instead of Well.hpp

This commit is contained in:
Arne Morten Kvarving 2023-01-18 11:19:22 +01:00
parent 2a6b2b4957
commit f109718242
2 changed files with 10 additions and 5 deletions

View File

@ -20,6 +20,8 @@
#include <config.h> #include <config.h>
#include <opm/simulators/wells/SingleWellState.hpp> #include <opm/simulators/wells/SingleWellState.hpp>
#include <opm/input/eclipse/Schedule/Well/Well.hpp>
#include <opm/input/eclipse/Units/Units.hpp> #include <opm/input/eclipse/Units/Units.hpp>
#include <opm/simulators/wells/PerforationData.hpp> #include <opm/simulators/wells/PerforationData.hpp>

View File

@ -23,7 +23,7 @@
#include <functional> #include <functional>
#include <vector> #include <vector>
#include <opm/input/eclipse/Schedule/Well/Well.hpp> #include <opm/input/eclipse/Schedule/Well/WellEnums.hpp>
#include <opm/input/eclipse/Schedule/Events.hpp> #include <opm/input/eclipse/Schedule/Events.hpp>
#include <opm/simulators/wells/SegmentState.hpp> #include <opm/simulators/wells/SegmentState.hpp>
@ -34,6 +34,8 @@
namespace Opm { namespace Opm {
struct PerforationData; struct PerforationData;
class SummaryState;
class Well;
class SingleWellState { class SingleWellState {
public: public:
@ -48,7 +50,7 @@ public:
std::string name; std::string name;
std::reference_wrapper<const ParallelWellInfo> parallel_info; std::reference_wrapper<const ParallelWellInfo> parallel_info;
Well::Status status{Well::Status::OPEN}; WellStatus status{WellStatus::OPEN};
bool producer; bool producer;
PhaseUsage pu; PhaseUsage pu;
double bhp{0}; double bhp{0};
@ -66,8 +68,8 @@ public:
bool trivial_target; bool trivial_target;
SegmentState segments; SegmentState segments;
Events events; Events events;
Well::InjectorCMode injection_cmode{Well::InjectorCMode::CMODE_UNDEFINED}; WellInjectorCMode injection_cmode{WellInjectorCMode::CMODE_UNDEFINED};
Well::ProducerCMode production_cmode{Well::ProducerCMode::CMODE_UNDEFINED}; WellProducerCMode production_cmode{WellProducerCMode::CMODE_UNDEFINED};
/// Special purpose method to support dynamically rescaling a well's /// Special purpose method to support dynamically rescaling a well's
@ -80,7 +82,7 @@ public:
void update_producer_targets(const Well& ecl_well, const SummaryState& st); void update_producer_targets(const Well& ecl_well, const SummaryState& st);
void update_injector_targets(const Well& ecl_well, const SummaryState& st); void update_injector_targets(const Well& ecl_well, const SummaryState& st);
void update_targets(const Well& ecl_well, const SummaryState& st); void update_targets(const Well& ecl_well, const SummaryState& st);
void updateStatus(Well::Status status); void updateStatus(WellStatus status);
void init_timestep(const SingleWellState& other); void init_timestep(const SingleWellState& other);
void shut(); void shut();
void stop(); void stop();
@ -92,6 +94,7 @@ public:
double sum_solvent_rates() const; double sum_solvent_rates() const;
double sum_polymer_rates() const; double sum_polymer_rates() const;
double sum_brine_rates() const; double sum_brine_rates() const;
private: private:
double sum_connection_rates(const std::vector<double>& connection_rates) const; double sum_connection_rates(const std::vector<double>& connection_rates) const;
}; };