19#ifndef WELLTEST_CONFIG_H
20#define WELLTEST_CONFIG_H
24#include <unordered_map>
39namespace EclConfigReason {
40constexpr int PHYSICAL = 2;
41constexpr int ECONOMIC = 3;
42constexpr int GCON = 5;
43constexpr int THPLimit = 7;
44constexpr int CONNECTION = 11;
47namespace EclCloseReason {
48constexpr int PHYSICAL = 3;
49constexpr int ECONOMIC = 5;
50constexpr int GCON = 6;
51constexpr int THPLimit = 9;
67 using Reason = WTest::Reason;
76 int begin_report_step;
78 bool operator==(
const WTESTWell& data)
const {
79 return name == data.name &&
80 reasons == data.reasons &&
81 test_interval == data.test_interval &&
82 num_test == data.num_test &&
83 startup_time == data.startup_time &&
84 begin_report_step == data.begin_report_step;
88 WTESTWell(
const std::string& name,
int reasons,
double test_interval,
int num_test,
double startup_time,
int begin_report_step);
89 bool test_well(
int num_attempt,
double elapsed)
const;
91 static int inverse_ecl_reasons(
int ecl_reasons);
92 static WTESTWell serializationTestObject();
93 int ecl_reasons()
const;
95 template<
class Serializer>
100 serializer(test_interval);
101 serializer(num_test);
102 serializer(startup_time);
103 serializer(begin_report_step);
111 void add_well(
const std::string& well,
int reasons,
double test_interval,
112 int num_test,
double startup_time,
int current_step);
113 void add_well(
const std::string& well,
const std::string& reasons,
double test_interval,
114 int num_test,
double startup_time,
int current_step);
115 void drop_well(
const std::string& well);
116 bool has(
const std::string& well)
const;
117 bool has(
const std::string& well, Reason reason)
const;
118 const WTESTWell& get(
const std::string& well)
const;
120 static std::string reasonToString(
const Reason reason);
125 template<
class Serializer>
132 std::unordered_map<std::string, WTESTWell> wells;
Class for (de-)serializing.
Definition: Serializer.hpp:84
Definition: WellTestConfig.hpp:64
This class implements a small container which holds the transmissibility mulitpliers for all the face...
Definition: Exceptions.hpp:30
Definition: WellTestConfig.hpp:68