This problem simulates an input file given in the data format used by the commercial ECLiPSE simulator.
More...
|
| 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.
|
|
template<class Restarter > |
void | serialize (Restarter &res) |
| This method writes the complete state of the problem and its subobjects to disk.
|
|
int | episodeIndex () const |
|
void | beginEpisode () |
| Called by the simulator before an episode begins.
|
|
void | beginTimeStep () |
| Called by the simulator before each time integration.
|
|
void | beginIteration () |
| Called by the simulator before each Newton-Raphson iteration.
|
|
void | endIteration () |
| Called by the simulator after each Newton-Raphson iteration.
|
|
void | endTimeStep () |
| Called by the simulator after each time integration.
|
|
void | endEpisode () |
| Called by the simulator after the end of an episode.
|
|
void | writeOutput (const SimulatorTimer &timer, bool verbose=true) |
| Write the requested quantities of the current solution into the output files.
|
|
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.
|
|
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.
|
|
template<class Context > |
Scalar | diffusivity (const Context &context, unsigned fromDofLocalIdx, unsigned toDofLocalIdx) const |
|
Scalar | diffusivity (const unsigned globalCellIn, const unsigned globalCellOut) const |
| give the transmissibility for a face i.e.
|
|
Scalar | dispersivity (const unsigned globalCellIn, const unsigned globalCellOut) const |
| give the dispersivity for a face i.e.
|
|
Scalar | thermalTransmissibilityBoundary (const unsigned globalSpaceIdx, const unsigned boundaryFaceIdx) const |
| Direct access to a boundary transmissibility.
|
|
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.
|
|
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.
|
|
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].
|
|
Scalar | dofCenterDepth (unsigned globalSpaceIdx) const |
| Direct indexed acces to the depth of an degree of freedom [m].
|
|
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.
|
|
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.
|
|
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.
|
|
template<class Context > |
unsigned | satnumRegionIndex (const Context &context, unsigned spaceIdx, unsigned timeIdx) const |
| Returns the index of the relevant region for thermodynmic properties.
|
|
template<class Context > |
unsigned | miscnumRegionIndex (const Context &context, unsigned spaceIdx, unsigned timeIdx) const |
| Returns the index of the relevant region for thermodynmic properties.
|
|
template<class Context > |
unsigned | plmixnumRegionIndex (const Context &context, unsigned spaceIdx, unsigned timeIdx) const |
| Returns the index of the relevant region for thermodynmic properties.
|
|
template<class Context > |
Scalar | maxPolymerAdsorption (const Context &context, unsigned spaceIdx, unsigned timeIdx) const |
| Returns the max polymer adsorption value.
|
|
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.
|
|
void | setMaxOilSaturation (unsigned globalDofIdx, Scalar value) |
| Sets an element's maximum oil phase saturation observed during the simulation.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
template<class LhsEval > |
LhsEval | rockCompPoroMultiplier (const IntensiveQuantities &intQuants, unsigned elementIdx) const |
| Calculate the porosity multiplier due to water induced rock compaction.
|
|
template<class LhsEval > |
LhsEval | rockCompTransMultiplier (const IntensiveQuantities &intQuants, unsigned elementIdx) const |
| Calculate the transmissibility multiplier due to water induced rock compaction.
|
|
template<class LhsEval > |
LhsEval | permFactTransMultiplier (const IntensiveQuantities &intQuants) const |
| Calculate the transmissibility multiplier due to porosity reduction.
|
|
template<class LhsEval > |
LhsEval | wellTransMultiplier (const IntensiveQuantities &intQuants, unsigned elementIdx) const |
| Return the well transmissibility multiplier due to rock changues.
|
|
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) |
|
| FlowGenericProblem (const EclipseState &eclState, const Schedule &schedule, const GetPropType< TypeTag, Properties::GridView > &gridView) |
|
Scalar | maxWaterSaturation (unsigned globalDofIdx) const |
| Returns an element's historic maximum water phase saturation that was observed during the simulation.
|
|
Scalar | minOilPressure (unsigned globalDofIdx) const |
| Returns an element's historic minimum pressure of the oil phase that was observed during the simulation.
|
|
Scalar | overburdenPressure (unsigned elementIdx) const |
| Get the pressure of the overburden.
|
|
Scalar | referencePorosity (unsigned elementIdx, unsigned timeIdx) const |
| Returns the porosity of an element.
|
|
Scalar | rockFraction (unsigned elementIdx, unsigned timeIdx) const |
| Returns the rockFraction of an element.
|
|
void | setPorosity (Scalar poro, unsigned elementIdx, unsigned timeIdx=0) |
| Sets the porosity of an element.
|
|
Scalar | solventSaturation (unsigned elemIdx) const |
| Returns the initial solvent saturation for a given a cell index.
|
|
Scalar | solventRsw (unsigned elemIdx) const |
| Returns the initial solvent dissolved in water for a given a cell index.
|
|
Scalar | drsdtcon (unsigned elemIdx, int episodeIdx) const |
| Returns the dynamic drsdt convective mixing value.
|
|
Scalar | polymerConcentration (unsigned elemIdx) const |
| Returns the initial polymer concentration for a given a cell index.
|
|
Scalar | polymerMolecularWeight (const unsigned elemIdx) const |
| Returns the polymer molecule weight for a given cell index.
|
|
Scalar | microbialConcentration (unsigned elemIdx) const |
| Returns the initial microbial concentration for a given a cell index.
|
|
Scalar | oxygenConcentration (unsigned elemIdx) const |
| Returns the initial oxygen concentration for a given a cell index.
|
|
Scalar | ureaConcentration (unsigned elemIdx) const |
| Returns the initial urea concentration for a given a cell index.
|
|
Scalar | biofilmConcentration (unsigned elemIdx) const |
| Returns the initial biofilm concentration for a given a cell index.
|
|
Scalar | calciteConcentration (unsigned elemIdx) const |
| Returns the initial calcite concentration for a given a cell index.
|
|
unsigned | pvtRegionIndex (unsigned elemIdx) const |
| Returns the index the relevant PVT region given a cell index.
|
|
unsigned | satnumRegionIndex (unsigned elemIdx) const |
| Returns the index the relevant saturation function region given a cell index.
|
|
unsigned | miscnumRegionIndex (unsigned elemIdx) const |
| Returns the index the relevant MISC region given a cell index.
|
|
unsigned | plmixnumRegionIndex (unsigned elemIdx) const |
| Returns the index the relevant PLMIXNUM (for polymer module) region given a cell index.
|
|
Scalar | maxPolymerAdsorption (unsigned elemIdx) const |
| Returns the max polymer adsorption value.
|
|
Scalar | rockCompressibility (unsigned globalSpaceIdx) const |
| Direct access to rock compressibility.
|
|
Scalar | rockReferencePressure (unsigned globalSpaceIdx) const |
| Direct access to rock reference pressure.
|
|
Scalar | porosity (unsigned globalSpaceIdx, unsigned timeIdx) const |
| Direct indexed access to the porosity.
|
|
bool | vapparsActive (int episodeIdx) const |
|
int | numPressurePointsEquil () const |
|
bool | operator== (const FlowGenericProblem &rhs) const |
|
void | serializeOp (Serializer &serializer) |
|
|
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.
|
|
bool | shouldWriteRestartFile () const |
| Returns true if an eWoms restart file should be written to disk.
|
|
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_ () |
|