|
FlowProblem.hpp
Go to the documentation of this file.
128 static constexpr bool enableConvectiveMixing = getPropValue<TypeTag, Properties::EnableConvectiveMixing>();
134 static constexpr bool enablePolymerMolarWeight = getPropValue<TypeTag, Properties::EnablePolymerMW>();
137 static constexpr EnergyModules energyModuleType = getPropValue<TypeTag, Properties::EnergyModuleType>();
138 enum { enableFullyImplicitThermal = getPropValue<TypeTag, Properties::EnergyModuleType>() == EnergyModules::FullyImplicitThermal };
141 enum { enableSaltPrecipitation = getPropValue<TypeTag, Properties::EnableSaltPrecipitation>() };
142 enum { enableThermalFluxBoundaries = getPropValue<TypeTag, Properties::EnableThermalFluxBoundaries>() };
148 // TODO: later, gasCompIdx, oilCompIdx and waterCompIdx should go to the FlowProblemBlackoil in the future
159 using EclMaterialLawManager = typename GetProp<TypeTag, Properties::MaterialLaw>::EclMaterialLawManager;
160 using EclThermalLawManager = typename GetProp<TypeTag, Properties::SolidEnergyLaw>::EclThermalLawManager;
267 this->enableDriftCompensationTemp_ = Parameters::Get<Parameters::EnableDriftCompensationTemp>();
847 const auto& rock_config = this->simulator().vanguard().eclState().getSimulationConfig().rock_config();
879 const MaterialLawParams& materialLawParams(unsigned globalDofIdx, FaceDir::DirEnum facedir) const
933 MaterialLaw::template relativePermeabilities<ContainerT, FluidState, Args...>(mobility, materialParams, fluidState);
946 MaterialLaw::template relativePermeabilities<ContainerT, FluidState, Args...>(mob_array, materialParams, fluidState);
1202 LhsEval rockCompPoroMultiplier(const IntensiveQuantities& intQuants, unsigned elementIdx) const
1213 const auto& rock_config = this->simulator().vanguard().eclState().getSimulationConfig().rock_config();
1229 const auto& initialPressure = asImp_().initialFluidState(elementIdx).pressure(refPressurePhaseIdx_());
1237 return this->rockCompPoroMultElastic_[tableIdx].eval(turningPressure, effectivePressure, /*extrapolation=*/true);
1260 LhsEval SwMax = max(decay<LhsEval>(fs.saturation(waterPhaseIdx)), this->maxWaterSaturation_[elementIdx]);
1261 LhsEval SwDeltaMax = SwMax - asImp_().initialFluidStates()[elementIdx].saturation(waterPhaseIdx);
1263 return this->rockCompPoroMultWc_[tableIdx].eval(effectivePressure, SwDeltaMax, /*extrapolation=*/true);
1272 LhsEval rockCompTransMultiplier(const IntensiveQuantities& intQuants, unsigned elementIdx) const
1286 LhsEval rockCompTransMultiplier(const IntensiveQuantities& intQuants, unsigned elementIdx, Callback& obtain) const
1289 return implicit ? this->simulator().problem().template computeRockCompTransMultiplier_<LhsEval>(intQuants, elementIdx, obtain)
1294 LhsEval wellTransMultiplier(const IntensiveQuantities& intQuants, unsigned elementIdx, Callback& obtain) const
1299 LhsEval trans_mult = implicit ? this->simulator().problem().template computeRockCompTransMultiplier_<LhsEval>(intQuants, elementIdx, obtain)
1301 trans_mult *= this->simulator().problem().template permFactTransMultiplier<LhsEval>(intQuants, elementIdx, obtain);
1306 std::pair<BCType, RateVector> boundaryCondition(const unsigned int globalSpaceIdx, const int directionId) const
1658 // \brief Function to assign field properties of type int, unsigned int, ..., on the leaf grid view.
1667 return [&lookup](const FieldPropsManager& fieldPropManager, const std::string& propString, bool needsTranslation)
1669 return lookup.template assignFieldPropsIntOnLeaf<IntType>(fieldPropManager, propString, needsTranslation);
1771 // A common practice in reservoir simulation is to use large pore-volume-multipliers in boundary cells
1772 // to model boundary conditions other than no-flow. This may result in reference porosities that are larger than 1.
1773 // A simple (1-reference porosity) * geometric volume of the element may give unphysical results.
1774 // We therefore instead consider the pore-volume-multiplier as a volume multiplier. The rock fraction is thus given by
1775 // (1 - porosity * ntg) * pore-volume-multiplier = (1 - porosity * ntg) * reference porosity / (porosity * ntg)
1784 const auto rock_fraction = (1 - poro_eff) * this->referencePorosity_[/*timeIdx=*/0][sfcdofIdx] / poro_eff;
1806 this->maxWaterSaturation_[elemIdx] = std::max(this->maxWaterSaturation_[elemIdx], fs.saturation(waterPhaseIdx));
1808 this->maxOilSaturation_[elemIdx] = std::max(this->maxOilSaturation_[elemIdx], fs.saturation(oilPhaseIdx));
1810 this->minRefPressure_[elemIdx] = std::min(this->minRefPressure_[elemIdx], fs.pressure(refPressurePhaseIdx_()));
1894 dofData.transmissibility = transmissibilities_.transmissibility(globalCenterElemIdx, globalElemIdx);
1897 *dofData.thermalHalfTransIn = transmissibilities_.thermalHalfTrans(globalCenterElemIdx, globalElemIdx);
1898 *dofData.thermalHalfTransOut = transmissibilities_.thermalHalfTrans(globalElemIdx, globalCenterElemIdx);
1910 virtual void updateExplicitQuantities_(int episodeIdx, int timeStepSize, bool first_step_after_restart) = 0;
1963 Scalar maxTimeStepSize = Parameters::Get<Parameters::SolverMaxTimeStepInDays<Scalar>>() * 24 * 60 * 60;
2031 LhsEval computeRockCompTransMultiplier_(const IntensiveQuantities& intQuants, unsigned elementIdx) const
2046 LhsEval computeRockCompTransMultiplier_(const IntensiveQuantities& intQuants, unsigned elementIdx, Callback& obtain) const
2057 const auto& rock_config = this->simulator().vanguard().eclState().getSimulationConfig().rock_config();
2070 const auto& initialPressure = asImp_().initialFluidState(elementIdx).pressure(refPressurePhaseIdx_());
2078 return this->rockCompTransMultElastic_[tableIdx].eval(turningPressure, effectivePressure, /*extrapolation=*/true);
2100 LhsEval SwMax = max(obtain(fs.saturation(waterPhaseIdx)), this->maxWaterSaturation_[elementIdx]);
2101 LhsEval SwDeltaMax = SwMax - asImp_().initialFluidStates()[elementIdx].saturation(waterPhaseIdx);
2103 return this->rockCompTransMultWc_[tableIdx].eval(effectivePressure, SwDeltaMax, /*extrapolation=*/true);
#define OPM_END_PARALLEL_TRY_CATCH(prefix, comm) Catch exception and throw in a parallel try-catch clause. Definition: DeferredLoggingErrorHelpers.hpp:197 #define OPM_BEGIN_PARALLEL_TRY_CATCH() Macro to setup the try of a parallel try-catch. Definition: DeferredLoggingErrorHelpers.hpp:160 Classes required for dynamic convective mixing. This problem simulates an input file given in the data format used by the commercial ECLiPSE simulato... Definition: FlowGenericProblem.hpp:61 Scalar maxPolymerAdsorption(unsigned elemIdx) const Returns the max polymer adsorption value. Definition: FlowGenericProblem_impl.hpp:962 unsigned pvtRegionIndex(unsigned elemIdx) const Returns the index the relevant PVT region given a cell index. Definition: FlowGenericProblem_impl.hpp:921 PolymerSolutionContainer< Scalar > polymer_ Definition: FlowGenericProblem.hpp:383 Scalar rockBiotTemp(unsigned elementIdx) const Returns the rock compressibility of an element due to thermoelasticity. Definition: FlowGenericProblem_impl.hpp:419 std::array< std::vector< Scalar >, 2 > rockFraction_ Definition: FlowGenericProblem.hpp:362 std::vector< Scalar > rockCompTransMultVal_ Definition: FlowGenericProblem.hpp:381 static std::string briefDescription() Definition: FlowGenericProblem_impl.hpp:148 std::vector< TabulatedTwoDFunction > rockCompPoroMultWc_ Definition: FlowGenericProblem.hpp:371 Scalar porosity(unsigned globalSpaceIdx, unsigned timeIdx) const Direct indexed access to the porosity. Definition: FlowGenericProblem_impl.hpp:400 Scalar rockCompressibility(unsigned globalSpaceIdx) const Definition: FlowGenericProblem_impl.hpp:385 Scalar initialTimeStepSize_ Definition: FlowGenericProblem.hpp:395 unsigned miscnumRegionIndex(unsigned elemIdx) const Returns the index the relevant MISC region given a cell index. Definition: FlowGenericProblem_impl.hpp:941 bool vapparsActive(int episodeIdx) const Definition: FlowGenericProblem_impl.hpp:612 unsigned satnumRegionIndex(unsigned elemIdx) const Returns the index the relevant saturation function region given a cell index. Definition: FlowGenericProblem_impl.hpp:931 bool enableDriftCompensation_ Definition: FlowGenericProblem.hpp:401 bool enableDriftCompensationTemp_ Definition: FlowGenericProblem.hpp:402 Scalar lame(unsigned elementIdx) const Direct access to Lame's second parameter in an element. Definition: FlowGenericProblem_impl.hpp:431 void beginTimeStep_(bool enableExperiments, int episodeIdx, int timeStepIndex, Scalar startTime, Scalar time, Scalar timeStepSize, Scalar endTime) Definition: FlowGenericProblem_impl.hpp:657 std::vector< TabulatedTwoDFunction > rockCompPoroMultElastic_ Definition: FlowGenericProblem.hpp:379 unsigned plmixnumRegionIndex(unsigned elemIdx) const Returns the index the relevant PLMIXNUM (for polymer module) region given a cell index. Definition: FlowGenericProblem_impl.hpp:951 bool enableTuning_ Definition: FlowGenericProblem.hpp:394 std::vector< TabulatedFunction > rockCompPoroMult_ Definition: FlowGenericProblem.hpp:373 void readRockParameters_(const std::vector< Scalar > &cellCenterDepths, std::function< std::array< int, 3 >(const unsigned)> ijkIndex) Definition: FlowGenericProblem_impl.hpp:155 std::vector< Scalar > maxOilSaturation_ Definition: FlowGenericProblem.hpp:384 std::vector< RockParams > rockParams_ Definition: FlowGenericProblem.hpp:369 std::array< std::vector< Scalar >, 2 > referencePorosity_ Definition: FlowGenericProblem.hpp:361 Scalar rockBiotComp(unsigned elementIdx) const Returns the rock compressibility of an element due to poroelasticity. Definition: FlowGenericProblem_impl.hpp:408 std::vector< Scalar > maxWaterSaturation_ Definition: FlowGenericProblem.hpp:385 Scalar maxTimeStepAfterWellEvent_ Definition: FlowGenericProblem.hpp:396 std::vector< Scalar > minRefPressure_ Definition: FlowGenericProblem.hpp:386 bool beginEpisode_(bool enableExperiments, int episodeIdx) Definition: FlowGenericProblem_impl.hpp:620 bool shouldWriteOutput() const Always returns true. The ecl output writer takes care of the rest. Definition: FlowGenericProblem.hpp:318 static std::string helpPreamble(int, const char **argv) Definition: FlowGenericProblem_impl.hpp:133 std::vector< Scalar > overburdenPressure_ Definition: FlowGenericProblem.hpp:387 Scalar biotTemp(unsigned elementIdx) const Direct access to Biot temperature coefficient in an element. Definition: FlowGenericProblem_impl.hpp:483 bool shouldWriteRestartFile() const Returns true if an eWoms restart file should be written to disk. Definition: FlowGenericProblem.hpp:327 Scalar biotCoeff(unsigned elementIdx) const Direct access to Biot coefficient in an element. Definition: FlowGenericProblem_impl.hpp:462 std::vector< unsigned short > rockTableIdx_ Definition: FlowGenericProblem.hpp:370 bool explicitRockCompaction_ Definition: FlowGenericProblem.hpp:403 This problem simulates an input file given in the data format used by the commercial ECLiPSE simulato... Definition: FlowProblem.hpp:101 virtual bool episodeWillBeOver() const Definition: FlowProblem.hpp:2187 const WellModel & wellModel() const Returns a reference to the ECL well manager used by the problem. Definition: FlowProblem.hpp:1154 GetPropType< TypeTag, Properties::Evaluation > Evaluation Definition: FlowProblem.hpp:166 Scalar transmissibility(unsigned globalCenterElemIdx, unsigned globalElemIdx) const Direct access to the transmissibility between two elements. Definition: FlowProblem.hpp:592 Scalar thresholdPressure(unsigned elem1Idx, unsigned elem2Idx) const Threshold pressure [Pa] for the intersection between two elements. Definition: FlowProblem.hpp:600 static int handlePositionalParameter(std::function< void(const std::string &, const std::string &)> addKey, std::set< std::string > &seenParams, std::string &errorMsg, int, const char **argv, int paramIdx, int) Handles positional command line parameters. Definition: FlowProblem.hpp:216 bool nonTrivialBoundaryConditions() const Definition: FlowProblem.hpp:1166 virtual void writeOutput(bool verbose) Write the requested quantities of the current solution into the output files. Definition: FlowProblem.hpp:544 virtual void handleOxygBC(const BCState::BCFace &, RateVector &) const =0 std::function< std::vector< IntType >(const FieldPropsManager &, const std::string &, bool)> fieldPropIntTypeOnLeafAssigner_() Definition: FlowProblem.hpp:1664 const DimMatrix & intrinsicPermeability(unsigned globalElemIdx) const This method returns the intrinsic permeability tensor given a global element index. Definition: FlowProblem.hpp:574 unsigned pvtRegionIndex(const Context &context, unsigned spaceIdx, unsigned timeIdx) const Returns the index of the relevant region for thermodynmic properties. Definition: FlowProblem.hpp:962 LhsEval wellTransMultiplier(const IntensiveQuantities &intQuants, unsigned elementIdx, Callback &obtain) const Definition: FlowProblem.hpp:1294 Scalar porosity(const Context &context, unsigned spaceIdx, unsigned timeIdx) const Definition: FlowProblem.hpp:742 virtual void handlePolymerBC(const BCState::BCFace &, RateVector &) const =0 void beginIteration() Called by the simulator before each Newton-Raphson iteration. Definition: FlowProblem.hpp:442 virtual void restoreBeginTimeStepState_() Put the explicit quantities back as they were before the step. Definition: FlowProblem.hpp:1406 GetPropType< TypeTag, Properties::Vanguard > Vanguard Definition: FlowProblem.hpp:114 GetPropType< TypeTag, Properties::DofMapper > DofMapper Definition: FlowProblem.hpp:165 Scalar rockBiotComp(const Context &context, unsigned spaceIdx, unsigned timeIdx) const Definition: FlowProblem.hpp:786 GetPropType< TypeTag, Properties::Scalar > Scalar Definition: FlowProblem.hpp:108 typename EclThermalLawManager::SolidEnergyLawParams SolidEnergyLawParams Definition: FlowProblem.hpp:162 bool updateHysteresis_(unsigned compressedDofIdx, const IntensiveQuantities &iq) Definition: FlowProblem.hpp:1834 GetPropType< TypeTag, Properties::BaseProblem > ParentType Definition: FlowProblem.hpp:105 void initGravity_(const EclipseState &eclState) Set the gravity vector from the run's configuration. Definition: FlowProblem.hpp:1859 GetPropType< TypeTag, Properties::EqVector > EqVector Definition: FlowProblem.hpp:113 unsigned satnumRegionIndex(const Context &context, unsigned spaceIdx, unsigned timeIdx) const Returns the index of the relevant region for thermodynmic properties. Definition: FlowProblem.hpp:970 virtual void updateExplicitQuantities_(int episodeIdx, int timeStepSize, bool first_step_after_restart)=0 Scalar thermalHalfTransmissibilityOut(const Context &context, unsigned faceIdx, unsigned timeIdx) const Definition: FlowProblem.hpp:697 GetPropType< TypeTag, Properties::ElementContext > ElementContext Definition: FlowProblem.hpp:158 const ThermalConductionLawParams & thermalConductionLawParams(unsigned globalSpaceIdx, unsigned) const Definition: FlowProblem.hpp:1037 std::function< std::vector< double >(const FieldPropsManager &, const std::string &)> fieldPropDoubleOnLeafAssigner_() Definition: FlowProblem.hpp:1649 virtual void handleSolventBC(const BCState::BCFace &, RateVector &) const =0 Scalar transmissibilityBoundary(const Context &elemCtx, unsigned boundaryFaceIdx) const Definition: FlowProblem.hpp:654 GetPropType< TypeTag, Properties::RateVector > RateVector Definition: FlowProblem.hpp:155 void updateReferencePorosity_() Definition: FlowProblem.hpp:1730 Scalar thermalHalfTransmissibility(const unsigned globalSpaceIdxIn, const unsigned globalSpaceIdxOut) const Definition: FlowProblem.hpp:674 LhsEval computeRockCompTransMultiplier_(const IntensiveQuantities &intQuants, unsigned elementIdx, Callback &obtain) const Definition: FlowProblem.hpp:2046 GetPropType< TypeTag, Properties::TracerModel > TracerModel Definition: FlowProblem.hpp:175 Scalar rockCompressibility(const Context &context, unsigned spaceIdx, unsigned timeIdx) const Definition: FlowProblem.hpp:776 bool updateMaxWaterSaturation_() Definition: FlowProblem.hpp:1586 virtual void handleUreaBC(const BCState::BCFace &, RateVector &) const =0 FlowThresholdPressure< TypeTag > thresholdPressures_ Definition: FlowProblem.hpp:2120 Dune::FieldMatrix< Scalar, dimWorld, dimWorld > DimMatrix Definition: FlowProblem.hpp:172 void advanceTimeLevel() Called by the simulator to accept the current state as the new time level after a successful timestep... Definition: FlowProblem.hpp:433 Scalar maxOilSaturation(unsigned globalDofIdx) const Returns an element's historic maximum oil phase saturation that was observed during the simulation. Definition: FlowProblem.hpp:1052 bool updateMinPressure_(unsigned compressedDofIdx, const IntensiveQuantities &iq) Definition: FlowProblem.hpp:1631 Scalar biotTemp(const Context &context, unsigned spaceIdx, unsigned timeIdx) const Definition: FlowProblem.hpp:826 LhsEval rockCompTransMultiplier(const IntensiveQuantities &intQuants, unsigned elementIdx) const Calculate the transmissibility multiplier due to water induced rock compaction. Definition: FlowProblem.hpp:1272 void endIteration() Called by the simulator after each Newton-Raphson iteration. Definition: FlowProblem.hpp:452 GetPropType< TypeTag, Properties::Indices > Indices Definition: FlowProblem.hpp:115 @ enableFullyImplicitThermal Definition: FlowProblem.hpp:138 GetPropType< TypeTag, Properties::GlobalEqVector > GlobalEqVector Definition: FlowProblem.hpp:112 GetPropType< TypeTag, Properties::Simulator > Simulator Definition: FlowProblem.hpp:156 const Vanguard::TransmissibilityType & eclTransmissibilities() const Return a reference to the object that handles the "raw" transmissibilities. Definition: FlowProblem.hpp:720 void source(RateVector &rate, unsigned globalDofIdx, unsigned timeIdx) const Definition: FlowProblem.hpp:1122 virtual void readEquilInitialCondition_()=0 Scalar nextTimeStepSize() const Propose the size of the next time step to the simulator. Definition: FlowProblem.hpp:1175 LhsEval computeRockCompTransMultiplier_(const IntensiveQuantities &intQuants, unsigned elementIdx) const Calculate the transmissibility multiplier due to water induced rock compaction. Definition: FlowProblem.hpp:2031 std::pair< BCType, RateVector > boundaryCondition(const unsigned int globalSpaceIdx, const int directionId) const Definition: FlowProblem.hpp:1306 typename EclMaterialLawManager::MaterialLawParams MaterialLawParams Definition: FlowProblem.hpp:161 static constexpr bool enableDiffusion Definition: FlowProblem.hpp:129 virtual ~FlowProblem()=default PffGridVector< GridView, Stencil, PffDofData_, DofMapper > pffDofData_ Definition: FlowProblem.hpp:2116 const FlowThresholdPressure< TypeTag > & thresholdPressure() const Definition: FlowProblem.hpp:603 const ThermalConductionLawParams & thermalConductionLawParams(const Context &context, unsigned spaceIdx, unsigned timeIdx) const Definition: FlowProblem.hpp:902 Scalar transmissibility(const Context &context, unsigned fromDofLocalIdx, unsigned toDofLocalIdx) const Definition: FlowProblem.hpp:581 @ enableThermalFluxBoundaries Definition: FlowProblem.hpp:142 virtual void beginEpisode() Called by the simulator before an episode begins. Definition: FlowProblem.hpp:323 const SolidEnergyLawParams & solidEnergyLawParams(unsigned globalSpaceIdx, unsigned) const Definition: FlowProblem.hpp:1031 virtual void captureBeginTimeStepState_() Snapshot the explicit quantities before the timestep runs. Definition: FlowProblem.hpp:1392 static constexpr bool enablePolymerMolarWeight Definition: FlowProblem.hpp:134 Scalar getRockCompTransMultVal(std::size_t dofIdx) const Definition: FlowProblem.hpp:1842 virtual void beginTimeStep() Called by the simulator before each time integration. Definition: FlowProblem.hpp:382 Scalar dofCenterDepth(unsigned globalSpaceIdx) const Direct indexed acces to the depth of an degree of freedom [m]. Definition: FlowProblem.hpp:767 typename GetProp< TypeTag, Properties::MaterialLaw >::EclMaterialLawManager EclMaterialLawManager Definition: FlowProblem.hpp:159 const MaterialLawParams & materialLawParams(unsigned globalDofIdx, FaceDir::DirEnum facedir) const Definition: FlowProblem.hpp:879 std::shared_ptr< const EclMaterialLawManager > materialLawManager() const Returns the ECL material law manager. Definition: FlowProblem.hpp:914 unsigned plmixnumRegionIndex(const Context &context, unsigned spaceIdx, unsigned timeIdx) const Returns the index of the relevant region for thermodynmic properties. Definition: FlowProblem.hpp:986 const MaterialLawParams & materialLawParams(unsigned globalDofIdx) const Definition: FlowProblem.hpp:874 Scalar temperature(const Context &context, unsigned spaceIdx, unsigned timeIdx) const Definition: FlowProblem.hpp:1008 Scalar thermalHalfTransmissibilityBoundary(const Context &elemCtx, unsigned boundaryFaceIdx) const Definition: FlowProblem.hpp:710 unsigned miscnumRegionIndex(const Context &context, unsigned spaceIdx, unsigned timeIdx) const Returns the index of the relevant region for thermodynmic properties. Definition: FlowProblem.hpp:978 void updateRockCompTransMultVal_() Definition: FlowProblem.hpp:2013 std::shared_ptr< EclThermalLawManager > thermalLawManager_ Definition: FlowProblem.hpp:2109 Scalar limitNextTimeStepSize_(Scalar dtNext) const Definition: FlowProblem.hpp:1955 void finishTransmissibilities_() Definition: FlowProblem.hpp:1419 GetPropType< TypeTag, Properties::Stencil > Stencil Definition: FlowProblem.hpp:110 typename GetProp< TypeTag, Properties::SolidEnergyLaw >::EclThermalLawManager EclThermalLawManager Definition: FlowProblem.hpp:160 FlowThresholdPressure< TypeTag > & thresholdPressure() Definition: FlowProblem.hpp:606 virtual void readExplicitInitialCondition_()=0 GetPropType< TypeTag, Properties::WellModel > WellModel Definition: FlowProblem.hpp:168 const DimMatrix & intrinsicPermeability(const Context &context, unsigned spaceIdx, unsigned timeIdx) const Definition: FlowProblem.hpp:560 PrevTimestepState prev_timestep_state_ Definition: FlowProblem.hpp:2183 void updateFailed() Called by the simulator to restore the state captured at the beginning of the timestep after a failed... Definition: FlowProblem.hpp:420 void readThermalParameters_() Definition: FlowProblem.hpp:1713 void serializeOp(Serializer &serializer) Definition: FlowProblem.hpp:1361 Scalar maxPolymerAdsorption(const Context &context, unsigned spaceIdx, unsigned timeIdx) const Returns the max polymer adsorption value. Definition: FlowProblem.hpp:995 Scalar thermalHalfTransmissibilityIn(const Context &context, unsigned faceIdx, unsigned timeIdx) const Definition: FlowProblem.hpp:684 void setMaxOilSaturation(unsigned globalDofIdx, Scalar value) Sets an element's maximum oil phase saturation observed during the simulation. Definition: FlowProblem.hpp:1069 const SolidEnergyLawParams & solidEnergyLawParams(const Context &context, unsigned spaceIdx, unsigned timeIdx) const Return the parameters for the energy storage law of the rock. Definition: FlowProblem.hpp:889 typename EclThermalLawManager::ThermalConductionLawParams ThermalConductionLawParams Definition: FlowProblem.hpp:163 Scalar dispersivity(const unsigned globalCellIn, const unsigned globalCellOut) const Definition: FlowProblem.hpp:634 AquiferModel & mutableAquiferModel() Definition: FlowProblem.hpp:1163 GetPropType< TypeTag, Properties::IntensiveQuantities > IntensiveQuantities Definition: FlowProblem.hpp:167 Scalar temperature(unsigned globalDofIdx, unsigned) const Definition: FlowProblem.hpp:1020 Scalar lame(const Context &context, unsigned spaceIdx, unsigned timeIdx) const Definition: FlowProblem.hpp:806 Scalar rockBiotTemp(const Context &context, unsigned spaceIdx, unsigned timeIdx) const Definition: FlowProblem.hpp:796 GetPropType< TypeTag, Properties::AquiferModel > AquiferModel Definition: FlowProblem.hpp:169 TemperatureModel temperatureModel_ Definition: FlowProblem.hpp:2118 std::shared_ptr< EclMaterialLawManager > materialLawManager_ Definition: FlowProblem.hpp:2108 const ModuleParams & moduleParams() const Definition: FlowProblem.hpp:609 static constexpr bool enableConvectiveMixing Definition: FlowProblem.hpp:128 GetPropType< TypeTag, Properties::GridView > GridView Definition: FlowProblem.hpp:109 GetPropType< TypeTag, Properties::TemperatureModel > TemperatureModel Definition: FlowProblem.hpp:174 void updateProperty_(const std::string &failureMsg, UpdateFunc func) Definition: FlowProblem.hpp:1535 bool prepareTransmissibilityOutput_(EclWriterType &eclWriter, const bool enableEclOutput) Definition: FlowProblem.hpp:1428 LhsEval rockCompTransMultiplier(const IntensiveQuantities &intQuants, unsigned elementIdx, Callback &obtain) const Definition: FlowProblem.hpp:1286 void initializeSimulatorTime_() Definition: FlowProblem.hpp:1487 bool updateMaxOilSaturation_() Definition: FlowProblem.hpp:1554 static void registerParameters() Registers all available parameters for the problem and the model. Definition: FlowProblem.hpp:200 static constexpr bool enableDispersion Definition: FlowProblem.hpp:130 virtual void endEpisode() Called by the simulator after the end of an episode. Definition: FlowProblem.hpp:521 GetPropType< TypeTag, Properties::PrimaryVariables > PrimaryVariables Definition: FlowProblem.hpp:154 bool nonTrivialBoundaryConditions_ Definition: FlowProblem.hpp:2163 GetPropType< TypeTag, Properties::Problem > Implementation Definition: FlowProblem.hpp:106 void readBoundaryConditions_() Definition: FlowProblem.hpp:1912 void updateRelperms(std::array< Evaluation, numPhases > &mobility, DirectionalMobilityPtr &dirMob, FluidState &fluidState, unsigned globalSpaceIdx) const Definition: FlowProblem.hpp:921 Vanguard::TransmissibilityType transmissibilities_ Definition: FlowProblem.hpp:2106 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. Definition: FlowProblem.hpp:1113 virtual void addToSourceDense(RateVector &rate, unsigned globalDofIdx, unsigned timeIdx) const =0 virtual void endTimeStep() Called by the simulator after each time integration. Definition: FlowProblem.hpp:462 TemperatureModel & temperatureModel() Definition: FlowProblem.hpp:730 Utility::CopyablePtr< DirectionalMobility< TypeTag > > DirectionalMobilityPtr Definition: FlowProblem.hpp:176 virtual void readInitialCondition_() Definition: FlowProblem.hpp:1789 virtual void initialSolutionApplied() Callback used by the model to indicate that the initial solution has been determined for all degrees ... Definition: FlowProblem.hpp:1080 const MaterialLawParams & materialLawParams(const Context &context, unsigned spaceIdx, unsigned timeIdx) const Definition: FlowProblem.hpp:867 Scalar thermalTransmissibilityBoundary(const unsigned globalSpaceIdx, const unsigned boundaryFaceIdx) const Direct access to a boundary transmissibility. Definition: FlowProblem.hpp:641 static constexpr EnergyModules energyModuleType Definition: FlowProblem.hpp:137 Scalar diffusivity(const Context &context, unsigned fromDofLocalIdx, unsigned toDofLocalIdx) const Definition: FlowProblem.hpp:616 Scalar rockReferencePressure(unsigned globalSpaceIdx) const Definition: FlowProblem.hpp:845 std::string extraTrailerSummary() const Definition: FlowProblem.hpp:183 void deserialize(Restarter &res) This method restores the complete state of the problem and its sub-objects from disk. Definition: FlowProblem.hpp:289 Scalar biotCoeff(const Context &context, unsigned spaceIdx, unsigned timeIdx) const Definition: FlowProblem.hpp:816 std::shared_ptr< EclMaterialLawManager > materialLawManager() Definition: FlowProblem.hpp:954 std::shared_ptr< const EclThermalLawManager > thermalLawManager() const Definition: FlowProblem.hpp:917 bool updateMaxWaterSaturation_(unsigned compressedDofIdx, const IntensiveQuantities &iq) Definition: FlowProblem.hpp:1602 typename GridView::template Codim< 0 >::Entity Element Definition: FlowProblem.hpp:157 Scalar dofCenterDepth(const Context &context, unsigned spaceIdx, unsigned timeIdx) const Returns the depth of an degree of freedom [m]. Definition: FlowProblem.hpp:755 bool updateMaxOilSaturation_(unsigned compressedDofIdx, const IntensiveQuantities &iq) Definition: FlowProblem.hpp:1572 GetPropType< TypeTag, Properties::FluidSystem > FluidSystem Definition: FlowProblem.hpp:111 GetPropType< TypeTag, Properties::MaterialLaw > MaterialLaw Definition: FlowProblem.hpp:164 const AquiferModel & aquiferModel() const Definition: FlowProblem.hpp:1160 void initializeModelProperties_() Definition: FlowProblem.hpp:1511 int refPressurePhaseIdx_() const Definition: FlowProblem.hpp:2001 static constexpr bool enableBioeffects Definition: FlowProblem.hpp:126 LhsEval rockCompPoroMultiplier(const IntensiveQuantities &intQuants, unsigned elementIdx) const Calculate the porosity multiplier due to water induced rock compaction. Definition: FlowProblem.hpp:1202 Scalar transmissibilityBoundary(const unsigned globalSpaceIdx, const unsigned boundaryFaceIdx) const Direct access to a boundary transmissibility. Definition: FlowProblem.hpp:664 void readMaterialParameters_() Definition: FlowProblem.hpp:1673 void serialize(Restarter &res) This method writes the complete state of the problem and its subobjects to disk. Definition: FlowProblem.hpp:308 virtual void handleMicrBC(const BCState::BCFace &, RateVector &) const =0 Scalar rockReferencePressure(const Context &context, unsigned spaceIdx, unsigned timeIdx) const Definition: FlowProblem.hpp:836 Scalar diffusivity(const unsigned globalCellIn, const unsigned globalCellOut) const Definition: FlowProblem.hpp:627 This class calculates the threshold pressure for grid faces according to the Eclipse Reference Manual... Definition: FlowThresholdPressure.hpp:59 A random-access container which stores data attached to a grid's degrees of freedom in a prefetch fri... Definition: pffgridvector.hh:50 Definition: RelpermDiagnostics.hpp:51 void diagnosis(const EclipseState &eclState, const LevelCartesianIndexMapper &levelCartesianIndexMapper) This file contains definitions related to directional mobilities. auto Get(bool errorIfNotRegistered=true) Retrieve a runtime parameter. Definition: parametersystem.hpp:192 int eclPositionalParameter(std::function< void(const std::string &, const std::string &)> addKey, std::set< std::string > &seenParams, std::string &errorMsg, const char **argv, int paramIdx) Definition: blackoilbioeffectsmodules.hh:45 GatheredLgrOutputTrans gatherLgrOutputTrans(const Dune::CpGrid &grid, const GridView &gridView, TransFn &&transFn) Definition: LgrOutputTransGather.hpp:118 void eclBroadcast(Parallel::Communication, T &) typename Properties::Detail::GetPropImpl< TypeTag, Property >::type::type GetPropType get the type alias defined in the property (equivalent to old macro GET_PROP_TYPE(.... Definition: propertysystem.hh:233 typename Properties::Detail::GetPropImpl< TypeTag, Property >::type GetProp get the type of a property (equivalent to old macro GET_PROP(...)) Definition: propertysystem.hh:224 Definition: FlowProblem.hpp:2125 const std::vector< T > & operator()(FaceDir::DirEnum dir) const Definition: FlowProblem.hpp:2134 void resize(std::size_t size, T defVal) Definition: FlowProblem.hpp:2128 std::vector< T > & operator()(FaceDir::DirEnum dir) Definition: FlowProblem.hpp:2146 std::array< std::vector< T >, 6 > data Definition: FlowProblem.hpp:2126 Definition: FlowProblem.hpp:1872 ConditionalStorage< enableFullyImplicitThermal, Scalar > thermalHalfTransOut Definition: FlowProblem.hpp:1874 ConditionalStorage< enableFullyImplicitThermal, Scalar > thermalHalfTransIn Definition: FlowProblem.hpp:1873 ConditionalStorage< enableDiffusion, Scalar > diffusivity Definition: FlowProblem.hpp:1875 ConditionalStorage< enableDispersion, Scalar > dispersivity Definition: FlowProblem.hpp:1876 Scalar transmissibility Definition: FlowProblem.hpp:1877 Explicit quantities as they stood at the start of the current timestep, restored if that timestep fai... Definition: FlowProblem.hpp:2174 bool first_step first step of the episode Definition: FlowProblem.hpp:2175 std::vector< Scalar > min_ref_pressure ROCKCOMP irreversible compaction. Definition: FlowProblem.hpp:2179 std::vector< Scalar > rock_comp_trans_mult_val ROCKCOMP transmissibility multiplier. Definition: FlowProblem.hpp:2180 std::vector< Scalar > max_polymer_adsorption POLYMER. Definition: FlowProblem.hpp:2176 std::vector< Scalar > max_water_saturation ROCKCOMP water-induced compaction. Definition: FlowProblem.hpp:2178 std::vector< Scalar > max_oil_saturation VAPPARS / DRSDT saturation history. Definition: FlowProblem.hpp:2177 |