23#ifndef OPM_BLACKOILAQUIFERMODEL_HEADER_INCLUDED
24#define OPM_BLACKOILAQUIFERMODEL_HEADER_INCLUDED
26#include <opm/input/eclipse/EclipseState/Aquifer/Aquancon.hpp>
27#include <opm/input/eclipse/EclipseState/Aquifer/AquiferCT.hpp>
28#include <opm/input/eclipse/EclipseState/Aquifer/Aquifetp.hpp>
30#include <opm/output/data/Aquifer.hpp>
32#include <opm/simulators/aquifers/AquiferCarterTracy.hpp>
33#include <opm/simulators/aquifers/AquiferFetkovich.hpp>
34#include <opm/simulators/aquifers/AquiferNumerical.hpp>
35#include <opm/simulators/aquifers/SupportsFaceTag.hpp>
39#include <opm/material/densead/Math.hpp>
48template <
typename TypeTag>
58 void initialSolutionApplied();
59 void initFromRestart(
const data::Aquifers&
aquiferSoln);
63 void beginIteration();
65 template <
class Context>
72 data::Aquifers aquiferData()
const;
74 template <
class Restarter>
77 template <
class Restarter>
80 template<
class Serializer>
88 Simulator& simulator_;
91 std::vector<std::unique_ptr<AquiferInterface<TypeTag>>> aquifers;
100 void initializeStaticAquifers();
101 void initializeRestartDynamicAquifers();
103 bool needRestartDynamicAquifers()
const;
105 template <
typename AquiferType,
typename AquiferData>
106 std::unique_ptr<AquiferType>
109 std::string_view
aqType)
const;
111 void computeConnectionAreaFraction()
const;
116#ifndef OPM_BLACKOILAQUIFERMODEL_IMPL_HEADER_INCLUDED
117#include "BlackoilAquiferModel_impl.hpp"
The base class which specifies the API of aquifer models.
Class for handling the blackoil aquifer model.
Definition BlackoilAquiferModel.hpp:50
This file contains a set of helper functions used by VFPProd / VFPInj.
Definition blackoilboundaryratevector.hh:37
constexpr auto getPropValue()
get the value data member of a property
Definition propertysystem.hh:242
typename Properties::Detail::GetPropImpl< TypeTag, Property >::type::type GetPropType
get the type alias defined in the property (equivalent to old macro GET_PROP_TYPE(....
Definition propertysystem.hh:235