AggregateUDQData.hpp
Go to the documentation of this file.
1/*
2 Copyright (c) 2018 Statoil ASA
3
4 This file is part of the Open Porous Media project (OPM).
5
6 OPM is free software: you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation, either version 3 of the License, or
9 (at your option) any later version.
10
11 OPM is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with OPM. If not, see <http://www.gnu.org/licenses/>.
18*/
19
20#ifndef OPM_AGGREGATE_UDQ_DATA_HPP
21#define OPM_AGGREGATE_UDQ_DATA_HPP
22
25
34
35#include <cstddef>
36#include <string>
37#include <vector>
38#include <map>
39
40namespace Opm {
41 class Schedule;
42 class UDQInput;
43 class UDQActive;
44} // Opm
45
46namespace Opm { namespace RestartIO { namespace Helpers {
47
48class igphData {
49public:
50 const std::vector<int> ig_phase(const Opm::Schedule& sched, const std::size_t simStep, const std::vector<int>& inteHead);
51};
52
54{
55public:
56 explicit AggregateUDQData(const std::vector<int>& udqDims);
57
59 const std::size_t simStep,
60 const Opm::SummaryState& st,
61 const std::vector<int>& inteHead);
62
63 const std::vector<int>& getIUDQ() const
64 {
65 return this->iUDQ_.data();
66 }
67
68 const std::vector<int>& getIUAD() const
69 {
70 return this->iUAD_.data();
71 }
72
73 const std::vector<EclIO::PaddedOutputString<8>>& getZUDN() const
74 {
75 return this->zUDN_.data();
76 }
77
78 const std::vector<EclIO::PaddedOutputString<8>>& getZUDL() const
79 {
80 return this->zUDL_.data();
81 }
82
83 const std::vector<int>& getIGPH() const
84 {
85 return this->iGPH_.data();
86 }
87
88 const std::vector<int>& getIUAP() const
89 {
90 return this->iUAP_.data();
91 }
92
93 const std::vector<double>& getDUDW() const
94 {
95 return this->dUDW_.data();
96 }
97
98 const std::vector<double>& getDUDG() const
99 {
100 return this->dUDG_.data();
101 }
102
103 const std::vector<double>& getDUDF() const
104 {
105 return this->dUDF_.data();
106 }
107
108private:
110 WindowedArray<int> iUDQ_;
111
113 WindowedArray<int> iUAD_;
114
115
118
121
123 WindowedArray<int> iGPH_;
124
126 WindowedArray<int> iUAP_;
127
130
133
136
137
138};
139
140}}} // Opm::RestartIO::Helpers
141
142#endif //OPM_AGGREGATE_WELL_DATA_HPP
Definition: AggregateUDQData.hpp:54
AggregateUDQData(const std::vector< int > &udqDims)
const std::vector< EclIO::PaddedOutputString< 8 > > & getZUDL() const
Definition: AggregateUDQData.hpp:78
const std::vector< double > & getDUDG() const
Definition: AggregateUDQData.hpp:98
const std::vector< int > & getIUAD() const
Definition: AggregateUDQData.hpp:68
const std::vector< double > & getDUDW() const
Definition: AggregateUDQData.hpp:93
const std::vector< int > & getIGPH() const
Definition: AggregateUDQData.hpp:83
const std::vector< EclIO::PaddedOutputString< 8 > > & getZUDN() const
Definition: AggregateUDQData.hpp:73
const std::vector< int > & getIUAP() const
Definition: AggregateUDQData.hpp:88
void captureDeclaredUDQData(const Opm::Schedule &sched, const std::size_t simStep, const Opm::SummaryState &st, const std::vector< int > &inteHead)
const std::vector< int > & getIUDQ() const
Definition: AggregateUDQData.hpp:63
const std::vector< double > & getDUDF() const
Definition: AggregateUDQData.hpp:103
const std::vector< T > & data() const
Definition: WindowedArray.hpp:126
Definition: AggregateUDQData.hpp:48
const std::vector< int > ig_phase(const Opm::Schedule &sched, const std::size_t simStep, const std::vector< int > &inteHead)
Definition: Schedule.hpp:113
Definition: SummaryState.hpp:65
Definition: A.hpp:4