20#ifndef OPM_RESTART_AQUIFER_HPP
21#define OPM_RESTART_AQUIFER_HPP
23#include <opm/input/eclipse/EclipseState/Grid/FaceDir.hpp>
28#include <unordered_map>
38namespace Opm {
namespace EclIO {
39 class RestartFileView;
42namespace Opm {
namespace RestartIO {
55 double inner_radius{};
56 double permeability{};
58 double angle_fraction{};
59 double initial_pressure{};
61 double time_constant{};
62 double influx_constant{};
63 double water_density{};
64 double water_viscosity{};
73 double initial_watvolume{};
76 double initial_pressure{};
77 double time_constant{};
83 std::size_t global_index;
85 double effective_facearea;
86 FaceDir::DirEnum face_dir;
89 const std::vector<Cell>& cells()
const
94 void reserve(
const std::vector<Cell>::size_type cpty)
96 this->cells_.reserve(cpty);
99 template <
typename... Args>
100 void emplace_back(Args&&... args)
102 this->cells_.push_back(Cell { std::forward<Args>(args)... });
106 std::vector<Cell> cells_{};
109 explicit RstAquifer(std::shared_ptr<EclIO::RestartFileView> rstView,
110 const EclipseGrid* grid,
111 const UnitSystem& usys);
113 RstAquifer(
const RstAquifer& rhs);
114 RstAquifer(RstAquifer&& rhs);
115 RstAquifer& operator=(
const RstAquifer& rhs);
116 RstAquifer& operator=(RstAquifer&& rhs);
120 bool hasAnalyticAquifers()
const;
122 const std::vector<CarterTracy>& carterTracy()
const;
123 const std::vector<Fetkovich>& fetkovich()
const;
124 const std::unordered_map<int, Connections>& connections()
const;
127 class Implementation;
128 std::unique_ptr<Implementation> pImpl_;
Definition: aquifer.hpp:80
Definition: aquifer.hpp:45
This class implements a small container which holds the transmissibility mulitpliers for all the face...
Definition: Exceptions.hpp:29
Definition: aquifer.hpp:47
Definition: aquifer.hpp:82
Definition: aquifer.hpp:67