opm-simulators
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  { enableBrine = getPropValue<TypeTag, Properties::EnableBrine>() }
enum  { enableVapwat = getPropValue<TypeTag, Properties::EnableVapwat>() }
enum  { has_disgas_in_water = getPropValue<TypeTag, Properties::EnableDisgasInWater>() }
enum  { enableSolvent = getPropValue<TypeTag, Properties::EnableSolvent>() }
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 = GetPropType<TypeTag, Properties::Evaluation>
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 EnergyModules energyModuleType = getPropValue<TypeTag, Properties::EnergyModuleType>()
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,
energyModuleType != EnergyModules::NoTemperature,
energyModuleType == EnergyModules::FullyImplicitThermal,
BlackoilIndices::gasEnabled,
enableVapwat,
enableBrine,
enableSaltPrecipitation,
has_disgas_in_water,
enableSolvent,
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: