This problem simulates an input file given in the data format used by the commercial ECLiPSE simulator.
More...
#include <FlowProblem.hpp>
|
| FlowProblem (Simulator &simulator) |
|
void | finishInit () |
|
void | prefetch (const Element &elem) const |
|
template<class Restarter > |
void | deserialize (Restarter &res) |
| This method restores the complete state of the problem and its sub-objects from disk. More...
|
|
template<class Restarter > |
void | serialize (Restarter &res) |
| This method writes the complete state of the problem and its subobjects to disk. More...
|
|
int | episodeIndex () const |
|
void | beginEpisode () |
| Called by the simulator before an episode begins. More...
|
|
void | beginTimeStep () |
| Called by the simulator before each time integration. More...
|
|
void | beginIteration () |
| Called by the simulator before each Newton-Raphson iteration. More...
|
|
void | endIteration () |
| Called by the simulator after each Newton-Raphson iteration. More...
|
|
void | endTimeStep () |
| Called by the simulator after each time integration. More...
|
|
void | endEpisode () |
| Called by the simulator after the end of an episode. More...
|
|
void | writeOutput (const SimulatorTimer &timer, bool verbose=true) |
| Write the requested quantities of the current solution into the output files. More...
|
|
void | finalizeOutput () |
|
template<class Context > |
const DimMatrix & | intrinsicPermeability (const Context &context, unsigned spaceIdx, unsigned timeIdx) const |
|
const DimMatrix & | intrinsicPermeability (unsigned globalElemIdx) const |
| This method returns the intrinsic permeability tensor given a global element index. More...
|
|
template<class Context > |
Scalar | transmissibility (const Context &context, unsigned fromDofLocalIdx, unsigned toDofLocalIdx) const |
|
Scalar | transmissibility (unsigned globalCenterElemIdx, unsigned globalElemIdx) const |
| Direct access to the transmissibility between two elements. More...
|
|
template<class Context > |
Scalar | diffusivity (const Context &context, unsigned fromDofLocalIdx, unsigned toDofLocalIdx) const |
|
Scalar | diffusivity (const unsigned globalCellIn, const unsigned globalCellOut) const |
|
Scalar | dispersivity (const unsigned globalCellIn, const unsigned globalCellOut) const |
|
Scalar | thermalTransmissibilityBoundary (const unsigned globalSpaceIdx, const unsigned boundaryFaceIdx) const |
| Direct access to a boundary transmissibility. More...
|
|
template<class Context > |
Scalar | transmissibilityBoundary (const Context &elemCtx, unsigned boundaryFaceIdx) const |
|
Scalar | transmissibilityBoundary (const unsigned globalSpaceIdx, const unsigned boundaryFaceIdx) const |
| Direct access to a boundary transmissibility. More...
|
|
Scalar | thermalHalfTransmissibility (const unsigned globalSpaceIdxIn, const unsigned globalSpaceIdxOut) const |
|
template<class Context > |
Scalar | thermalHalfTransmissibilityIn (const Context &context, unsigned faceIdx, unsigned timeIdx) const |
|
template<class Context > |
Scalar | thermalHalfTransmissibilityOut (const Context &context, unsigned faceIdx, unsigned timeIdx) const |
|
template<class Context > |
Scalar | thermalHalfTransmissibilityBoundary (const Context &elemCtx, unsigned boundaryFaceIdx) const |
|
const Vanguard::TransmissibilityType & | eclTransmissibilities () const |
| Return a reference to the object that handles the "raw" transmissibilities. More...
|
|
Scalar | thresholdPressure (unsigned elem1Idx, unsigned elem2Idx) const |
|
const FlowThresholdPressure< TypeTag > & | thresholdPressure () const |
|
FlowThresholdPressure< TypeTag > & | thresholdPressure () |
|
const TracerModel & | tracerModel () const |
|
TracerModel & | tracerModel () |
|
template<class Context > |
Scalar | porosity (const Context &context, unsigned spaceIdx, unsigned timeIdx) const |
|
template<class Context > |
Scalar | dofCenterDepth (const Context &context, unsigned spaceIdx, unsigned timeIdx) const |
| Returns the depth of an degree of freedom [m]. More...
|
|
Scalar | dofCenterDepth (unsigned globalSpaceIdx) const |
| Direct indexed acces to the depth of an degree of freedom [m]. More...
|
|
template<class Context > |
Scalar | rockCompressibility (const Context &context, unsigned spaceIdx, unsigned timeIdx) const |
|
template<class Context > |
Scalar | rockReferencePressure (const Context &context, unsigned spaceIdx, unsigned timeIdx) const |
|
template<class Context > |
const MaterialLawParams & | materialLawParams (const Context &context, unsigned spaceIdx, unsigned timeIdx) const |
|
const MaterialLawParams & | materialLawParams (unsigned globalDofIdx) const |
|
const MaterialLawParams & | materialLawParams (unsigned globalDofIdx, FaceDir::DirEnum facedir) const |
|
template<class Context > |
const SolidEnergyLawParams & | solidEnergyLawParams (const Context &context, unsigned spaceIdx, unsigned timeIdx) const |
| Return the parameters for the energy storage law of the rock. More...
|
|
template<class Context > |
const ThermalConductionLawParams & | thermalConductionLawParams (const Context &context, unsigned spaceIdx, unsigned timeIdx) const |
|
std::shared_ptr< const EclMaterialLawManager > | materialLawManager () const |
| Returns the ECL material law manager. More...
|
|
template<class FluidState > |
void | updateRelperms (std::array< Evaluation, numPhases > &mobility, DirectionalMobilityPtr &dirMob, FluidState &fluidState, unsigned globalSpaceIdx) const |
|
std::shared_ptr< EclMaterialLawManager > | materialLawManager () |
|
template<class Context > |
unsigned | pvtRegionIndex (const Context &context, unsigned spaceIdx, unsigned timeIdx) const |
| Returns the index of the relevant region for thermodynmic properties. More...
|
|
template<class Context > |
unsigned | satnumRegionIndex (const Context &context, unsigned spaceIdx, unsigned timeIdx) const |
| Returns the index of the relevant region for thermodynmic properties. More...
|
|
template<class Context > |
unsigned | miscnumRegionIndex (const Context &context, unsigned spaceIdx, unsigned timeIdx) const |
| Returns the index of the relevant region for thermodynmic properties. More...
|
|
template<class Context > |
unsigned | plmixnumRegionIndex (const Context &context, unsigned spaceIdx, unsigned timeIdx) const |
| Returns the index of the relevant region for thermodynmic properties. More...
|
|
template<class Context > |
Scalar | maxPolymerAdsorption (const Context &context, unsigned spaceIdx, unsigned timeIdx) const |
| Returns the max polymer adsorption value. More...
|
|
std::string | name () const |
|
template<class Context > |
Scalar | temperature (const Context &context, unsigned spaceIdx, unsigned timeIdx) const |
|
Scalar | temperature (unsigned globalDofIdx, unsigned) const |
|
const SolidEnergyLawParams & | solidEnergyLawParams (unsigned globalSpaceIdx, unsigned) const |
|
const ThermalConductionLawParams & | thermalConductionLawParams (unsigned globalSpaceIdx, unsigned) const |
|
template<class Context > |
void | boundary (BoundaryRateVector &values, const Context &context, unsigned spaceIdx, unsigned timeIdx) const |
|
Scalar | maxOilSaturation (unsigned globalDofIdx) const |
| Returns an element's historic maximum oil phase saturation that was observed during the simulation. More...
|
|
void | setMaxOilSaturation (unsigned globalDofIdx, Scalar value) |
| Sets an element's maximum oil phase saturation observed during the simulation. More...
|
|
Scalar | maxGasDissolutionFactor (unsigned timeIdx, unsigned globalDofIdx) const |
| Returns the maximum value of the gas dissolution factor at the current time for a given degree of freedom. More...
|
|
Scalar | maxOilVaporizationFactor (unsigned timeIdx, unsigned globalDofIdx) const |
| Returns the maximum value of the oil vaporization factor at the current time for a given degree of freedom. More...
|
|
bool | recycleFirstIterationStorage () const |
| Return if the storage term of the first iteration is identical to the storage term for the solution of the previous time step. More...
|
|
template<class Context > |
void | initial (PrimaryVariables &values, const Context &context, unsigned spaceIdx, unsigned timeIdx) const |
|
void | initialSolutionApplied () |
|
template<class Context > |
void | source (RateVector &rate, const Context &context, unsigned spaceIdx, unsigned timeIdx) const |
|
void | source (RateVector &rate, unsigned globalDofIdx, unsigned timeIdx) const |
|
void | addToSourceDense (RateVector &rate, unsigned globalDofIdx, unsigned timeIdx) const |
|
const WellModel & | wellModel () const |
| Returns a reference to the ECL well manager used by the problem. More...
|
|
WellModel & | wellModel () |
|
const AquiferModel & | aquiferModel () const |
|
AquiferModel & | mutableAquiferModel () |
|
const InitialFluidState & | initialFluidState (unsigned globalDofIdx) const |
|
const EclipseIO & | eclIO () const |
|
void | setSubStepReport (const SimulatorReportSingle &report) |
|
void | setSimulationReport (const SimulatorReport &report) |
|
bool | nonTrivialBoundaryConditions () const |
|
const InitialFluidState | boundaryFluidState (unsigned globalDofIdx, const int directionId) const |
|
Scalar | nextTimeStepSize () const |
| Propose the size of the next time step to the simulator. More...
|
|
template<class LhsEval > |
LhsEval | rockCompPoroMultiplier (const IntensiveQuantities &intQuants, unsigned elementIdx) const |
| Calculate the porosity multiplier due to water induced rock compaction. More...
|
|
template<class LhsEval > |
LhsEval | rockCompTransMultiplier (const IntensiveQuantities &intQuants, unsigned elementIdx) const |
| Calculate the transmissibility multiplier due to water induced rock compaction. More...
|
|
template<class LhsEval > |
LhsEval | permFactTransMultiplier (const IntensiveQuantities &intQuants) const |
| Calculate the transmissibility multiplier due to porosity reduction. More...
|
|
template<class LhsEval > |
LhsEval | wellTransMultiplier (const IntensiveQuantities &intQuants, unsigned elementIdx) const |
| Return the well transmissibility multiplier due to rock changues. More...
|
|
std::pair< BCType, RateVector > | boundaryCondition (const unsigned int globalSpaceIdx, const int directionId) const |
|
const std::unique_ptr< EclWriterType > & | eclWriter () const |
|
void | setConvData (const std::vector< std::vector< int > > &data) |
|
template<class Serializer > |
void | serializeOp (Serializer &serializer) |
|
Scalar | maxWaterSaturation (unsigned globalDofIdx) const |
| Returns an element's historic maximum water phase saturation that was observed during the simulation. More...
|
|
Scalar | minOilPressure (unsigned globalDofIdx) const |
| Returns an element's historic minimum pressure of the oil phase that was observed during the simulation. More...
|
|
Scalar | overburdenPressure (unsigned elementIdx) const |
| Get the pressure of the overburden. More...
|
|
Scalar | referencePorosity (unsigned elementIdx, unsigned timeIdx) const |
| Returns the porosity of an element. More...
|
|
Scalar | rockFraction (unsigned elementIdx, unsigned timeIdx) const |
| Returns the rockFraction of an element. More...
|
|
void | setPorosity (Scalar poro, unsigned elementIdx, unsigned timeIdx=0) |
| Sets the porosity of an element. More...
|
|
Scalar | solventSaturation (unsigned elemIdx) const |
| Returns the initial solvent saturation for a given a cell index. More...
|
|
Scalar | solventRsw (unsigned elemIdx) const |
| Returns the initial solvent dissolved in water for a given a cell index. More...
|
|
Scalar | drsdtcon (unsigned elemIdx, int episodeIdx) const |
| Returns the dynamic drsdt convective mixing value. More...
|
|
Scalar | polymerConcentration (unsigned elemIdx) const |
| Returns the initial polymer concentration for a given a cell index. More...
|
|
Scalar | polymerMolecularWeight (const unsigned elemIdx) const |
| Returns the polymer molecule weight for a given cell index. More...
|
|
Scalar | microbialConcentration (unsigned elemIdx) const |
| Returns the initial microbial concentration for a given a cell index. More...
|
|
Scalar | oxygenConcentration (unsigned elemIdx) const |
| Returns the initial oxygen concentration for a given a cell index. More...
|
|
Scalar | ureaConcentration (unsigned elemIdx) const |
| Returns the initial urea concentration for a given a cell index. More...
|
|
Scalar | biofilmConcentration (unsigned elemIdx) const |
| Returns the initial biofilm concentration for a given a cell index. More...
|
|
Scalar | calciteConcentration (unsigned elemIdx) const |
| Returns the initial calcite concentration for a given a cell index. More...
|
|
unsigned | pvtRegionIndex (unsigned elemIdx) const |
| Returns the index the relevant PVT region given a cell index. More...
|
|
unsigned | satnumRegionIndex (unsigned elemIdx) const |
| Returns the index the relevant saturation function region given a cell index. More...
|
|
unsigned | miscnumRegionIndex (unsigned elemIdx) const |
| Returns the index the relevant MISC region given a cell index. More...
|
|
unsigned | plmixnumRegionIndex (unsigned elemIdx) const |
| Returns the index the relevant PLMIXNUM (for polymer module) region given a cell index. More...
|
|
Scalar | maxPolymerAdsorption (unsigned elemIdx) const |
| Returns the max polymer adsorption value. More...
|
|
Scalar | rockCompressibility (unsigned globalSpaceIdx) const |
|
Scalar | rockReferencePressure (unsigned globalSpaceIdx) const |
|
Scalar | porosity (unsigned globalSpaceIdx, unsigned timeIdx) const |
| Direct indexed access to the porosity. More...
|
|
bool | vapparsActive (int episodeIdx) const |
|
int | numPressurePointsEquil () const |
|
bool | operator== (const FlowGenericProblem &rhs) const |
|
|
using | Grid = std::remove_cv_t< typename std::remove_reference< decltype(gridView_.grid())>::type > |
|
using | LookUpData = Opm::LookUpData< Grid, GetPropType< TypeTag, Properties::GridView > > |
|
|
void | updateExplicitQuantities_ () |
|
template<class UpdateFunc > |
void | updateProperty_ (const std::string &failureMsg, UpdateFunc func) |
|
void | updateCompositionChangeLimits_ () |
|
bool | updateMaxOilSaturation_ () |
|
bool | updateMaxOilSaturation_ (unsigned compressedDofIdx, const IntensiveQuantities &iq) |
|
bool | updateMaxWaterSaturation_ () |
|
bool | updateMaxWaterSaturation_ (unsigned compressedDofIdx, const IntensiveQuantities &iq) |
|
bool | updateMinPressure_ () |
|
bool | updateMinPressure_ (unsigned compressedDofIdx, const IntensiveQuantities &iq) |
|
std::function< std::vector< double >(const FieldPropsManager &, const std::string &)> | fieldPropDoubleOnLeafAssigner_ () |
|
template<typename IntType > |
std::function< std::vector< IntType >(const FieldPropsManager &, const std::string &, bool)> | fieldPropIntTypeOnLeafAssigner_ () |
|
void | readMaterialParameters_ () |
|
void | readThermalParameters_ () |
|
void | updateReferencePorosity_ () |
|
void | readInitialCondition_ () |
|
void | readEquilInitialCondition_ () |
|
void | readEclRestartSolution_ () |
|
void | processRestartSaturations_ (InitialFluidState &elemFluidState, Scalar &solventSaturation) |
|
void | readExplicitInitialCondition_ () |
|
bool | updateHysteresis_ () |
|
bool | updateHysteresis_ (unsigned compressedDofIdx, const IntensiveQuantities &iq) |
|
void | updateMaxPolymerAdsorption_ () |
|
bool | updateMaxPolymerAdsorption_ (unsigned compressedDofIdx, const IntensiveQuantities &iq) |
|
Scalar | getRockCompTransMultVal (std::size_t dofIdx) const |
|
void | initFluidSystem_ () |
|
bool | shouldWriteOutput () const |
| Always returns true. The ecl output writer takes care of the rest. More...
|
|
bool | shouldWriteRestartFile () const |
| Returns true if an eWoms restart file should be written to disk. More...
|
|
bool | beginEpisode_ (bool enableExperiments, int episodeIdx) |
|
void | beginTimeStep_ (bool enableExperiments, int episodeIdx, int timeStepIndex, Scalar startTime, Scalar time, Scalar timeStepSize, Scalar endTime) |
|
void | readRockParameters_ (const std::vector< Scalar > &cellCenterDepths, std::function< std::array< int, 3 >(const unsigned)> ijkIndex) |
|
void | readRockCompactionParameters_ () |
|
void | readBlackoilExtentionsInitialConditions_ (std::size_t numDof, bool enableSolvent, bool enablePolymer, bool enablePolymerMolarWeight, bool enableMICP) |
|
void | updatePvtnum_ () |
|
void | updateSatnum_ () |
|
void | updateMiscnum_ () |
|
void | updatePlmixnum_ () |
|
void | updateKrnum_ () |
|
void | updateImbnum_ () |
|
std::function< unsigned(unsigned)> | lookupIdxOnLevelZeroAssigner_ () |
|
template<class TypeTag>
class Opm::FlowProblem< TypeTag > This problem simulates an input file given in the data format used by the commercial ECLiPSE simulator.
◆ Grid
using Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::Grid = std::remove_cv_t< typename std::remove_reference<decltype(gridView_.grid())>::type> |
|
protectedinherited |
◆ LookUpData
◆ TabulatedFunction
using Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::TabulatedFunction = Tabulated1DFunction<Scalar> |
|
inherited |
◆ TabulatedTwoDFunction
using Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::TabulatedTwoDFunction = UniformXTabulated2DFunction<Scalar> |
|
inherited |
◆ FlowProblem()
References Opm::RelpermDiagnostics::diagnosis(), Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView >, GetPropType< TypeTag, Properties::FluidSystem > >::enableTuning_, Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView >, GetPropType< TypeTag, Properties::FluidSystem > >::initialTimeStepSize_, Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView >, GetPropType< TypeTag, Properties::FluidSystem > >::maxTimeStepAfterWellEvent_, and Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView >, GetPropType< TypeTag, Properties::FluidSystem > >::numPressurePointsEquil_.
◆ addToSourceDense()
template<class TypeTag >
void Opm::FlowProblem< TypeTag >::addToSourceDense |
( |
RateVector & |
rate, |
|
|
unsigned |
globalDofIdx, |
|
|
unsigned |
timeIdx |
|
) |
| const |
|
inline |
◆ aquiferModel()
◆ beginEpisode()
◆ beginEpisode_()
bool Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::beginEpisode_ |
( |
bool |
enableExperiments, |
|
|
int |
episodeIdx |
|
) |
| |
|
protectedinherited |
◆ beginIteration()
Called by the simulator before each Newton-Raphson iteration.
◆ beginTimeStep()
Called by the simulator before each time integration.
◆ beginTimeStep_()
void Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::beginTimeStep_ |
( |
bool |
enableExperiments, |
|
|
int |
episodeIdx, |
|
|
int |
timeStepIndex, |
|
|
Scalar |
startTime, |
|
|
Scalar |
time, |
|
|
Scalar |
timeStepSize, |
|
|
Scalar |
endTime |
|
) |
| |
|
protectedinherited |
◆ biofilmConcentration()
FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::Scalar Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::biofilmConcentration |
( |
unsigned |
elemIdx | ) |
const |
|
inherited |
Returns the initial biofilm concentration for a given a cell index.
◆ boundary()
template<class TypeTag >
template<class Context >
void Opm::FlowProblem< TypeTag >::boundary |
( |
BoundaryRateVector & |
values, |
|
|
const Context & |
context, |
|
|
unsigned |
spaceIdx, |
|
|
unsigned |
timeIdx |
|
) |
| const |
|
inline |
Reservoir simulation uses no-flow conditions as default for all boundaries.
◆ boundaryCondition()
template<class TypeTag >
std::pair< BCType, RateVector > Opm::FlowProblem< TypeTag >::boundaryCondition |
( |
const unsigned int |
globalSpaceIdx, |
|
|
const int |
directionId |
|
) |
| const |
|
inline |
◆ boundaryFluidState()
template<class TypeTag >
const InitialFluidState Opm::FlowProblem< TypeTag >::boundaryFluidState |
( |
unsigned |
globalDofIdx, |
|
|
const int |
directionId |
|
) |
| const |
|
inline |
◆ briefDescription()
std::string Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::briefDescription |
|
staticinherited |
◆ calciteConcentration()
FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::Scalar Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::calciteConcentration |
( |
unsigned |
elemIdx | ) |
const |
|
inherited |
Returns the initial calcite concentration for a given a cell index.
◆ deserialize()
template<class TypeTag >
template<class Restarter >
This method restores the complete state of the problem and its sub-objects from disk.
The serialization format used by this method is ad-hoc. It is the inverse of the serialize() method.
- Template Parameters
-
Restarter | The deserializer type |
- Parameters
-
res | The deserializer object |
◆ diffusivity() [1/2]
template<class TypeTag >
template<class Context >
Scalar Opm::FlowProblem< TypeTag >::diffusivity |
( |
const Context & |
context, |
|
|
unsigned |
fromDofLocalIdx, |
|
|
unsigned |
toDofLocalIdx |
|
) |
| const |
|
inline |
◆ diffusivity() [2/2]
template<class TypeTag >
Scalar Opm::FlowProblem< TypeTag >::diffusivity |
( |
const unsigned |
globalCellIn, |
|
|
const unsigned |
globalCellOut |
|
) |
| const |
|
inline |
give the transmissibility for a face i.e. pair. should be symmetric?
◆ dispersivity()
template<class TypeTag >
Scalar Opm::FlowProblem< TypeTag >::dispersivity |
( |
const unsigned |
globalCellIn, |
|
|
const unsigned |
globalCellOut |
|
) |
| const |
|
inline |
give the dispersivity for a face i.e. pair.
◆ dofCenterDepth() [1/2]
template<class TypeTag >
template<class Context >
Scalar Opm::FlowProblem< TypeTag >::dofCenterDepth |
( |
const Context & |
context, |
|
|
unsigned |
spaceIdx, |
|
|
unsigned |
timeIdx |
|
) |
| const |
|
inline |
Returns the depth of an degree of freedom [m].
For ECL problems this is defined as the average of the depth of an element and is thus slightly different from the depth of an element's centroid.
◆ dofCenterDepth() [2/2]
template<class TypeTag >
Scalar Opm::FlowProblem< TypeTag >::dofCenterDepth |
( |
unsigned |
globalSpaceIdx | ) |
const |
|
inline |
Direct indexed acces to the depth of an degree of freedom [m].
For ECL problems this is defined as the average of the depth of an element and is thus slightly different from the depth of an element's centroid.
◆ drsdtcon()
FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::Scalar Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::drsdtcon |
( |
unsigned |
elemIdx, |
|
|
int |
episodeIdx |
|
) |
| const |
|
inherited |
Returns the dynamic drsdt convective mixing value.
◆ eclIO()
◆ eclTransmissibilities()
template<class TypeTag >
const Vanguard::TransmissibilityType & Opm::FlowProblem< TypeTag >::eclTransmissibilities |
( |
| ) |
const |
|
inline |
Return a reference to the object that handles the "raw" transmissibilities.
◆ eclWriter()
◆ endEpisode()
Called by the simulator after the end of an episode.
◆ endIteration()
◆ endTimeStep()
Called by the simulator after each time integration.
◆ episodeIndex()
◆ fieldPropDoubleOnLeafAssigner_()
template<class TypeTag >
std::function< std::vector< double >(const FieldPropsManager &, const std::string &)> Opm::FlowProblem< TypeTag >::fieldPropDoubleOnLeafAssigner_ |
( |
| ) |
|
|
inlineprotected |
◆ fieldPropIntTypeOnLeafAssigner_()
template<class TypeTag >
template<typename IntType >
std::function< std::vector< IntType >(const FieldPropsManager &, const std::string &, bool)> Opm::FlowProblem< TypeTag >::fieldPropIntTypeOnLeafAssigner_ |
( |
| ) |
|
|
inlineprotected |
◆ finalizeOutput()
◆ finishInit()
References Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView >, GetPropType< TypeTag, Properties::FluidSystem > >::enableTuning_, Opm::FlowProblem< TypeTag >::episodeIndex(), Opm::MixingRateControls< FluidSystem >::init(), Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView >, GetPropType< TypeTag, Properties::FluidSystem > >::initFluidSystem_(), Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView >, GetPropType< TypeTag, Properties::FluidSystem > >::initialTimeStepSize_, Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView >, GetPropType< TypeTag, Properties::FluidSystem > >::maxOilSaturation_, Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView >, GetPropType< TypeTag, Properties::FluidSystem > >::maxTimeStepAfterWellEvent_, Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView >, GetPropType< TypeTag, Properties::FluidSystem > >::mixControls_, and Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView >, GetPropType< TypeTag, Properties::FluidSystem > >::readRockParameters_().
◆ getRockCompTransMultVal()
template<class TypeTag >
Scalar Opm::FlowProblem< TypeTag >::getRockCompTransMultVal |
( |
std::size_t |
dofIdx | ) |
const |
|
inlineprotected |
◆ handlePositionalParameter()
template<class TypeTag >
static int Opm::FlowProblem< TypeTag >::handlePositionalParameter |
( |
std::set< std::string > & |
seenParams, |
|
|
std::string & |
errorMsg, |
|
|
int |
, |
|
|
const char ** |
argv, |
|
|
int |
paramIdx, |
|
|
int |
|
|
) |
| |
|
inlinestatic |
◆ helpPreamble()
std::string Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::helpPreamble |
( |
int |
, |
|
|
const char ** |
argv |
|
) |
| |
|
staticinherited |
◆ initFluidSystem_()
void Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::initFluidSystem_ |
|
protectedinherited |
◆ initial()
template<class TypeTag >
template<class Context >
void Opm::FlowProblem< TypeTag >::initial |
( |
PrimaryVariables & |
values, |
|
|
const Context & |
context, |
|
|
unsigned |
spaceIdx, |
|
|
unsigned |
timeIdx |
|
) |
| const |
|
inline |
The reservoir problem uses a constant boundary condition for the whole domain.
◆ initialFluidState()
template<class TypeTag >
const InitialFluidState & Opm::FlowProblem< TypeTag >::initialFluidState |
( |
unsigned |
globalDofIdx | ) |
const |
|
inline |
◆ initialSolutionApplied()
◆ intrinsicPermeability() [1/2]
template<class TypeTag >
template<class Context >
const DimMatrix & Opm::FlowProblem< TypeTag >::intrinsicPermeability |
( |
const Context & |
context, |
|
|
unsigned |
spaceIdx, |
|
|
unsigned |
timeIdx |
|
) |
| const |
|
inline |
◆ intrinsicPermeability() [2/2]
template<class TypeTag >
const DimMatrix & Opm::FlowProblem< TypeTag >::intrinsicPermeability |
( |
unsigned |
globalElemIdx | ) |
const |
|
inline |
This method returns the intrinsic permeability tensor given a global element index.
Its main (only?) usage is the ECL transmissibility calculation code...
◆ lookupIdxOnLevelZeroAssigner_()
std::function< unsigned(unsigned)> Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::lookupIdxOnLevelZeroAssigner_ |
( |
| ) |
|
|
inlineprotectedinherited |
◆ materialLawManager() [1/2]
template<class TypeTag >
std::shared_ptr< EclMaterialLawManager > Opm::FlowProblem< TypeTag >::materialLawManager |
( |
| ) |
|
|
inline |
◆ materialLawManager() [2/2]
template<class TypeTag >
std::shared_ptr< const EclMaterialLawManager > Opm::FlowProblem< TypeTag >::materialLawManager |
( |
| ) |
const |
|
inline |
Returns the ECL material law manager.
Note that this method is not part of the generic eWoms problem API because it would force all problens use the ECL material laws.
◆ materialLawParams() [1/3]
template<class TypeTag >
template<class Context >
const MaterialLawParams & Opm::FlowProblem< TypeTag >::materialLawParams |
( |
const Context & |
context, |
|
|
unsigned |
spaceIdx, |
|
|
unsigned |
timeIdx |
|
) |
| const |
|
inline |
◆ materialLawParams() [2/3]
template<class TypeTag >
const MaterialLawParams & Opm::FlowProblem< TypeTag >::materialLawParams |
( |
unsigned |
globalDofIdx | ) |
const |
|
inline |
◆ materialLawParams() [3/3]
template<class TypeTag >
const MaterialLawParams & Opm::FlowProblem< TypeTag >::materialLawParams |
( |
unsigned |
globalDofIdx, |
|
|
FaceDir::DirEnum |
facedir |
|
) |
| const |
|
inline |
◆ maxGasDissolutionFactor()
template<class TypeTag >
Scalar Opm::FlowProblem< TypeTag >::maxGasDissolutionFactor |
( |
unsigned |
timeIdx, |
|
|
unsigned |
globalDofIdx |
|
) |
| const |
|
inline |
Returns the maximum value of the gas dissolution factor at the current time for a given degree of freedom.
◆ maxOilSaturation()
template<class TypeTag >
Scalar Opm::FlowProblem< TypeTag >::maxOilSaturation |
( |
unsigned |
globalDofIdx | ) |
const |
|
inline |
Returns an element's historic maximum oil phase saturation that was observed during the simulation.
In this context, "historic" means the the time before the current timestep began.
This is a bit of a hack from the conceptional point of view, but it is required to match the results of the 'flow' and ECLIPSE 100 simulators.
◆ maxOilVaporizationFactor()
template<class TypeTag >
Scalar Opm::FlowProblem< TypeTag >::maxOilVaporizationFactor |
( |
unsigned |
timeIdx, |
|
|
unsigned |
globalDofIdx |
|
) |
| const |
|
inline |
Returns the maximum value of the oil vaporization factor at the current time for a given degree of freedom.
◆ maxPolymerAdsorption() [1/2]
template<class TypeTag >
template<class Context >
Scalar Opm::FlowProblem< TypeTag >::maxPolymerAdsorption |
( |
const Context & |
context, |
|
|
unsigned |
spaceIdx, |
|
|
unsigned |
timeIdx |
|
) |
| const |
|
inline |
Returns the max polymer adsorption value.
◆ maxPolymerAdsorption() [2/2]
FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::Scalar Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::maxPolymerAdsorption |
( |
unsigned |
elemIdx | ) |
const |
|
inherited |
Returns the max polymer adsorption value.
◆ maxWaterSaturation()
FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::Scalar Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::maxWaterSaturation |
( |
unsigned |
globalDofIdx | ) |
const |
|
inherited |
Returns an element's historic maximum water phase saturation that was observed during the simulation.
In this context, "historic" means the the time before the current timestep began.
This is used for output of the maximum water saturation used as input for water induced rock compation ROCK2D/ROCK2DTR.
◆ microbialConcentration()
FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::Scalar Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::microbialConcentration |
( |
unsigned |
elemIdx | ) |
const |
|
inherited |
Returns the initial microbial concentration for a given a cell index.
◆ minOilPressure()
FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::Scalar Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::minOilPressure |
( |
unsigned |
globalDofIdx | ) |
const |
|
inherited |
Returns an element's historic minimum pressure of the oil phase that was observed during the simulation.
In this context, "historic" means the the time before the current timestep began.
This is used for output of the minimum pressure used as input for the irreversible rock compation option.
◆ miscnumRegionIndex() [1/2]
template<class TypeTag >
template<class Context >
unsigned Opm::FlowProblem< TypeTag >::miscnumRegionIndex |
( |
const Context & |
context, |
|
|
unsigned |
spaceIdx, |
|
|
unsigned |
timeIdx |
|
) |
| const |
|
inline |
Returns the index of the relevant region for thermodynmic properties.
◆ miscnumRegionIndex() [2/2]
unsigned Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::miscnumRegionIndex |
( |
unsigned |
elemIdx | ) |
const |
|
inherited |
Returns the index the relevant MISC region given a cell index.
◆ mutableAquiferModel()
◆ name()
◆ nextTimeStepSize()
Propose the size of the next time step to the simulator.
This method is only called if the Newton solver does converge, the simulator automatically cuts the time step in half without consultating this method again.
◆ nonTrivialBoundaryConditions()
◆ numPressurePointsEquil()
int Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::numPressurePointsEquil |
( |
| ) |
const |
|
inlineinherited |
◆ operator==()
bool Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::operator== |
( |
const FlowGenericProblem< GetPropType< TypeTag, Properties::GridView >, GetPropType< TypeTag, Properties::FluidSystem > > & |
rhs | ) |
const |
|
inherited |
◆ overburdenPressure()
FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::Scalar Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::overburdenPressure |
( |
unsigned |
elementIdx | ) |
const |
|
inherited |
Get the pressure of the overburden.
This method is mainly for output.
◆ oxygenConcentration()
FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::Scalar Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::oxygenConcentration |
( |
unsigned |
elemIdx | ) |
const |
|
inherited |
Returns the initial oxygen concentration for a given a cell index.
◆ permFactTransMultiplier()
template<class TypeTag >
template<class LhsEval >
LhsEval Opm::FlowProblem< TypeTag >::permFactTransMultiplier |
( |
const IntensiveQuantities & |
intQuants | ) |
const |
|
inline |
Calculate the transmissibility multiplier due to porosity reduction.
TODO: The API of this is a bit ad-hoc, it would be better to use context objects.
◆ plmixnumRegionIndex() [1/2]
template<class TypeTag >
template<class Context >
unsigned Opm::FlowProblem< TypeTag >::plmixnumRegionIndex |
( |
const Context & |
context, |
|
|
unsigned |
spaceIdx, |
|
|
unsigned |
timeIdx |
|
) |
| const |
|
inline |
Returns the index of the relevant region for thermodynmic properties.
◆ plmixnumRegionIndex() [2/2]
unsigned Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::plmixnumRegionIndex |
( |
unsigned |
elemIdx | ) |
const |
|
inherited |
Returns the index the relevant PLMIXNUM (for polymer module) region given a cell index.
◆ polymerConcentration()
FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::Scalar Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::polymerConcentration |
( |
unsigned |
elemIdx | ) |
const |
|
inherited |
Returns the initial polymer concentration for a given a cell index.
◆ polymerMolecularWeight()
FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::Scalar Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::polymerMolecularWeight |
( |
const unsigned |
elemIdx | ) |
const |
|
inherited |
Returns the polymer molecule weight for a given cell index.
◆ porosity() [1/2]
template<class TypeTag >
template<class Context >
Scalar Opm::FlowProblem< TypeTag >::porosity |
( |
const Context & |
context, |
|
|
unsigned |
spaceIdx, |
|
|
unsigned |
timeIdx |
|
) |
| const |
|
inline |
For the FlowProblem, this method is identical to referencePorosity(). The intensive quantities object may apply various multipliers (e.g. ones which model rock compressibility and water induced rock compaction) to it which depend on the current physical conditions.
◆ porosity() [2/2]
FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::Scalar Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::porosity |
( |
unsigned |
globalSpaceIdx, |
|
|
unsigned |
timeIdx |
|
) |
| const |
|
inherited |
Direct indexed access to the porosity.
For the FlowProblem, this method is identical to referencePorosity(). The intensive quantities object may apply various multipliers (e.g. ones which model rock compressibility and water induced rock compaction) to it which depend on the current physical conditions.
◆ prefetch()
◆ processRestartSaturations_()
template<class TypeTag >
void Opm::FlowProblem< TypeTag >::processRestartSaturations_ |
( |
InitialFluidState & |
elemFluidState, |
|
|
Scalar & |
solventSaturation |
|
) |
| |
|
inlineprotected |
◆ pvtRegionIndex() [1/2]
template<class TypeTag >
template<class Context >
unsigned Opm::FlowProblem< TypeTag >::pvtRegionIndex |
( |
const Context & |
context, |
|
|
unsigned |
spaceIdx, |
|
|
unsigned |
timeIdx |
|
) |
| const |
|
inline |
Returns the index of the relevant region for thermodynmic properties.
◆ pvtRegionIndex() [2/2]
unsigned Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::pvtRegionIndex |
( |
unsigned |
elemIdx | ) |
const |
|
inherited |
Returns the index the relevant PVT region given a cell index.
◆ readBlackoilExtentionsInitialConditions_()
void Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::readBlackoilExtentionsInitialConditions_ |
( |
std::size_t |
numDof, |
|
|
bool |
enableSolvent, |
|
|
bool |
enablePolymer, |
|
|
bool |
enablePolymerMolarWeight, |
|
|
bool |
enableMICP |
|
) |
| |
|
protectedinherited |
◆ readEclRestartSolution_()
◆ readEquilInitialCondition_()
◆ readExplicitInitialCondition_()
◆ readInitialCondition_()
◆ readMaterialParameters_()
◆ readRockCompactionParameters_()
void Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::readRockCompactionParameters_ |
|
protectedinherited |
◆ readRockParameters_()
void Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::readRockParameters_ |
( |
const std::vector< Scalar > & |
cellCenterDepths, |
|
|
std::function< std::array< int, 3 >(const unsigned)> |
ijkIndex |
|
) |
| |
|
protectedinherited |
◆ readThermalParameters_()
◆ recycleFirstIterationStorage()
Return if the storage term of the first iteration is identical to the storage term for the solution of the previous time step.
For quite technical reasons, the storage term cannot be recycled if either DRSDT or DRVDT are active. Nor if the porosity is changes between timesteps using a pore volume multiplier (i.e., poreVolumeMultiplier() != 1.0)
◆ referencePorosity()
Scalar Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::referencePorosity |
( |
unsigned |
elementIdx, |
|
|
unsigned |
timeIdx |
|
) |
| const |
|
inlineinherited |
Returns the porosity of an element.
The reference porosity of an element is the porosity of the medium before modified by the current solution. Note that this method is not part of the generic eWoms problem API because it would bake the assumption that only the elements are the degrees of freedom into the interface.
◆ registerParameters()
◆ rockCompPoroMultiplier()
template<class TypeTag >
template<class LhsEval >
LhsEval Opm::FlowProblem< TypeTag >::rockCompPoroMultiplier |
( |
const IntensiveQuantities & |
intQuants, |
|
|
unsigned |
elementIdx |
|
) |
| const |
|
inline |
Calculate the porosity multiplier due to water induced rock compaction.
TODO: The API of this is a bit ad-hoc, it would be better to use context objects.
◆ rockCompressibility() [1/2]
template<class TypeTag >
template<class Context >
Scalar Opm::FlowProblem< TypeTag >::rockCompressibility |
( |
const Context & |
context, |
|
|
unsigned |
spaceIdx, |
|
|
unsigned |
timeIdx |
|
) |
| const |
|
inline |
◆ rockCompressibility() [2/2]
FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::Scalar Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::rockCompressibility |
( |
unsigned |
globalSpaceIdx | ) |
const |
|
inherited |
Direct access to rock compressibility.
While the above overload could be implemented in terms of this method, that would require always looking up the global space index, which is not always needed.
◆ rockCompTransMultiplier()
template<class TypeTag >
template<class LhsEval >
LhsEval Opm::FlowProblem< TypeTag >::rockCompTransMultiplier |
( |
const IntensiveQuantities & |
intQuants, |
|
|
unsigned |
elementIdx |
|
) |
| const |
|
inline |
Calculate the transmissibility multiplier due to water induced rock compaction.
TODO: The API of this is a bit ad-hoc, it would be better to use context objects.
◆ rockFraction()
FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::Scalar Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::rockFraction |
( |
unsigned |
elementIdx, |
|
|
unsigned |
timeIdx |
|
) |
| const |
|
inherited |
Returns the rockFraction of an element.
Usually 1 - porosity, but if pvmult is used to modify porosity we will apply the same multiplier to the rock fraction i.e. pvmult*(1 - porosity) and thus interpret multpv as a volume multiplier. This is to avoid negative rock volume for pvmult*porosity > 1
◆ rockReferencePressure() [1/2]
template<class TypeTag >
template<class Context >
Scalar Opm::FlowProblem< TypeTag >::rockReferencePressure |
( |
const Context & |
context, |
|
|
unsigned |
spaceIdx, |
|
|
unsigned |
timeIdx |
|
) |
| const |
|
inline |
◆ rockReferencePressure() [2/2]
FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::Scalar Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::rockReferencePressure |
( |
unsigned |
globalSpaceIdx | ) |
const |
|
inherited |
Direct access to rock reference pressure.
While the above overload could be implemented in terms of this method, that would require always looking up the global space index, which is not always needed.
◆ satnumRegionIndex() [1/2]
template<class TypeTag >
template<class Context >
unsigned Opm::FlowProblem< TypeTag >::satnumRegionIndex |
( |
const Context & |
context, |
|
|
unsigned |
spaceIdx, |
|
|
unsigned |
timeIdx |
|
) |
| const |
|
inline |
Returns the index of the relevant region for thermodynmic properties.
◆ satnumRegionIndex() [2/2]
unsigned Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::satnumRegionIndex |
( |
unsigned |
elemIdx | ) |
const |
|
inherited |
Returns the index the relevant saturation function region given a cell index.
◆ serializationTestObject()
FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > > Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::serializationTestObject |
( |
const EclipseState & |
eclState, |
|
|
const Schedule & |
schedule, |
|
|
const GetPropType< TypeTag, Properties::GridView > & |
gridView |
|
) |
| |
|
staticinherited |
◆ serialize()
template<class TypeTag >
template<class Restarter >
This method writes the complete state of the problem and its subobjects to disk.
The file format used here is ad-hoc.
◆ serializeOp()
template<class TypeTag >
template<class Serializer >
◆ setBriefDescription()
static void Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::setBriefDescription |
( |
const std::string & |
msg | ) |
|
|
inlinestaticinherited |
Specifies the string returned by briefDescription()
This string appears in the usage message.
◆ setConvData()
template<class TypeTag >
void Opm::FlowProblem< TypeTag >::setConvData |
( |
const std::vector< std::vector< int > > & |
data | ) |
|
|
inline |
◆ setMaxOilSaturation()
template<class TypeTag >
void Opm::FlowProblem< TypeTag >::setMaxOilSaturation |
( |
unsigned |
globalDofIdx, |
|
|
Scalar |
value |
|
) |
| |
|
inline |
Sets an element's maximum oil phase saturation observed during the simulation.
In this context, "historic" means the the time before the current timestep began.
This a hack on top of the maxOilSaturation() hack but it is currently required to do restart externally. i.e. from the flow code.
◆ setPorosity()
void Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::setPorosity |
( |
Scalar |
poro, |
|
|
unsigned |
elementIdx, |
|
|
unsigned |
timeIdx = 0 |
|
) |
| |
|
inlineinherited |
Sets the porosity of an element.
◆ setSimulationReport()
◆ setSubStepReport()
◆ shouldWriteOutput()
bool Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::shouldWriteOutput |
( |
| ) |
const |
|
inlineprotectedinherited |
Always returns true. The ecl output writer takes care of the rest.
◆ shouldWriteRestartFile()
bool Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::shouldWriteRestartFile |
( |
| ) |
const |
|
inlineprotectedinherited |
Returns true if an eWoms restart file should be written to disk.
The FlowProblem does not write any restart files using the ad-hoc format, only ones using the ECL format.
◆ solidEnergyLawParams() [1/2]
template<class TypeTag >
template<class Context >
const SolidEnergyLawParams & Opm::FlowProblem< TypeTag >::solidEnergyLawParams |
( |
const Context & |
context, |
|
|
unsigned |
spaceIdx, |
|
|
unsigned |
timeIdx |
|
) |
| const |
|
inline |
Return the parameters for the energy storage law of the rock.
◆ solidEnergyLawParams() [2/2]
template<class TypeTag >
const SolidEnergyLawParams & Opm::FlowProblem< TypeTag >::solidEnergyLawParams |
( |
unsigned |
globalSpaceIdx, |
|
|
unsigned |
|
|
) |
| const |
|
inline |
◆ solventRsw()
FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::Scalar Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::solventRsw |
( |
unsigned |
elemIdx | ) |
const |
|
inherited |
Returns the initial solvent dissolved in water for a given a cell index.
◆ solventSaturation()
FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::Scalar Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::solventSaturation |
( |
unsigned |
elemIdx | ) |
const |
|
inherited |
Returns the initial solvent saturation for a given a cell index.
◆ source() [1/2]
template<class TypeTag >
template<class Context >
void Opm::FlowProblem< TypeTag >::source |
( |
RateVector & |
rate, |
|
|
const Context & |
context, |
|
|
unsigned |
spaceIdx, |
|
|
unsigned |
timeIdx |
|
) |
| const |
|
inline |
For this problem, the source term of all components is 0 everywhere.
◆ source() [2/2]
template<class TypeTag >
void Opm::FlowProblem< TypeTag >::source |
( |
RateVector & |
rate, |
|
|
unsigned |
globalDofIdx, |
|
|
unsigned |
timeIdx |
|
) |
| const |
|
inline |
◆ temperature() [1/2]
template<class TypeTag >
template<class Context >
Scalar Opm::FlowProblem< TypeTag >::temperature |
( |
const Context & |
context, |
|
|
unsigned |
spaceIdx, |
|
|
unsigned |
timeIdx |
|
) |
| const |
|
inline |
◆ temperature() [2/2]
template<class TypeTag >
Scalar Opm::FlowProblem< TypeTag >::temperature |
( |
unsigned |
globalDofIdx, |
|
|
unsigned |
|
|
) |
| const |
|
inline |
◆ thermalConductionLawParams() [1/2]
template<class TypeTag >
template<class Context >
const ThermalConductionLawParams & Opm::FlowProblem< TypeTag >::thermalConductionLawParams |
( |
const Context & |
context, |
|
|
unsigned |
spaceIdx, |
|
|
unsigned |
timeIdx |
|
) |
| const |
|
inline |
◆ thermalConductionLawParams() [2/2]
template<class TypeTag >
const ThermalConductionLawParams & Opm::FlowProblem< TypeTag >::thermalConductionLawParams |
( |
unsigned |
globalSpaceIdx, |
|
|
unsigned |
|
|
) |
| const |
|
inline |
◆ thermalHalfTransmissibility()
template<class TypeTag >
Scalar Opm::FlowProblem< TypeTag >::thermalHalfTransmissibility |
( |
const unsigned |
globalSpaceIdxIn, |
|
|
const unsigned |
globalSpaceIdxOut |
|
) |
| const |
|
inline |
◆ thermalHalfTransmissibilityBoundary()
template<class TypeTag >
template<class Context >
Scalar Opm::FlowProblem< TypeTag >::thermalHalfTransmissibilityBoundary |
( |
const Context & |
elemCtx, |
|
|
unsigned |
boundaryFaceIdx |
|
) |
| const |
|
inline |
◆ thermalHalfTransmissibilityIn()
template<class TypeTag >
template<class Context >
Scalar Opm::FlowProblem< TypeTag >::thermalHalfTransmissibilityIn |
( |
const Context & |
context, |
|
|
unsigned |
faceIdx, |
|
|
unsigned |
timeIdx |
|
) |
| const |
|
inline |
◆ thermalHalfTransmissibilityOut()
template<class TypeTag >
template<class Context >
Scalar Opm::FlowProblem< TypeTag >::thermalHalfTransmissibilityOut |
( |
const Context & |
context, |
|
|
unsigned |
faceIdx, |
|
|
unsigned |
timeIdx |
|
) |
| const |
|
inline |
◆ thermalTransmissibilityBoundary()
template<class TypeTag >
Scalar Opm::FlowProblem< TypeTag >::thermalTransmissibilityBoundary |
( |
const unsigned |
globalSpaceIdx, |
|
|
const unsigned |
boundaryFaceIdx |
|
) |
| const |
|
inline |
Direct access to a boundary transmissibility.
◆ thresholdPressure() [1/3]
◆ thresholdPressure() [2/3]
◆ thresholdPressure() [3/3]
template<class TypeTag >
Scalar Opm::FlowProblem< TypeTag >::thresholdPressure |
( |
unsigned |
elem1Idx, |
|
|
unsigned |
elem2Idx |
|
) |
| const |
|
inline |
◆ tracerModel() [1/2]
◆ tracerModel() [2/2]
◆ transmissibility() [1/2]
template<class TypeTag >
template<class Context >
Scalar Opm::FlowProblem< TypeTag >::transmissibility |
( |
const Context & |
context, |
|
|
unsigned |
fromDofLocalIdx, |
|
|
unsigned |
toDofLocalIdx |
|
) |
| const |
|
inline |
◆ transmissibility() [2/2]
template<class TypeTag >
Scalar Opm::FlowProblem< TypeTag >::transmissibility |
( |
unsigned |
globalCenterElemIdx, |
|
|
unsigned |
globalElemIdx |
|
) |
| const |
|
inline |
Direct access to the transmissibility between two elements.
◆ transmissibilityBoundary() [1/2]
template<class TypeTag >
template<class Context >
Scalar Opm::FlowProblem< TypeTag >::transmissibilityBoundary |
( |
const Context & |
elemCtx, |
|
|
unsigned |
boundaryFaceIdx |
|
) |
| const |
|
inline |
◆ transmissibilityBoundary() [2/2]
template<class TypeTag >
Scalar Opm::FlowProblem< TypeTag >::transmissibilityBoundary |
( |
const unsigned |
globalSpaceIdx, |
|
|
const unsigned |
boundaryFaceIdx |
|
) |
| const |
|
inline |
Direct access to a boundary transmissibility.
◆ updateCompositionChangeLimits_()
◆ updateExplicitQuantities_()
◆ updateHysteresis_() [1/2]
◆ updateHysteresis_() [2/2]
template<class TypeTag >
bool Opm::FlowProblem< TypeTag >::updateHysteresis_ |
( |
unsigned |
compressedDofIdx, |
|
|
const IntensiveQuantities & |
iq |
|
) |
| |
|
inlineprotected |
◆ updateImbnum_()
void Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::updateImbnum_ |
|
protectedinherited |
◆ updateKrnum_()
void Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::updateKrnum_ |
|
protectedinherited |
◆ updateMaxOilSaturation_() [1/2]
◆ updateMaxOilSaturation_() [2/2]
template<class TypeTag >
bool Opm::FlowProblem< TypeTag >::updateMaxOilSaturation_ |
( |
unsigned |
compressedDofIdx, |
|
|
const IntensiveQuantities & |
iq |
|
) |
| |
|
inlineprotected |
◆ updateMaxPolymerAdsorption_() [1/2]
◆ updateMaxPolymerAdsorption_() [2/2]
template<class TypeTag >
bool Opm::FlowProblem< TypeTag >::updateMaxPolymerAdsorption_ |
( |
unsigned |
compressedDofIdx, |
|
|
const IntensiveQuantities & |
iq |
|
) |
| |
|
inlineprotected |
◆ updateMaxWaterSaturation_() [1/2]
◆ updateMaxWaterSaturation_() [2/2]
template<class TypeTag >
bool Opm::FlowProblem< TypeTag >::updateMaxWaterSaturation_ |
( |
unsigned |
compressedDofIdx, |
|
|
const IntensiveQuantities & |
iq |
|
) |
| |
|
inlineprotected |
◆ updateMinPressure_() [1/2]
◆ updateMinPressure_() [2/2]
template<class TypeTag >
bool Opm::FlowProblem< TypeTag >::updateMinPressure_ |
( |
unsigned |
compressedDofIdx, |
|
|
const IntensiveQuantities & |
iq |
|
) |
| |
|
inlineprotected |
◆ updateMiscnum_()
void Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::updateMiscnum_ |
|
protectedinherited |
◆ updatePlmixnum_()
void Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::updatePlmixnum_ |
|
protectedinherited |
◆ updateProperty_()
template<class TypeTag >
template<class UpdateFunc >
void Opm::FlowProblem< TypeTag >::updateProperty_ |
( |
const std::string & |
failureMsg, |
|
|
UpdateFunc |
func |
|
) |
| |
|
inlineprotected |
◆ updatePvtnum_()
void Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::updatePvtnum_ |
|
protectedinherited |
◆ updateReferencePorosity_()
◆ updateRelperms()
template<class TypeTag >
template<class FluidState >
void Opm::FlowProblem< TypeTag >::updateRelperms |
( |
std::array< Evaluation, numPhases > & |
mobility, |
|
|
DirectionalMobilityPtr & |
dirMob, |
|
|
FluidState & |
fluidState, |
|
|
unsigned |
globalSpaceIdx |
|
) |
| const |
|
inline |
◆ updateSatnum_()
void Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::updateSatnum_ |
|
protectedinherited |
◆ ureaConcentration()
FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::Scalar Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::ureaConcentration |
( |
unsigned |
elemIdx | ) |
const |
|
inherited |
Returns the initial urea concentration for a given a cell index.
◆ vapparsActive()
bool Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::vapparsActive |
( |
int |
episodeIdx | ) |
const |
|
inherited |
◆ wellModel() [1/2]
◆ wellModel() [2/2]
Returns a reference to the ECL well manager used by the problem.
This can be used for inspecting wells outside of the problem.
◆ wellTransMultiplier()
template<class TypeTag >
template<class LhsEval >
LhsEval Opm::FlowProblem< TypeTag >::wellTransMultiplier |
( |
const IntensiveQuantities & |
intQuants, |
|
|
unsigned |
elementIdx |
|
) |
| const |
|
inline |
Return the well transmissibility multiplier due to rock changues.
◆ writeOutput()
Write the requested quantities of the current solution into the output files.
◆ briefDescription_
std::string Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::briefDescription_ |
|
inlinestaticprotectedinherited |
◆ eclState_
const EclipseState& Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::eclState_ |
|
protectedinherited |
◆ enableTuning_
bool Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::enableTuning_ |
|
protectedinherited |
◆ gridView_
const GetPropType< TypeTag, Properties::GridView > & Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::gridView_ |
|
protectedinherited |
◆ imbnumx_
std::vector<unsigned short> Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::imbnumx_ |
|
protectedinherited |
◆ imbnumy_
std::vector<unsigned short> Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::imbnumy_ |
|
protectedinherited |
◆ imbnumz_
std::vector<unsigned short> Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::imbnumz_ |
|
protectedinherited |
◆ initialTimeStepSize_
Scalar Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::initialTimeStepSize_ |
|
protectedinherited |
◆ krnumx_
std::vector<unsigned short> Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::krnumx_ |
|
protectedinherited |
◆ krnumy_
std::vector<unsigned short> Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::krnumy_ |
|
protectedinherited |
◆ krnumz_
std::vector<unsigned short> Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::krnumz_ |
|
protectedinherited |
◆ lookUpData_
◆ maxOilSaturation_
std::vector<Scalar> Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::maxOilSaturation_ |
|
protectedinherited |
◆ maxTimeStepAfterWellEvent_
Scalar Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::maxTimeStepAfterWellEvent_ |
|
protectedinherited |
◆ maxWaterSaturation_
std::vector<Scalar> Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::maxWaterSaturation_ |
|
protectedinherited |
◆ micp_
◆ minRefPressure_
std::vector<Scalar> Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::minRefPressure_ |
|
protectedinherited |
◆ miscnum_
std::vector<unsigned short> Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::miscnum_ |
|
protectedinherited |
◆ mixControls_
◆ numPressurePointsEquil_
int Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::numPressurePointsEquil_ |
|
protectedinherited |
◆ overburdenPressure_
std::vector<Scalar> Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::overburdenPressure_ |
|
protectedinherited |
◆ plmixnum_
std::vector<unsigned short> Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::plmixnum_ |
|
protectedinherited |
◆ polymer_
◆ pvtnum_
std::vector<int> Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::pvtnum_ |
|
protectedinherited |
◆ referencePorosity_
std::array<std::vector<Scalar>, 2> Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::referencePorosity_ |
|
protectedinherited |
◆ rockCompPoroMult_
◆ rockCompPoroMultWc_
◆ rockCompTransMult_
◆ rockCompTransMultVal_
std::vector<Scalar> Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::rockCompTransMultVal_ |
|
protectedinherited |
◆ rockCompTransMultWc_
◆ rockParams_
std::vector<RockParams> Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::rockParams_ |
|
protectedinherited |
◆ rockTableIdx_
std::vector<unsigned short> Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::rockTableIdx_ |
|
protectedinherited |
◆ satnum_
std::vector<unsigned short> Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::satnum_ |
|
protectedinherited |
◆ schedule_
const Schedule& Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::schedule_ |
|
protectedinherited |
◆ solventRsw_
std::vector<Scalar> Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::solventRsw_ |
|
protectedinherited |
◆ solventSaturation_
std::vector<Scalar> Opm::FlowGenericProblem< GetPropType< TypeTag, Properties::GridView > , GetPropType< TypeTag, Properties::FluidSystem > >::solventSaturation_ |
|
protectedinherited |
The documentation for this class was generated from the following file:
|