My Project
Opm::AquiferInterface< TypeTag > Class Template Referenceabstract
Inheritance diagram for Opm::AquiferInterface< TypeTag >:
Opm::AquiferCarterTracy< TypeTag > Opm::AquiferFetkovich< TypeTag >

Public Types

enum  { enableTemperature = getPropValue<TypeTag, Properties::EnableTemperature>() }
 
enum  { enableEnergy = getPropValue<TypeTag, Properties::EnableEnergy>() }
 
enum  { enableBrine = getPropValue<TypeTag, Properties::EnableBrine>() }
 
enum  { enableEvaporation = getPropValue<TypeTag, Properties::EnableEvaporation>() }
 
enum  { enableSaltPrecipitation = getPropValue<TypeTag, Properties::EnableSaltPrecipitation>() }
 
using Simulator = GetPropType< TypeTag, Properties::Simulator >
 
using ElementContext = GetPropType< TypeTag, Properties::ElementContext >
 
using FluidSystem = GetPropType< TypeTag, Properties::FluidSystem >
 
using BlackoilIndices = GetPropType< TypeTag, Properties::Indices >
 
using RateVector = GetPropType< TypeTag, Properties::RateVector >
 
using IntensiveQuantities = GetPropType< TypeTag, Properties::IntensiveQuantities >
 
using ElementMapper = GetPropType< TypeTag, Properties::ElementMapper >
 
typedef double Scalar
 
typedef DenseAd::Evaluation< double, numEq > Eval
 
typedef BlackOilFluidState< Eval, FluidSystem, enableTemperature, enableEnergy, BlackoilIndices::gasEnabled, enableEvaporation, enableBrine, enableSaltPrecipitation, BlackoilIndices::numPhases > FluidState
 

Public Member Functions

 AquiferInterface (int aqID, const std::vector< Aquancon::AquancCell > &connections, const Simulator &ebosSimulator)
 
void initFromRestart (const data::Aquifers &aquiferSoln)
 
void initialSolutionApplied ()
 
void beginTimeStep ()
 
template<class Context >
void addToSource (RateVector &rates, const Context &context, const unsigned spaceIdx, const unsigned timeIdx)
 
std::size_t size () const
 
int aquiferID () const
 

Static Public Attributes

static const int numEq = BlackoilIndices::numEq
 

Protected Member Functions

Scalar gravity_ () const
 
bool co2store_ () const
 
int phaseIdx_ () const
 
int compIdx_ () const
 
void initQuantities ()
 
void updateCellPressure (std::vector< Eval > &pressure_water, const int idx, const IntensiveQuantities &intQuants)
 
void updateCellPressure (std::vector< Scalar > &pressure_water, const int idx, const IntensiveQuantities &intQuants)
 
virtual void endTimeStep ()=0
 
void initializeConnections ()
 
void rescaleProducedVolume (const bool has_active_connection_on_proc)
 
virtual void assignRestartData (const data::AquiferData &xaq)=0
 
virtual void calculateInflowRate (int idx, const Simulator &simulator)=0
 
virtual void calculateAquiferCondition ()=0
 
virtual void calculateAquiferConstants ()=0
 
virtual Scalar aquiferDepth () const =0
 
virtual Scalar calculateReservoirEquilibrium ()
 

Protected Attributes

const int aquiferID_ {}
 
const std::vector< Aquancon::AquancCell > connections_
 
const Simulator & ebos_simulator_
 
std::vector< Scalar > faceArea_connected_
 
std::vector< int > cellToConnectionIdx_
 
std::vector< Scalar > cell_depth_
 
std::vector< Scalar > pressure_previous_
 
std::vector< Eval > pressure_current_
 
std::vector< Eval > Qai_
 
std::vector< Scalar > alphai_
 
Scalar Tc_ {}
 
Scalar pa0_ {}
 
Scalar rhow_ {}
 
Eval W_flux_
 
bool solution_set_from_restart_ {false}
 

The documentation for this class was generated from the following file: