38 explicit EModel(
const std::string& filename);
40 bool hasParameter(
const std::string &name)
const;
42 int getActiveReportStep() {
return activeReportStep; }
43 bool hasReportStep(
int rstep);
44 void setReportStep(
int rstep);
46 std::vector<std::tuple<std::string, Opm::EclIO::eclArrType>> getListOfParameters()
const;
48 std::vector<int> getListOfReportSteps()
const {
return rstfile->listOfReportStepNumbers(); };
51 const std::vector<T>& getParam(
const std::string& name);
56 void addFilter(
const std::string& param1,
const std::string& opperator, T num);
59 void addFilter(
const std::string& param1,
const std::string& opperator, T num1, T num2);
61 void setDepthfwl(
const std::vector<float>& fwl);
63 void addHCvolFilter();
65 int getNumberOfActiveCells();
68 std::tuple<int, int, int> gridDims(){
return std::make_tuple(nI, nJ, nK); };
78 bool activeFilter, celVolCalculated;
80 std::vector<float> filteredFloatVect;
81 std::vector<int> filteredIntVect;
83 std::vector<float> PORV;
84 std::vector<float> CELLVOL;
85 std::vector<int> I, J, K;
86 std::vector<bool> ActFilter;
89 std::optional<Opm::EclipseGrid> grid;
90 std::optional<Opm::EclIO::ERst> rstfile;
93 std::map<std::string, int> initParam;
94 std::vector<std::string> initParamName;
95 std::vector<Opm::EclIO::eclArrType> initParamType;
96 std::vector<int> indInInitEclfile;
98 std::map<std::string, int> solutionParam;
99 std::vector<std::string> solutionParamName;
100 std::vector<Opm::EclIO::eclArrType> solutionParamType;
101 std::vector<int> indInRstEclfile;
104 std::vector<float> FreeWaterlevel = {};
106 void get_cell_volumes_from_grid();
107 void initSolutionData(
int rstep);
109 bool hasInitParameter(
const std::string &name)
const;
110 bool hasSolutionParameter(
const std::string &name)
const;
112 const std::vector<float>& getInitFloat(
const std::string& name);
114 const std::vector<float>& getSolutionFloat(
const std::string& name);
116 template <
typename T>
117 const std::vector<T>& get_filter_param(
const std::string& param1);
119 template <
typename T>
120 void updateActiveFilter(
const std::vector<T>& paramVect,
const std::string& opperator, T value);
122 template <
typename T>
123 void updateActiveFilter(
const std::vector<T>& paramVect,
const std::string& opperator, T value1, T value2);