24#ifndef OPM_BLACKOILAQUIFERMODEL_HEADER_INCLUDED
25#define OPM_BLACKOILAQUIFERMODEL_HEADER_INCLUDED
27#include <ebos/eclbaseaquifermodel.hh>
29#include <opm/input/eclipse/EclipseState/Aquifer/Aquancon.hpp>
30#include <opm/input/eclipse/EclipseState/Aquifer/AquiferCT.hpp>
31#include <opm/input/eclipse/EclipseState/Aquifer/Aquifetp.hpp>
33#include <opm/output/data/Aquifer.hpp>
35#include <opm/simulators/aquifers/AquiferCarterTracy.hpp>
36#include <opm/simulators/aquifers/AquiferFetkovich.hpp>
37#include <opm/simulators/aquifers/AquiferNumerical.hpp>
39#include <opm/grid/CpGrid.hpp>
40#ifdef USE_POLYHEDRALGRID
41#include <opm/grid/polyhedralgrid.hh>
44#include <dune/alugrid/grid.hh>
47#include <opm/material/densead/Math.hpp>
58 :
public std::bool_constant<false>
64 :
public std::bool_constant<true>
68#ifdef USE_POLYHEDRALGRID
71 :
public std::bool_constant<true>
77class SupportsFaceTag<Dune::ALUGrid<3, 3, Dune::cube, Dune::nonconforming>>
78 :
public std::bool_constant<true>
84template <
typename TypeTag>
94 void initialSolutionApplied();
95 void initFromRestart(
const data::Aquifers&
aquiferSoln);
99 void beginIteration();
101 template <
class Context>
108 data::Aquifers aquiferData()
const;
110 template <
class Restarter>
113 template <
class Restarter>
116 template<
class Serializer>
124 Simulator& simulator_;
127 std::vector<std::unique_ptr<AquiferInterface<TypeTag>>> aquifers;
136 void initializeStaticAquifers();
138 template <
typename AquiferType,
typename AquiferData>
139 std::unique_ptr<AquiferType>
142 std::string_view
aqType)
const;
148#include "BlackoilAquiferModel_impl.hpp"
Definition AquiferInterface.hpp:35
Class for handling the blackoil well model.
Definition BlackoilAquiferModel.hpp:86
Definition BlackoilAquiferModel.hpp:59
This file contains a set of helper functions used by VFPProd / VFPInj.
Definition BlackoilPhases.hpp:27