#include <AquiferFetkovich.hpp>

Inheritance diagram for Opm::AquiferFetkovich< TypeTag >:
Inheritance graph

Public Types

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

Public Member Functions

 AquiferFetkovich (const std::vector< Aquancon::AquancCell > &connections, const Simulator &simulator, const Aquifetp::AQUFETP_data &aqufetp_data)
 
void endTimeStep () override
 
data::AquiferData aquiferData () const override
 
template<class Serializer >
void serializeOp (Serializer &serializer)
 
bool operator== (const AquiferFetkovich &rhs) const
 
void computeFaceAreaFraction (const std::vector< Scalar > &total_face_area) override
 
virtual void computeFaceAreaFraction (const std::vector< Scalar > &total_face_area)=0
 
Scalar totalFaceArea () const override
 
void initFromRestart (const data::Aquifers &aquiferSoln) override
 
void initialSolutionApplied () override
 
void beginTimeStep () override
 
void addToSource (RateVector &rates, const unsigned cellIdx, const unsigned timeIdx) override
 
template<class Context >
void addToSource (RateVector &rates, const Context &context, const unsigned spaceIdx, const unsigned timeIdx)
 
std::size_t size () const
 
bool operator== (const AquiferAnalytical &rhs) const
 
int aquiferID () const
 

Static Public Member Functions

static AquiferFetkovich serializationTestObject (const Simulator &simulator)
 

Static Public Attributes

static constexpr int numEq = BlackoilIndices::numEq
 

Protected Member Functions

void assignRestartData (const data::AquiferData &xaq) override
 
Eval dpai (int idx)
 
Scalar aquiferPressure ()
 
void calculateAquiferConstants () override
 
void calculateInflowRate (int idx, const Simulator &simulator) override
 
void calculateAquiferCondition () override
 
virtual Scalar aquiferDepth () const override
 
Scalar gravity_ () 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)
 
void initializeConnectionMappings ()
 
void initializeConnectionDepths ()
 
Scalar calculateReservoirEquilibrium ()
 
bool co2store_or_h2store_ () const
 
int phaseIdx_ () const
 

Protected Attributes

Aquifetp::AQUFETP_data aqufetp_data_
 
Scalar aquifer_pressure_
 
const std::vector< Aquancon::AquancCell > connections_
 
std::vector< ScalarfaceArea_connected_
 
std::vector< int > cellToConnectionIdx_
 
std::vector< Scalarcell_depth_
 
std::vector< Scalarpressure_previous_
 
std::vector< Evalpressure_current_
 
std::vector< EvalQai_
 
std::vector< Scalaralphai_
 
Scalar Tc_ {}
 
Scalar pa0_ {}
 
std::optional< ScalarTa0_ {}
 
Scalar rhow_ {}
 
Scalar total_face_area_ {}
 
Scalar area_fraction_ {Scalar{1}}
 
Eval W_flux_
 
bool solution_set_from_restart_ {false}
 
bool has_active_connection_on_proc_ {false}
 
const int aquiferID_ {}
 
const Simulatorsimulator_
 

Member Typedef Documentation

◆ Base

template<typename TypeTag >
using Opm::AquiferFetkovich< TypeTag >::Base = AquiferAnalytical<TypeTag>

◆ BlackoilIndices

template<typename TypeTag >
using Opm::AquiferAnalytical< TypeTag >::BlackoilIndices = GetPropType<TypeTag, Properties::Indices>

◆ ElementContext

template<typename TypeTag >
using Opm::AquiferAnalytical< TypeTag >::ElementContext = GetPropType<TypeTag, Properties::ElementContext>

◆ ElementMapper

template<typename TypeTag >
using Opm::AquiferAnalytical< TypeTag >::ElementMapper = GetPropType<TypeTag, Properties::ElementMapper>

◆ Eval

template<typename TypeTag >
using Opm::AquiferAnalytical< TypeTag >::Eval = DenseAd::Evaluation<Scalar, numEq>

◆ FluidState

template<typename TypeTag >
using Opm::AquiferAnalytical< TypeTag >::FluidState = BlackOilFluidState<Eval, FluidSystem, enableTemperature, enableEnergy, BlackoilIndices::gasEnabled, enableVapwat, enableBrine, enableSaltPrecipitation, has_disgas_in_water, BlackoilIndices::numPhases>

◆ FluidSystem

template<typename TypeTag >
using Opm::AquiferAnalytical< TypeTag >::FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>

◆ IntensiveQuantities

template<typename TypeTag >
using Opm::AquiferAnalytical< TypeTag >::IntensiveQuantities = GetPropType<TypeTag, Properties::IntensiveQuantities>

◆ RateVector

template<typename TypeTag >
using Opm::AquiferAnalytical< TypeTag >::RateVector = GetPropType<TypeTag, Properties::RateVector>

◆ Scalar

template<typename TypeTag >
using Opm::AquiferAnalytical< TypeTag >::Scalar = GetPropType<TypeTag, Properties::Scalar>

◆ Simulator

template<typename TypeTag >
using Opm::AquiferAnalytical< TypeTag >::Simulator = GetPropType<TypeTag, Properties::Simulator>

Member Enumeration Documentation

◆ anonymous enum

template<typename TypeTag >
anonymous enum
inherited
Enumerator
enableTemperature 

◆ anonymous enum

template<typename TypeTag >
anonymous enum
inherited
Enumerator
enableEnergy 

◆ anonymous enum

template<typename TypeTag >
anonymous enum
inherited
Enumerator
enableBrine 

◆ anonymous enum

template<typename TypeTag >
anonymous enum
inherited
Enumerator
enableVapwat 

◆ anonymous enum

template<typename TypeTag >
anonymous enum
inherited
Enumerator
has_disgas_in_water 

◆ anonymous enum

template<typename TypeTag >
anonymous enum
inherited
Enumerator
enableSaltPrecipitation 

Constructor & Destructor Documentation

◆ AquiferFetkovich()

template<typename TypeTag >
Opm::AquiferFetkovich< TypeTag >::AquiferFetkovich ( const std::vector< Aquancon::AquancCell > &  connections,
const Simulator simulator,
const Aquifetp::AQUFETP_data &  aqufetp_data 
)
inline

Member Function Documentation

◆ addToSource() [1/2]

template<typename TypeTag >
template<class Context >
void Opm::AquiferInterface< TypeTag >::addToSource ( RateVector rates,
const Context &  context,
const unsigned  spaceIdx,
const unsigned  timeIdx 
)
inlineinherited

◆ addToSource() [2/2]

◆ aquiferData()

◆ aquiferDepth()

template<typename TypeTag >
virtual Scalar Opm::AquiferFetkovich< TypeTag >::aquiferDepth ( ) const
inlineoverrideprotectedvirtual

◆ aquiferID()

◆ aquiferPressure()

◆ assignRestartData()

template<typename TypeTag >
void Opm::AquiferFetkovich< TypeTag >::assignRestartData ( const data::AquiferData &  xaq)
inlineoverrideprotectedvirtual

◆ beginTimeStep()

◆ calculateAquiferCondition()

◆ calculateAquiferConstants()

template<typename TypeTag >
void Opm::AquiferFetkovich< TypeTag >::calculateAquiferConstants ( )
inlineoverrideprotectedvirtual

◆ calculateInflowRate()

template<typename TypeTag >
void Opm::AquiferFetkovich< TypeTag >::calculateInflowRate ( int  idx,
const Simulator simulator 
)
inlineoverrideprotectedvirtual

◆ calculateReservoirEquilibrium()

◆ co2store_or_h2store_()

◆ compIdx_()

template<typename TypeTag >
int Opm::AquiferAnalytical< TypeTag >::compIdx_ ( ) const
inlineprotectedinherited

◆ computeFaceAreaFraction() [1/2]

◆ computeFaceAreaFraction() [2/2]

template<typename TypeTag >
virtual void Opm::AquiferInterface< TypeTag >::computeFaceAreaFraction ( const std::vector< Scalar > &  total_face_area)
pure virtualinherited

◆ dpai()

◆ endTimeStep()

◆ gravity_()

◆ initFromRestart()

◆ initializeConnectionDepths()

◆ initializeConnectionMappings()

◆ initialSolutionApplied()

template<typename TypeTag >
void Opm::AquiferAnalytical< TypeTag >::initialSolutionApplied ( )
inlineoverridevirtualinherited

◆ initQuantities()

◆ operator==() [1/2]

◆ operator==() [2/2]

template<typename TypeTag >
bool Opm::AquiferFetkovich< TypeTag >::operator== ( const AquiferFetkovich< TypeTag > &  rhs) const
inline

◆ phaseIdx_()

◆ serializationTestObject()

template<typename TypeTag >
static AquiferFetkovich Opm::AquiferFetkovich< TypeTag >::serializationTestObject ( const Simulator simulator)
inlinestatic

◆ serializeOp()

template<typename TypeTag >
template<class Serializer >
void Opm::AquiferFetkovich< TypeTag >::serializeOp ( Serializer &  serializer)
inline

◆ size()

◆ totalFaceArea()

template<typename TypeTag >
Scalar Opm::AquiferAnalytical< TypeTag >::totalFaceArea ( ) const
inlineoverridevirtualinherited

◆ updateCellPressure() [1/2]

template<typename TypeTag >
void Opm::AquiferAnalytical< TypeTag >::updateCellPressure ( std::vector< Eval > &  pressure_water,
const int  idx,
const IntensiveQuantities intQuants 
)
inlineprotectedinherited

◆ updateCellPressure() [2/2]

template<typename TypeTag >
void Opm::AquiferAnalytical< TypeTag >::updateCellPressure ( std::vector< Scalar > &  pressure_water,
const int  idx,
const IntensiveQuantities intQuants 
)
inlineprotectedinherited

Member Data Documentation

◆ alphai_

◆ aqufetp_data_

template<typename TypeTag >
Aquifetp::AQUFETP_data Opm::AquiferFetkovich< TypeTag >::aqufetp_data_
protected

◆ aquifer_pressure_

◆ aquiferID_

template<typename TypeTag >
const int Opm::AquiferInterface< TypeTag >::aquiferID_ {}
protectedinherited

◆ area_fraction_

template<typename TypeTag >
Scalar Opm::AquiferAnalytical< TypeTag >::area_fraction_ {Scalar{1}}
protectedinherited

◆ cell_depth_

◆ cellToConnectionIdx_

◆ connections_

template<typename TypeTag >
const std::vector<Aquancon::AquancCell> Opm::AquiferAnalytical< TypeTag >::connections_
protectedinherited

◆ faceArea_connected_

template<typename TypeTag >
std::vector<Scalar> Opm::AquiferAnalytical< TypeTag >::faceArea_connected_
protectedinherited

◆ has_active_connection_on_proc_

template<typename TypeTag >
bool Opm::AquiferAnalytical< TypeTag >::has_active_connection_on_proc_ {false}
protectedinherited

◆ numEq

template<typename TypeTag >
constexpr int Opm::AquiferAnalytical< TypeTag >::numEq = BlackoilIndices::numEq
staticconstexprinherited

◆ pa0_

◆ pressure_current_

◆ pressure_previous_

◆ Qai_

◆ rhow_

◆ simulator_

◆ solution_set_from_restart_

◆ Ta0_

◆ Tc_

◆ total_face_area_

template<typename TypeTag >
Scalar Opm::AquiferAnalytical< TypeTag >::total_face_area_ {}
protectedinherited

◆ W_flux_


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