20 #ifndef OPM_AGGREGATE_AQUIFER_DATA_HPP
21 #define OPM_AGGREGATE_AQUIFER_DATA_HPP
23 #include <opm/output/eclipse/InteHEAD.hpp>
26 #include <opm/output/data/Aquifer.hpp>
37 namespace Opm {
namespace RestartIO {
namespace Helpers {
78 const data::Aquifers& aquData,
89 return this->maxActiveAnalyticAquiferID_;
95 return this->integerAnalyticAq_.
data();
101 return this->singleprecAnalyticAq_.
data();
107 return this->doubleprecAnalyticAq_.
data();
113 return this->integerNumericAq_.
data();
119 return this->doubleprecNumericAq_.
data();
129 return this->integerAnalyticAquiferConn_[aquiferID - 1].data();
140 return this->singleprecAnalyticAquiferConn_[aquiferID - 1].data();
152 return this->doubleprecAnalyticAquiferConn_[aquiferID - 1].data();
156 int maxActiveAnalyticAquiferID_{0};
158 std::vector<int> numActiveConn_{};
159 std::vector<double> totalInflux_{};
162 WindowedArray<int> integerAnalyticAq_;
165 WindowedArray<float> singleprecAnalyticAq_;
168 WindowedArray<double> doubleprecAnalyticAq_;
171 WindowedArray<int> integerNumericAq_;
174 WindowedArray<double> doubleprecNumericAq_;
178 std::vector<WindowedArray<int>> integerAnalyticAquiferConn_;
182 std::vector<WindowedArray<float>> singleprecAnalyticAquiferConn_;
186 std::vector<WindowedArray<double>> doubleprecAnalyticAquiferConn_;
Provide facilities to simplify constructing restart vectors such as IWEL or RSEG.
Definition: AquiferConfig.hpp:44
About cell information and dimension: The actual grid information is held in a pointer to an ERT ecl_...
Definition: EclipseGrid.hpp:54
Definition: AggregateAquiferData.hpp:40
AggregateAquiferData(const InteHEAD::AquiferDims &aqDims, const AquiferConfig &aqConfig, const EclipseGrid &grid)
Constructor.
const std::vector< double > & getNumericAquiferDoublePrecData() const
Retrieve Double Precision Aquifer Data Array for Numeric Aquifers.
Definition: AggregateAquiferData.hpp:117
const std::vector< double > & getDoublePrecAquiferData() const
Retrieve Floating-Point (Double Precision) Aquifer Data Array.
Definition: AggregateAquiferData.hpp:105
const std::vector< int > & getIntegerAquiferConnectionData(const int aquiferID) const
Retrieve Integer Aquifer Connection Data Array (analytic aquifers)
Definition: AggregateAquiferData.hpp:127
int maximumActiveAnalyticAquiferID() const
Retrieve the maximum active aquifer ID over all analytic aquifers.
Definition: AggregateAquiferData.hpp:87
void captureDynamicdAquiferData(const AquiferConfig &aqConfig, const data::Aquifers &aquData, const SummaryState &summaryState, const UnitSystem &usys)
Linearise dynamic information pertinent to analytic aquifers into internal arrays.
const std::vector< double > & getDoublePrecAquiferConnectionData(const int aquiferID) const
Retrieve Floating-Point (Double Precision) Aquifer Connection Data Array (analytic aquifers)
Definition: AggregateAquiferData.hpp:150
const std::vector< int > & getIntegerAquiferData() const
Retrieve Integer Aquifer Data Array.
Definition: AggregateAquiferData.hpp:93
const std::vector< float > & getSinglePrecAquiferConnectionData(const int aquiferID) const
Retrieve Floating-Point (Real) Aquifer Connection Data Array (analytic aquifers)
Definition: AggregateAquiferData.hpp:138
const std::vector< int > & getNumericAquiferIntegerData() const
Retrieve Integer Aquifer Data Array for Numeric Aquifers.
Definition: AggregateAquiferData.hpp:111
const std::vector< float > & getSinglePrecAquiferData() const
Retrieve Floating-Point (Real) Aquifer Data Array.
Definition: AggregateAquiferData.hpp:99
const std::vector< T > & data() const
Get read-only access to full, linearised data items for all windows.
Definition: WindowedArray.hpp:131
Definition: SummaryState.hpp:69
Definition: UnitSystem.hpp:33
This class implements a small container which holds the transmissibility mulitpliers for all the face...
Definition: Exceptions.hpp:29
Definition: InteHEAD.hpp:149