|
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
937 MaterialLaw::template relativePermeabilities<ContainerT, FluidState, Args...>(mobility, materialParams, fluidState);
950 MaterialLaw::template relativePermeabilities<ContainerT, FluidState, Args...>(mob_array, materialParams, fluidState);
1206 LhsEval rockCompPoroMultiplier(const IntensiveQuantities& intQuants, unsigned elementIdx) const
1217 const auto& rock_config = this->simulator().vanguard().eclState().getSimulationConfig().rock_config();
1233 const auto& initialPressure = asImp_().initialFluidState(elementIdx).pressure(refPressurePhaseIdx_());
1241 return this->rockCompPoroMultElastic_[tableIdx].eval(turningPressure, effectivePressure, /*extrapolation=*/true);
1264 LhsEval SwMax = max(decay<LhsEval>(fs.saturation(waterPhaseIdx)), this->maxWaterSaturation_[elementIdx]);
1265 LhsEval SwDeltaMax = SwMax - asImp_().initialFluidStates()[elementIdx].saturation(waterPhaseIdx);
1267 return this->rockCompPoroMultWc_[tableIdx].eval(effectivePressure, SwDeltaMax, /*extrapolation=*/true);
1276 LhsEval rockCompTransMultiplier(const IntensiveQuantities& intQuants, unsigned elementIdx) const
1290 LhsEval rockCompTransMultiplier(const IntensiveQuantities& intQuants, unsigned elementIdx, Callback& obtain) const
1293 return implicit ? this->simulator().problem().template computeRockCompTransMultiplier_<LhsEval>(intQuants, elementIdx, obtain)
1298 LhsEval wellTransMultiplier(const IntensiveQuantities& intQuants, unsigned elementIdx, Callback& obtain) const
1303 LhsEval trans_mult = implicit ? this->simulator().problem().template computeRockCompTransMultiplier_<LhsEval>(intQuants, elementIdx, obtain)
1305 trans_mult *= this->simulator().problem().template permFactTransMultiplier<LhsEval>(intQuants, elementIdx, obtain);
1310 std::pair<BCType, RateVector> boundaryCondition(const unsigned int globalSpaceIdx, const int directionId) const
1662 // \brief Function to assign field properties of type int, unsigned int, ..., on the leaf grid view.
1671 return [&lookup](const FieldPropsManager& fieldPropManager, const std::string& propString, bool needsTranslation)
1673 return lookup.template assignFieldPropsIntOnLeaf<IntType>(fieldPropManager, propString, needsTranslation);
1775 // A common practice in reservoir simulation is to use large pore-volume-multipliers in boundary cells
1776 // to model boundary conditions other than no-flow. This may result in reference porosities that are larger than 1.
1777 // A simple (1-reference porosity) * geometric volume of the element may give unphysical results.
1778 // We therefore instead consider the pore-volume-multiplier as a volume multiplier. The rock fraction is thus given by
1779 // (1 - porosity * ntg) * pore-volume-multiplier = (1 - porosity * ntg) * reference porosity / (porosity * ntg)
1788 const auto rock_fraction = (1 - poro_eff) * this->referencePorosity_[/*timeIdx=*/0][sfcdofIdx] / poro_eff;
1810 this->maxWaterSaturation_[elemIdx] = std::max(this->maxWaterSaturation_[elemIdx], fs.saturation(waterPhaseIdx));
1812 this->maxOilSaturation_[elemIdx] = std::max(this->maxOilSaturation_[elemIdx], fs.saturation(oilPhaseIdx));
1814 this->minRefPressure_[elemIdx] = std::min(this->minRefPressure_[elemIdx], fs.pressure(refPressurePhaseIdx_()));
1898 dofData.transmissibility = transmissibilities_.transmissibility(globalCenterElemIdx, globalElemIdx);
1901 *dofData.thermalHalfTransIn = transmissibilities_.thermalHalfTrans(globalCenterElemIdx, globalElemIdx);
1902 *dofData.thermalHalfTransOut = transmissibilities_.thermalHalfTrans(globalElemIdx, globalCenterElemIdx);
1914 virtual void updateExplicitQuantities_(int episodeIdx, int timeStepSize, bool first_step_after_restart) = 0;
1967 Scalar maxTimeStepSize = Parameters::Get<Parameters::SolverMaxTimeStepInDays<Scalar>>() * 24 * 60 * 60;
2035 LhsEval computeRockCompTransMultiplier_(const IntensiveQuantities& intQuants, unsigned elementIdx) const
2050 LhsEval computeRockCompTransMultiplier_(const IntensiveQuantities& intQuants, unsigned elementIdx, Callback& obtain) const
2061 const auto& rock_config = this->simulator().vanguard().eclState().getSimulationConfig().rock_config();
2074 const auto& initialPressure = asImp_().initialFluidState(elementIdx).pressure(refPressurePhaseIdx_());
2082 return this->rockCompTransMultElastic_[tableIdx].eval(turningPressure, effectivePressure, /*extrapolation=*/true);
2104 LhsEval SwMax = max(obtain(fs.saturation(waterPhaseIdx)), this->maxWaterSaturation_[elementIdx]);
2105 LhsEval SwDeltaMax = SwMax - asImp_().initialFluidStates()[elementIdx].saturation(waterPhaseIdx);
2107 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:963 unsigned pvtRegionIndex(unsigned elemIdx) const Returns the index the relevant PVT region given a cell index. Definition: FlowGenericProblem_impl.hpp:922 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:420 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:149 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:401 Scalar rockCompressibility(unsigned globalSpaceIdx) const Definition: FlowGenericProblem_impl.hpp:386 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:942 bool vapparsActive(int episodeIdx) const Definition: FlowGenericProblem_impl.hpp:613 unsigned satnumRegionIndex(unsigned elemIdx) const Returns the index the relevant saturation function region given a cell index. Definition: FlowGenericProblem_impl.hpp:932 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:432 void beginTimeStep_(bool enableExperiments, int episodeIdx, int timeStepIndex, Scalar startTime, Scalar time, Scalar timeStepSize, Scalar endTime) Definition: FlowGenericProblem_impl.hpp:658 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:952 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:156 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:409 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:621 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:134 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:484 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:463 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:2191 const WellModel & wellModel() const Returns a reference to the ECL well manager used by the problem. Definition: FlowProblem.hpp:1158 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:1170 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:1668 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:966 LhsEval wellTransMultiplier(const IntensiveQuantities &intQuants, unsigned elementIdx, Callback &obtain) const Definition: FlowProblem.hpp:1298 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:1410 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:1838 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:1863 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:974 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:1041 std::function< std::vector< double >(const FieldPropsManager &, const std::string &)> fieldPropDoubleOnLeafAssigner_() Definition: FlowProblem.hpp:1653 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:1734 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:2050 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:1590 virtual void handleUreaBC(const BCState::BCFace &, RateVector &) const =0 FlowThresholdPressure< TypeTag > thresholdPressures_ Definition: FlowProblem.hpp:2124 Dune::FieldMatrix< Scalar, dimWorld, dimWorld > DimMatrix Definition: FlowProblem.hpp:172 const EclMaterialLawManager & materialLawManagerRef() const Definition: FlowProblem.hpp:918 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:1056 bool updateMinPressure_(unsigned compressedDofIdx, const IntensiveQuantities &iq) Definition: FlowProblem.hpp:1635 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:1276 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:1126 virtual void readEquilInitialCondition_()=0 Scalar nextTimeStepSize() const Propose the size of the next time step to the simulator. Definition: FlowProblem.hpp:1179 LhsEval computeRockCompTransMultiplier_(const IntensiveQuantities &intQuants, unsigned elementIdx) const Calculate the transmissibility multiplier due to water induced rock compaction. Definition: FlowProblem.hpp:2035 std::pair< BCType, RateVector > boundaryCondition(const unsigned int globalSpaceIdx, const int directionId) const Definition: FlowProblem.hpp:1310 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:2120 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:1035 virtual void captureBeginTimeStepState_() Snapshot the explicit quantities before the timestep runs. Definition: FlowProblem.hpp:1396 static constexpr bool enablePolymerMolarWeight Definition: FlowProblem.hpp:134 Scalar getRockCompTransMultVal(std::size_t dofIdx) const Definition: FlowProblem.hpp:1846 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:990 const MaterialLawParams & materialLawParams(unsigned globalDofIdx) const Definition: FlowProblem.hpp:874 Scalar temperature(const Context &context, unsigned spaceIdx, unsigned timeIdx) const Definition: FlowProblem.hpp:1012 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:982 void updateRockCompTransMultVal_() Definition: FlowProblem.hpp:2017 std::shared_ptr< EclThermalLawManager > thermalLawManager_ Definition: FlowProblem.hpp:2113 Scalar limitNextTimeStepSize_(Scalar dtNext) const Definition: FlowProblem.hpp:1959 void finishTransmissibilities_() Definition: FlowProblem.hpp:1423 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:2187 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:1717 void serializeOp(Serializer &serializer) Definition: FlowProblem.hpp:1365 Scalar maxPolymerAdsorption(const Context &context, unsigned spaceIdx, unsigned timeIdx) const Returns the max polymer adsorption value. Definition: FlowProblem.hpp:999 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:1073 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:1167 GetPropType< TypeTag, Properties::IntensiveQuantities > IntensiveQuantities Definition: FlowProblem.hpp:167 Scalar temperature(unsigned globalDofIdx, unsigned) const Definition: FlowProblem.hpp:1024 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:2122 std::shared_ptr< EclMaterialLawManager > materialLawManager_ Definition: FlowProblem.hpp:2112 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:1539 bool prepareTransmissibilityOutput_(EclWriterType &eclWriter, const bool enableEclOutput) Definition: FlowProblem.hpp:1432 LhsEval rockCompTransMultiplier(const IntensiveQuantities &intQuants, unsigned elementIdx, Callback &obtain) const Definition: FlowProblem.hpp:1290 void initializeSimulatorTime_() Definition: FlowProblem.hpp:1491 bool updateMaxOilSaturation_() Definition: FlowProblem.hpp:1558 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:2167 GetPropType< TypeTag, Properties::Problem > Implementation Definition: FlowProblem.hpp:106 void readBoundaryConditions_() Definition: FlowProblem.hpp:1916 void updateRelperms(std::array< Evaluation, numPhases > &mobility, DirectionalMobilityPtr &dirMob, FluidState &fluidState, unsigned globalSpaceIdx) const Definition: FlowProblem.hpp:925 Vanguard::TransmissibilityType transmissibilities_ Definition: FlowProblem.hpp:2110 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:1117 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:1793 virtual void initialSolutionApplied() Callback used by the model to indicate that the initial solution has been determined for all degrees ... Definition: FlowProblem.hpp:1084 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:958 std::shared_ptr< const EclThermalLawManager > thermalLawManager() const Definition: FlowProblem.hpp:921 bool updateMaxWaterSaturation_(unsigned compressedDofIdx, const IntensiveQuantities &iq) Definition: FlowProblem.hpp:1606 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:1576 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:1164 void initializeModelProperties_() Definition: FlowProblem.hpp:1515 int refPressurePhaseIdx_() const Definition: FlowProblem.hpp:2005 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:1206 Scalar transmissibilityBoundary(const unsigned globalSpaceIdx, const unsigned boundaryFaceIdx) const Direct access to a boundary transmissibility. Definition: FlowProblem.hpp:664 void readMaterialParameters_() Definition: FlowProblem.hpp:1677 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:2129 const std::vector< T > & operator()(FaceDir::DirEnum dir) const Definition: FlowProblem.hpp:2138 void resize(std::size_t size, T defVal) Definition: FlowProblem.hpp:2132 std::vector< T > & operator()(FaceDir::DirEnum dir) Definition: FlowProblem.hpp:2150 std::array< std::vector< T >, 6 > data Definition: FlowProblem.hpp:2130 Definition: FlowProblem.hpp:1876 ConditionalStorage< enableFullyImplicitThermal, Scalar > thermalHalfTransOut Definition: FlowProblem.hpp:1878 ConditionalStorage< enableFullyImplicitThermal, Scalar > thermalHalfTransIn Definition: FlowProblem.hpp:1877 ConditionalStorage< enableDiffusion, Scalar > diffusivity Definition: FlowProblem.hpp:1879 ConditionalStorage< enableDispersion, Scalar > dispersivity Definition: FlowProblem.hpp:1880 Scalar transmissibility Definition: FlowProblem.hpp:1881 Explicit quantities as they stood at the start of the current timestep, restored if that timestep fai... Definition: FlowProblem.hpp:2178 bool first_step first step of the episode Definition: FlowProblem.hpp:2179 std::vector< Scalar > min_ref_pressure ROCKCOMP irreversible compaction. Definition: FlowProblem.hpp:2183 std::vector< Scalar > rock_comp_trans_mult_val ROCKCOMP transmissibility multiplier. Definition: FlowProblem.hpp:2184 std::vector< Scalar > max_polymer_adsorption POLYMER. Definition: FlowProblem.hpp:2180 std::vector< Scalar > max_water_saturation ROCKCOMP water-induced compaction. Definition: FlowProblem.hpp:2182 std::vector< Scalar > max_oil_saturation VAPPARS / DRSDT saturation history. Definition: FlowProblem.hpp:2181 |