This problem simulates an input file given in the data format used by the commercial ECLiPSE simulator.
More...
|
| FlowProblemComp (Simulator &simulator) |
|
void | finishInit () |
| Called by the Opm::Simulator in order to initialize the problem.
|
|
template<class Context > |
void | boundary (BoundaryRateVector &values, const Context &context, unsigned spaceIdx, unsigned) const |
| Evaluate the boundary conditions for a boundary segment.
|
|
template<class Context > |
void | initial (PrimaryVariables &values, const Context &context, unsigned spaceIdx, unsigned timeIdx) const |
| Evaluate the initial value for a control volume.
|
|
void | addToSourceDense (RateVector &, unsigned, unsigned) const override |
|
const InitialFluidState & | initialFluidState (unsigned globalDofIdx) const |
|
std::vector< InitialFluidState > & | initialFluidStates () |
|
const std::vector< InitialFluidState > & | initialFluidStates () const |
|
template<class Serializer > |
void | serializeOp (Serializer &serializer) |
|
template<class Context > |
Scalar | porosity (const Context &context, unsigned spaceIdx, unsigned timeIdx) const |
|
template<class Context > |
unsigned | pvtRegionIndex (const Context &context, unsigned spaceIdx, unsigned timeIdx) const |
| Returns the index of the relevant region for thermodynmic properties.
|
|
| FlowProblem (Simulator &simulator) |
|
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 |
|
virtual 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.
|
|
virtual void | endTimeStep () |
| Called by the simulator after each time integration.
|
|
virtual void | endEpisode () |
| Called by the simulator after the end of an episode.
|
|
void | writeOutput (bool verbose=true) |
| Write the requested quantities of the current solution into the output files.
|
|
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.
|
|
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 |
| The problem name.
|
|
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 |
|
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.
|
|
virtual void | initialSolutionApplied () |
| Callback used by the model to indicate that the initial solution has been determined for all degrees of freedom.
|
|
template<class Context > |
void | source (RateVector &rate, const Context &context, unsigned spaceIdx, unsigned timeIdx) const |
| Evaluate the source term for all phases within a given sub-control-volume.
|
|
void | source (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 () |
|
bool | nonTrivialBoundaryConditions () 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 | 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 |
|
template<class Serializer > |
void | serializeOp (Serializer &serializer) |
|
| FlowGenericProblem (const EclipseState &eclState, const Schedule &schedule, const 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_ (int, int, bool) override |
|
void | readEquilInitialCondition_ () override |
|
void | readEclRestartSolution_ () |
|
void | readExplicitInitialCondition_ () override |
|
void | readExplicitInitialConditionCompositional_ () |
|
template<class UpdateFunc > |
void | updateProperty_ (const std::string &failureMsg, UpdateFunc func) |
|
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_ () |
|
virtual void | readInitialCondition_ () |
|
bool | updateHysteresis_ () |
|
bool | updateHysteresis_ (unsigned compressedDofIdx, const IntensiveQuantities &iq) |
|
Scalar | getRockCompTransMultVal (std::size_t dofIdx) const |
|
void | updatePffDofData_ () |
|
void | readBoundaryConditions_ () |
|
Scalar | limitNextTimeStepSize_ (Scalar dtNext) const |
|
int | refPressurePhaseIdx_ () const |
|
void | updateRockCompTransMultVal_ () |
|
template<class LhsEval > |
LhsEval | computeRockCompTransMultiplier_ (const IntensiveQuantities &intQuants, unsigned elementIdx) const |
| Calculate the transmissibility multiplier due to water induced rock compaction.
|
|
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_ () |
|
std::function< unsigned(unsigned)> | lookupIdxOnLevelZeroAssigner_ () |
|
|
using | Scalar |
|
using | TabulatedTwoDFunction |
|
using | TabulatedFunction |
|
enum | { dim = GridView::dimension
} |
|
enum | { dimWorld = GridView::dimensionworld
} |
|
enum | { numEq = getPropValue<TypeTag, Properties::NumEq>()
} |
|
enum | { numPhases = FluidSystem::numPhases
} |
|
enum | { numComponents = FluidSystem::numComponents
} |
|
enum | { enableConvectiveMixing = getPropValue<TypeTag, Properties::EnableConvectiveMixing>()
} |
|
enum | { enableBrine = getPropValue<TypeTag, Properties::EnableBrine>()
} |
|
enum | { enableDiffusion = getPropValue<TypeTag, Properties::EnableDiffusion>()
} |
|
enum | { enableDispersion = getPropValue<TypeTag, Properties::EnableDispersion>()
} |
|
enum | { enableEnergy = getPropValue<TypeTag, Properties::EnableEnergy>()
} |
|
enum | { enableExperiments = getPropValue<TypeTag, Properties::EnableExperiments>()
} |
|
enum | { enableExtbo = getPropValue<TypeTag, Properties::EnableExtbo>()
} |
|
enum | { enableFoam = getPropValue<TypeTag, Properties::EnableFoam>()
} |
|
enum | { enableMICP = getPropValue<TypeTag, Properties::EnableMICP>()
} |
|
enum | { enablePolymer = getPropValue<TypeTag, Properties::EnablePolymer>()
} |
|
enum | { enablePolymerMolarWeight = getPropValue<TypeTag, Properties::EnablePolymerMW>()
} |
|
enum | { enableSaltPrecipitation = getPropValue<TypeTag, Properties::EnableSaltPrecipitation>()
} |
|
enum | { enableSolvent = getPropValue<TypeTag, Properties::EnableSolvent>()
} |
|
enum | { enableTemperature = getPropValue<TypeTag, Properties::EnableTemperature>()
} |
|
enum | { enableThermalFluxBoundaries = getPropValue<TypeTag, Properties::EnableThermalFluxBoundaries>()
} |
|
enum | { gasPhaseIdx = FluidSystem::gasPhaseIdx
} |
|
enum | { oilPhaseIdx = FluidSystem::oilPhaseIdx
} |
|
enum | { waterPhaseIdx = FluidSystem::waterPhaseIdx
} |
|
enum | { gasCompIdx = FluidSystem::gasCompIdx
} |
|
enum | { oilCompIdx = FluidSystem::oilCompIdx
} |
|
enum | { waterCompIdx = FluidSystem::waterCompIdx
} |
|
using | BaseType |
|
using | ParentType = GetPropType<TypeTag, Properties::BaseProblem> |
|
using | Implementation = GetPropType<TypeTag, Properties::Problem> |
|
using | Scalar = GetPropType<TypeTag, Properties::Scalar> |
|
using | GridView = GetPropType<TypeTag, Properties::GridView> |
|
using | Stencil = GetPropType<TypeTag, Properties::Stencil> |
|
using | FluidSystem = GetPropType<TypeTag, Properties::FluidSystem> |
|
using | GlobalEqVector = GetPropType<TypeTag, Properties::GlobalEqVector> |
|
using | EqVector = GetPropType<TypeTag, Properties::EqVector> |
|
using | Vanguard = GetPropType<TypeTag, Properties::Vanguard> |
|
using | PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables> |
|
using | RateVector = GetPropType<TypeTag, Properties::RateVector> |
|
using | Simulator = GetPropType<TypeTag, Properties::Simulator> |
|
using | Element = typename GridView::template Codim<0>::Entity |
|
using | ElementContext = GetPropType<TypeTag, Properties::ElementContext> |
|
using | EclMaterialLawManager = typename GetProp<TypeTag, Properties::MaterialLaw>::EclMaterialLawManager |
|
using | EclThermalLawManager = typename GetProp<TypeTag, Properties::SolidEnergyLaw>::EclThermalLawManager |
|
using | MaterialLawParams = typename EclMaterialLawManager::MaterialLawParams |
|
using | SolidEnergyLawParams = typename EclThermalLawManager::SolidEnergyLawParams |
|
using | ThermalConductionLawParams = typename EclThermalLawManager::ThermalConductionLawParams |
|
using | MaterialLaw = GetPropType<TypeTag, Properties::MaterialLaw> |
|
using | DofMapper = GetPropType<TypeTag, Properties::DofMapper> |
|
using | Evaluation = GetPropType<TypeTag, Properties::Evaluation> |
|
using | Indices = GetPropType<TypeTag, Properties::Indices> |
|
using | IntensiveQuantities = GetPropType<TypeTag, Properties::IntensiveQuantities> |
|
using | WellModel = GetPropType<TypeTag, Properties::WellModel> |
|
using | AquiferModel = GetPropType<TypeTag, Properties::AquiferModel> |
|
using | Toolbox = MathToolbox<Evaluation> |
|
using | DimMatrix = Dune::FieldMatrix<Scalar, dimWorld, dimWorld> |
|
using | TracerModel = GetPropType<TypeTag, Properties::TracerModel> |
|
using | DirectionalMobilityPtr = Utility::CopyablePtr<DirectionalMobility<TypeTag, Evaluation>> |
|
using | Grid |
|
using | LookUpData |
|
Vanguard::TransmissibilityType | transmissibilities_ |
|
std::shared_ptr< EclMaterialLawManager > | materialLawManager_ |
|
std::shared_ptr< EclThermalLawManager > | thermalLawManager_ |
|
bool | enableDriftCompensation_ |
|
GlobalEqVector | drift_ |
|
WellModel | wellModel_ |
|
AquiferModel | aquiferModel_ |
|
bool | enableVtkOutput_ |
|
PffGridVector< GridView, Stencil, PffDofData_, DofMapper > | pffDofData_ |
|
TracerModel | tracerModel_ |
|
BCData< int > | bcindex_ |
|
bool | nonTrivialBoundaryConditions_ = false |
|
bool | explicitRockCompaction_ = false |
|
bool | first_step_ = true |
|
const EclipseState & | eclState_ |
|
const Schedule & | schedule_ |
|
const GridView & | gridView_ |
|
std::array< std::vector< Scalar >, 2 > | referencePorosity_ |
|
std::vector< int > | pvtnum_ |
|
std::vector< unsigned short > | satnum_ |
|
std::vector< unsigned short > | miscnum_ |
|
std::vector< unsigned short > | plmixnum_ |
|
std::vector< RockParams > | rockParams_ |
|
std::vector< unsigned short > | rockTableIdx_ |
|
std::vector< TabulatedTwoDFunction > | rockCompPoroMultWc_ |
|
std::vector< TabulatedTwoDFunction > | rockCompTransMultWc_ |
|
std::vector< TabulatedFunction > | rockCompPoroMult_ |
|
std::vector< TabulatedFunction > | rockCompTransMult_ |
|
std::vector< Scalar > | rockCompTransMultVal_ |
|
PolymerSolutionContainer< Scalar > | polymer_ |
|
std::vector< Scalar > | maxOilSaturation_ |
|
std::vector< Scalar > | maxWaterSaturation_ |
|
std::vector< Scalar > | minRefPressure_ |
|
std::vector< Scalar > | overburdenPressure_ |
|
std::vector< Scalar > | solventSaturation_ |
|
std::vector< Scalar > | solventRsw_ |
|
MICPSolutionContainer< Scalar > | micp_ |
|
bool | enableTuning_ |
|
Scalar | initialTimeStepSize_ |
|
Scalar | maxTimeStepAfterWellEvent_ |
|
int | numPressurePointsEquil_ |
|
const LookUpData | lookUpData_ |
|
static std::string | briefDescription_ |
|