Merge pull request #3366 from akva2/welltestconfig.hpp_reduce_hotness

WellTestState: forward WellTestConfig
This commit is contained in:
Bård Skaflestad 2023-01-17 09:23:47 +01:00 committed by GitHub
commit 8e16ca04bd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 16 additions and 17 deletions

View File

@ -51,19 +51,20 @@ constexpr int GCON = 6;
constexpr int THPLimit = 9;
}
enum class Reason {
PHYSICAL = 1,
ECONOMIC = 2,
GROUP = 4,
THP_DESIGN=8,
COMPLETION=16,
};
}
class WellTestConfig {
public:
enum class Reason {
PHYSICAL = 1,
ECONOMIC = 2,
GROUP = 4,
THP_DESIGN=8,
COMPLETION=16,
};
using Reason = WTest::Reason;
struct WTESTWell {
std::string name;
int reasons;

View File

@ -26,11 +26,6 @@
#include <vector>
#include <opm/io/eclipse/rst/state.hpp>
#include <opm/input/eclipse/Schedule/Well/WellTestConfig.hpp>
#include <opm/input/eclipse/Schedule/Well/Well.hpp>
namespace Opm {
namespace {
template<class BufferType, class M>
@ -57,7 +52,10 @@ void unpack_map(BufferType& buffer, M& m) {
}
namespace Opm {
class WellTestConfig;
namespace WTest { enum class Reason; }
class WellTestState {
public:
@ -92,7 +90,7 @@ public:
struct WTestWell {
std::string name;
WellTestConfig::Reason reason;
WTest::Reason reason;
double last_test;
int num_attempt{0};
@ -100,10 +98,10 @@ public:
std::optional<int> wtest_report_step;
WTestWell() = default;
WTestWell(const std::string& wname, WellTestConfig::Reason reason_, double last_test);
WTestWell(const std::string& wname, WTest::Reason reason_, double last_test);
int int_reason() const;
static WellTestConfig::Reason inverse_ecl_reason(int ecl_reason);
static WTest::Reason inverse_ecl_reason(int ecl_reason);
bool operator==(const WTestWell& other) const {
return this->name == other.name &&
@ -212,7 +210,7 @@ public:
That is the reason we do not have any xxx_is_open() predicates.
*/
void close_well(const std::string& well_name, WellTestConfig::Reason reason, double sim_time);
void close_well(const std::string& well_name, WTest::Reason reason, double sim_time);
bool well_is_closed(const std::string& well_name) const;
void open_well(const std::string& well_name);
std::size_t num_closed_wells() const;