My Project
Loading...
Searching...
No Matches
Opm::AquiferAnalytical< TypeTag > Class Template Referenceabstract
Inheritance diagram for Opm::AquiferAnalytical< TypeTag >:
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  { enableVapwat = getPropValue<TypeTag, Properties::EnableVapwat>() }
 
enum  { has_disgas_in_water = getPropValue<TypeTag, Properties::EnableDisgasInWater>() }
 
enum  { enableSaltPrecipitation = getPropValue<TypeTag, Properties::EnableSaltPrecipitation>() }
 
using Simulator = GetPropType<TypeTag, Properties::Simulator>
 
using Scalar = GetPropType<TypeTag, Properties::Scalar>
 
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>
 
using Eval = DenseAd::Evaluation<Scalar, numEq>
 
using FluidState
 
- Public Types inherited from Opm::AquiferInterface< TypeTag >
using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>
 
using RateVector = GetPropType<TypeTag, Properties::RateVector>
 
using Simulator = GetPropType<TypeTag, Properties::Simulator>
 
using Scalar = GetPropType<TypeTag, Properties::Scalar>
 

Public Member Functions

 AquiferAnalytical (const int aqID, const std::vector< Aquancon::AquancCell > &connections, const Simulator &simulator)
 
void computeFaceAreaFraction (const std::vector< Scalar > &total_face_area) override
 
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
 
std::size_t size () const
 
template<class Serializer >
void serializeOp (Serializer &serializer)
 
bool operator== (const AquiferAnalytical &rhs) const
 
- Public Member Functions inherited from Opm::AquiferInterface< TypeTag >
 AquiferInterface (int aqID, const Simulator &simulator)
 
virtual void endTimeStep ()=0
 
virtual data::AquiferData aquiferData () const =0
 
template<class Context >
void addToSource (RateVector &rates, const Context &context, const unsigned spaceIdx, const unsigned timeIdx)
 
int aquiferID () const
 

Static Public Attributes

static constexpr int numEq = BlackoilIndices::numEq
 

Protected Member Functions

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
 
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 ()
 
- Protected Member Functions inherited from Opm::AquiferInterface< TypeTag >
bool co2store_or_h2store_ () const
 
int phaseIdx_ () const
 

Protected Attributes

const std::vector< Aquancon::AquancCell > connections_
 
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_ {}
 
std::optional< Scalar > Ta0_ {}
 
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}
 
- Protected Attributes inherited from Opm::AquiferInterface< TypeTag >
const int aquiferID_ {}
 
const Simulator & simulator_
 

Member Typedef Documentation

◆ FluidState

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

Member Function Documentation

◆ addToSource()

template<typename TypeTag >
void Opm::AquiferAnalytical< TypeTag >::addToSource ( RateVector & rates,
const unsigned cellIdx,
const unsigned timeIdx )
inlineoverridevirtual

◆ beginTimeStep()

template<typename TypeTag >
void Opm::AquiferAnalytical< TypeTag >::beginTimeStep ( )
inlineoverridevirtual

◆ computeFaceAreaFraction()

template<typename TypeTag >
void Opm::AquiferAnalytical< TypeTag >::computeFaceAreaFraction ( const std::vector< Scalar > & total_face_area)
inlineoverridevirtual

◆ initFromRestart()

template<typename TypeTag >
void Opm::AquiferAnalytical< TypeTag >::initFromRestart ( const data::Aquifers & aquiferSoln)
inlineoverridevirtual

◆ initialSolutionApplied()

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

◆ totalFaceArea()

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

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