|
FlowProblem.hpp
Go to the documentation of this file.
122 static constexpr bool enableConvectiveMixing = getPropValue<TypeTag, Properties::EnableConvectiveMixing>();
128 static constexpr bool enablePolymerMolarWeight = getPropValue<TypeTag, Properties::EnablePolymerMW>();
131 static constexpr EnergyModules energyModuleType = getPropValue<TypeTag, Properties::EnergyModuleType>();
132 enum { enableFullyImplicitThermal = getPropValue<TypeTag, Properties::EnergyModuleType>() == EnergyModules::FullyImplicitThermal };
135 enum { enableSaltPrecipitation = getPropValue<TypeTag, Properties::EnableSaltPrecipitation>() };
136 enum { enableThermalFluxBoundaries = getPropValue<TypeTag, Properties::EnableThermalFluxBoundaries>() };
142 // TODO: later, gasCompIdx, oilCompIdx and waterCompIdx should go to the FlowProblemBlackoil in the future
153 using EclMaterialLawManager = typename GetProp<TypeTag, Properties::MaterialLaw>::EclMaterialLawManager;
154 using EclThermalLawManager = typename GetProp<TypeTag, Properties::SolidEnergyLaw>::EclThermalLawManager;
251 this->enableDriftCompensationTemp_ = Parameters::Get<Parameters::EnableDriftCompensationTemp>();
768 const auto& rock_config = this->simulator().vanguard().eclState().getSimulationConfig().rock_config();
800 const MaterialLawParams& materialLawParams(unsigned globalDofIdx, FaceDir::DirEnum facedir) const
851 MaterialLaw::template relativePermeabilities<ContainerT, FluidState, Args...>(mobility, materialParams, fluidState);
864 MaterialLaw::template relativePermeabilities<ContainerT, FluidState, Args...>(mob_array, materialParams, fluidState);
1120 LhsEval rockCompPoroMultiplier(const IntensiveQuantities& intQuants, unsigned elementIdx) const
1132 const auto& rock_config = this->simulator().vanguard().eclState().getSimulationConfig().rock_config();
1152 LhsEval SwMax = max(decay<LhsEval>(fs.saturation(waterPhaseIdx)), this->maxWaterSaturation_[elementIdx]);
1153 LhsEval SwDeltaMax = SwMax - asImp_().initialFluidStates()[elementIdx].saturation(waterPhaseIdx);
1155 return this->rockCompPoroMultWc_[tableIdx].eval(effectivePressure, SwDeltaMax, /*extrapolation=*/true);
1164 LhsEval rockCompTransMultiplier(const IntensiveQuantities& intQuants, unsigned elementIdx) const
1178 LhsEval rockCompTransMultiplier(const IntensiveQuantities& intQuants, unsigned elementIdx, Callback& obtain) const
1181 return implicit ? this->simulator().problem().template computeRockCompTransMultiplier_<LhsEval>(intQuants, elementIdx, obtain)
1186 LhsEval wellTransMultiplier(const IntensiveQuantities& intQuants, unsigned elementIdx, Callback& obtain) const
1191 LhsEval trans_mult = implicit ? this->simulator().problem().template computeRockCompTransMultiplier_<LhsEval>(intQuants, elementIdx, obtain)
1193 trans_mult *= this->simulator().problem().template permFactTransMultiplier<LhsEval>(intQuants, elementIdx, obtain);
1198 std::pair<BCType, RateVector> boundaryCondition(const unsigned int globalSpaceIdx, const int directionId) const
1401 // \brief Function to assign field properties of type int, unsigned int, ..., on the leaf grid view.
1410 return [&lookup](const FieldPropsManager& fieldPropManager, const std::string& propString, bool needsTranslation)
1412 return lookup.template assignFieldPropsIntOnLeaf<IntType>(fieldPropManager, propString, needsTranslation);
1514 // A common practice in reservoir simulation is to use large pore-volume-multipliers in boundary cells
1515 // to model boundary conditions other than no-flow. This may result in reference porosities that are larger than 1.
1516 // A simple (1-reference porosity) * geometric volume of the element may give unphysical results.
1517 // We therefore instead consider the pore-volume-multiplier as a volume multiplier. The rock fraction is thus given by
1518 // (1 - porosity * ntg) * pore-volume-multiplier = (1 - porosity * ntg) * reference porosity / (porosity * ntg)
1527 const auto rock_fraction = (1 - poro_eff) * this->referencePorosity_[/*timeIdx=*/0][sfcdofIdx] / poro_eff;
1549 this->maxWaterSaturation_[elemIdx] = std::max(this->maxWaterSaturation_[elemIdx], fs.saturation(waterPhaseIdx));
1551 this->maxOilSaturation_[elemIdx] = std::max(this->maxOilSaturation_[elemIdx], fs.saturation(oilPhaseIdx));
1553 this->minRefPressure_[elemIdx] = std::min(this->minRefPressure_[elemIdx], fs.pressure(refPressurePhaseIdx_()));
1617 dofData.transmissibility = transmissibilities_.transmissibility(globalCenterElemIdx, globalElemIdx);
1620 *dofData.thermalHalfTransIn = transmissibilities_.thermalHalfTrans(globalCenterElemIdx, globalElemIdx);
1621 *dofData.thermalHalfTransOut = transmissibilities_.thermalHalfTrans(globalElemIdx, globalCenterElemIdx);
1633 virtual void updateExplicitQuantities_(int episodeIdx, int timeStepSize, bool first_step_after_restart) = 0;
1686 Scalar maxTimeStepSize = Parameters::Get<Parameters::SolverMaxTimeStepInDays<Scalar>>() * 24 * 60 * 60;
1754 LhsEval computeRockCompTransMultiplier_(const IntensiveQuantities& intQuants, unsigned elementIdx) const
1769 LhsEval computeRockCompTransMultiplier_(const IntensiveQuantities& intQuants, unsigned elementIdx, Callback& obtain) const
1781 const auto& rock_config = this->simulator().vanguard().eclState().getSimulationConfig().rock_config();
1800 LhsEval SwMax = max(obtain(fs.saturation(waterPhaseIdx)), this->maxWaterSaturation_[elementIdx]);
1801 LhsEval SwDeltaMax = SwMax - asImp_().initialFluidStates()[elementIdx].saturation(waterPhaseIdx);
1803 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:192 #define OPM_BEGIN_PARALLEL_TRY_CATCH() Macro to setup the try of a parallel try-catch. Definition: DeferredLoggingErrorHelpers.hpp:158 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:797 unsigned pvtRegionIndex(unsigned elemIdx) const Returns the index the relevant PVT region given a cell index. Definition: FlowGenericProblem_impl.hpp:756 std::array< std::vector< Scalar >, 2 > rockFraction_ Definition: FlowGenericProblem.hpp:338 std::vector< Scalar > rockCompTransMultVal_ Definition: FlowGenericProblem.hpp:351 std::function< unsigned(unsigned)> lookupIdxOnLevelZeroAssigner_() Definition: FlowGenericProblem.hpp:384 static std::string briefDescription() Definition: FlowGenericProblem_impl.hpp:130 std::vector< TabulatedTwoDFunction > rockCompPoroMultWc_ Definition: FlowGenericProblem.hpp:347 void updateMiscnum_() Definition: FlowGenericProblem_impl.hpp:447 Scalar porosity(unsigned globalSpaceIdx, unsigned timeIdx) const Direct indexed access to the porosity. Definition: FlowGenericProblem_impl.hpp:338 Scalar rockCompressibility(unsigned globalSpaceIdx) const Definition: FlowGenericProblem_impl.hpp:323 Scalar initialTimeStepSize_ Definition: FlowGenericProblem.hpp:365 unsigned miscnumRegionIndex(unsigned elemIdx) const Returns the index the relevant MISC region given a cell index. Definition: FlowGenericProblem_impl.hpp:776 bool vapparsActive(int episodeIdx) const Definition: FlowGenericProblem_impl.hpp:463 unsigned satnumRegionIndex(unsigned elemIdx) const Returns the index the relevant saturation function region given a cell index. Definition: FlowGenericProblem_impl.hpp:766 void updateSatnum_() Definition: FlowGenericProblem_impl.hpp:439 void updatePvtnum_() Definition: FlowGenericProblem_impl.hpp:431 bool enableDriftCompensation_ Definition: FlowGenericProblem.hpp:371 bool enableDriftCompensationTemp_ Definition: FlowGenericProblem.hpp:372 Scalar lame(unsigned elementIdx) const Direct access to Lame's second parameter in an element. Definition: FlowGenericProblem_impl.hpp:357 void beginTimeStep_(bool enableExperiments, int episodeIdx, int timeStepIndex, Scalar startTime, Scalar time, Scalar timeStepSize, Scalar endTime) Definition: FlowGenericProblem_impl.hpp:508 std::vector< TabulatedFunction > rockCompTransMult_ Definition: FlowGenericProblem.hpp:350 std::vector< TabulatedTwoDFunction > rockCompTransMultWc_ Definition: FlowGenericProblem.hpp:348 unsigned plmixnumRegionIndex(unsigned elemIdx) const Returns the index the relevant PLMIXNUM (for polymer module) region given a cell index. Definition: FlowGenericProblem_impl.hpp:786 bool enableTuning_ Definition: FlowGenericProblem.hpp:364 std::vector< TabulatedFunction > rockCompPoroMult_ Definition: FlowGenericProblem.hpp:349 std::vector< Scalar > maxOilSaturation_ Definition: FlowGenericProblem.hpp:354 std::vector< RockParams > rockParams_ Definition: FlowGenericProblem.hpp:345 std::array< std::vector< Scalar >, 2 > referencePorosity_ Definition: FlowGenericProblem.hpp:337 Scalar rockBiotComp(unsigned elementIdx) const Returns the rock compressibility of an element due to poroelasticity. Definition: FlowGenericProblem_impl.hpp:346 const LookUpData lookUpData_ Definition: FlowGenericProblem.hpp:378 std::vector< Scalar > maxWaterSaturation_ Definition: FlowGenericProblem.hpp:355 Scalar maxTimeStepAfterWellEvent_ Definition: FlowGenericProblem.hpp:366 std::vector< Scalar > minRefPressure_ Definition: FlowGenericProblem.hpp:356 bool beginEpisode_(bool enableExperiments, int episodeIdx) Definition: FlowGenericProblem_impl.hpp:471 bool shouldWriteOutput() const Always returns true. The ecl output writer takes care of the rest. Definition: FlowGenericProblem.hpp:294 static std::string helpPreamble(int, const char **argv) Definition: FlowGenericProblem_impl.hpp:115 std::vector< Scalar > overburdenPressure_ Definition: FlowGenericProblem.hpp:357 bool shouldWriteRestartFile() const Returns true if an eWoms restart file should be written to disk. Definition: FlowGenericProblem.hpp:303 Scalar biotCoeff(unsigned elementIdx) const Direct access to Biot coefficient in an element. Definition: FlowGenericProblem_impl.hpp:388 void updatePlmixnum_() Definition: FlowGenericProblem_impl.hpp:455 std::vector< unsigned short > rockTableIdx_ Definition: FlowGenericProblem.hpp:346 bool explicitRockCompaction_ Definition: FlowGenericProblem.hpp:373 This problem simulates an input file given in the data format used by the commercial ECLiPSE simulato... Definition: FlowProblem.hpp:95 virtual bool episodeWillBeOver() const Definition: FlowProblem.hpp:1865 const WellModel & wellModel() const Returns a reference to the ECL well manager used by the problem. Definition: FlowProblem.hpp:1072 GetPropType< TypeTag, Properties::Evaluation > Evaluation Definition: FlowProblem.hpp:160 Scalar transmissibility(unsigned globalCenterElemIdx, unsigned globalElemIdx) const Direct access to the transmissibility between two elements. Definition: FlowProblem.hpp:548 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:202 bool nonTrivialBoundaryConditions() const Definition: FlowProblem.hpp:1084 virtual void writeOutput(bool verbose) Write the requested quantities of the current solution into the output files. Definition: FlowProblem.hpp:500 std::function< std::vector< IntType >(const FieldPropsManager &, const std::string &, bool)> fieldPropIntTypeOnLeafAssigner_() Definition: FlowProblem.hpp:1407 const DimMatrix & intrinsicPermeability(unsigned globalElemIdx) const This method returns the intrinsic permeability tensor given a global element index. Definition: FlowProblem.hpp:530 unsigned pvtRegionIndex(const Context &context, unsigned spaceIdx, unsigned timeIdx) const Returns the index of the relevant region for thermodynmic properties. Definition: FlowProblem.hpp:880 LhsEval wellTransMultiplier(const IntensiveQuantities &intQuants, unsigned elementIdx, Callback &obtain) const Definition: FlowProblem.hpp:1186 Scalar porosity(const Context &context, unsigned spaceIdx, unsigned timeIdx) const Definition: FlowProblem.hpp:683 void beginIteration() Called by the simulator before each Newton-Raphson iteration. Definition: FlowProblem.hpp:400 GetPropType< TypeTag, Properties::Vanguard > Vanguard Definition: FlowProblem.hpp:108 GetPropType< TypeTag, Properties::DofMapper > DofMapper Definition: FlowProblem.hpp:159 Scalar rockBiotComp(const Context &context, unsigned spaceIdx, unsigned timeIdx) const Definition: FlowProblem.hpp:727 GetPropType< TypeTag, Properties::Scalar > Scalar Definition: FlowProblem.hpp:102 typename EclThermalLawManager::SolidEnergyLawParams SolidEnergyLawParams Definition: FlowProblem.hpp:156 bool updateHysteresis_(unsigned compressedDofIdx, const IntensiveQuantities &iq) Definition: FlowProblem.hpp:1577 GetPropType< TypeTag, Properties::BaseProblem > ParentType Definition: FlowProblem.hpp:99 GetPropType< TypeTag, Properties::EqVector > EqVector Definition: FlowProblem.hpp:107 unsigned satnumRegionIndex(const Context &context, unsigned spaceIdx, unsigned timeIdx) const Returns the index of the relevant region for thermodynmic properties. Definition: FlowProblem.hpp:888 virtual void handleOxygBC(const BCProp::BCFace &, RateVector &) const =0 virtual void updateExplicitQuantities_(int episodeIdx, int timeStepSize, bool first_step_after_restart)=0 virtual void handleUreaBC(const BCProp::BCFace &, RateVector &) const =0 Scalar thermalHalfTransmissibilityOut(const Context &context, unsigned faceIdx, unsigned timeIdx) const Definition: FlowProblem.hpp:638 GetPropType< TypeTag, Properties::ElementContext > ElementContext Definition: FlowProblem.hpp:152 const ThermalConductionLawParams & thermalConductionLawParams(unsigned globalSpaceIdx, unsigned) const Definition: FlowProblem.hpp:955 std::function< std::vector< double >(const FieldPropsManager &, const std::string &)> fieldPropDoubleOnLeafAssigner_() Definition: FlowProblem.hpp:1392 Scalar transmissibilityBoundary(const Context &elemCtx, unsigned boundaryFaceIdx) const Definition: FlowProblem.hpp:595 GetPropType< TypeTag, Properties::RateVector > RateVector Definition: FlowProblem.hpp:149 void updateReferencePorosity_() Definition: FlowProblem.hpp:1473 Scalar thermalHalfTransmissibility(const unsigned globalSpaceIdxIn, const unsigned globalSpaceIdxOut) const Definition: FlowProblem.hpp:615 LhsEval computeRockCompTransMultiplier_(const IntensiveQuantities &intQuants, unsigned elementIdx, Callback &obtain) const Definition: FlowProblem.hpp:1769 GetPropType< TypeTag, Properties::TracerModel > TracerModel Definition: FlowProblem.hpp:169 Scalar rockCompressibility(const Context &context, unsigned spaceIdx, unsigned timeIdx) const Definition: FlowProblem.hpp:717 bool updateMaxWaterSaturation_() Definition: FlowProblem.hpp:1328 Dune::FieldMatrix< Scalar, dimWorld, dimWorld > DimMatrix Definition: FlowProblem.hpp:166 Scalar maxOilSaturation(unsigned globalDofIdx) const Returns an element's historic maximum oil phase saturation that was observed during the simulation. Definition: FlowProblem.hpp:970 bool updateMinPressure_(unsigned compressedDofIdx, const IntensiveQuantities &iq) Definition: FlowProblem.hpp:1374 LhsEval rockCompTransMultiplier(const IntensiveQuantities &intQuants, unsigned elementIdx) const Calculate the transmissibility multiplier due to water induced rock compaction. Definition: FlowProblem.hpp:1164 void endIteration() Called by the simulator after each Newton-Raphson iteration. Definition: FlowProblem.hpp:410 GetPropType< TypeTag, Properties::Indices > Indices Definition: FlowProblem.hpp:109 virtual void handleSolventBC(const BCProp::BCFace &, RateVector &) const =0 GetPropType< TypeTag, Properties::GlobalEqVector > GlobalEqVector Definition: FlowProblem.hpp:106 GetPropType< TypeTag, Properties::Simulator > Simulator Definition: FlowProblem.hpp:150 const Vanguard::TransmissibilityType & eclTransmissibilities() const Return a reference to the object that handles the "raw" transmissibilities. Definition: FlowProblem.hpp:661 void source(RateVector &rate, unsigned globalDofIdx, unsigned timeIdx) const Definition: FlowProblem.hpp:1040 virtual void readEquilInitialCondition_()=0 Scalar nextTimeStepSize() const Propose the size of the next time step to the simulator. Definition: FlowProblem.hpp:1093 LhsEval computeRockCompTransMultiplier_(const IntensiveQuantities &intQuants, unsigned elementIdx) const Calculate the transmissibility multiplier due to water induced rock compaction. Definition: FlowProblem.hpp:1754 std::pair< BCType, RateVector > boundaryCondition(const unsigned int globalSpaceIdx, const int directionId) const Definition: FlowProblem.hpp:1198 typename EclMaterialLawManager::MaterialLawParams MaterialLawParams Definition: FlowProblem.hpp:155 static constexpr bool enableDiffusion Definition: FlowProblem.hpp:123 virtual ~FlowProblem()=default PffGridVector< GridView, Stencil, PffDofData_, DofMapper > pffDofData_ Definition: FlowProblem.hpp:1816 const ThermalConductionLawParams & thermalConductionLawParams(const Context &context, unsigned spaceIdx, unsigned timeIdx) const Definition: FlowProblem.hpp:823 Scalar transmissibility(const Context &context, unsigned fromDofLocalIdx, unsigned toDofLocalIdx) const Definition: FlowProblem.hpp:537 virtual void handlePolymerBC(const BCProp::BCFace &, RateVector &) const =0 virtual void beginEpisode() Called by the simulator before an episode begins. Definition: FlowProblem.hpp:307 const SolidEnergyLawParams & solidEnergyLawParams(unsigned globalSpaceIdx, unsigned) const Definition: FlowProblem.hpp:949 static constexpr bool enablePolymerMolarWeight Definition: FlowProblem.hpp:128 Scalar getRockCompTransMultVal(std::size_t dofIdx) const Definition: FlowProblem.hpp:1585 virtual void beginTimeStep() Called by the simulator before each time integration. Definition: FlowProblem.hpp:366 Scalar dofCenterDepth(unsigned globalSpaceIdx) const Direct indexed acces to the depth of an degree of freedom [m]. Definition: FlowProblem.hpp:708 typename GetProp< TypeTag, Properties::MaterialLaw >::EclMaterialLawManager EclMaterialLawManager Definition: FlowProblem.hpp:153 const MaterialLawParams & materialLawParams(unsigned globalDofIdx, FaceDir::DirEnum facedir) const Definition: FlowProblem.hpp:800 std::shared_ptr< const EclMaterialLawManager > materialLawManager() const Returns the ECL material law manager. Definition: FlowProblem.hpp:835 unsigned plmixnumRegionIndex(const Context &context, unsigned spaceIdx, unsigned timeIdx) const Returns the index of the relevant region for thermodynmic properties. Definition: FlowProblem.hpp:904 const MaterialLawParams & materialLawParams(unsigned globalDofIdx) const Definition: FlowProblem.hpp:795 Scalar temperature(const Context &context, unsigned spaceIdx, unsigned timeIdx) const Definition: FlowProblem.hpp:926 Scalar thermalHalfTransmissibilityBoundary(const Context &elemCtx, unsigned boundaryFaceIdx) const Definition: FlowProblem.hpp:651 unsigned miscnumRegionIndex(const Context &context, unsigned spaceIdx, unsigned timeIdx) const Returns the index of the relevant region for thermodynmic properties. Definition: FlowProblem.hpp:896 void updateRockCompTransMultVal_() Definition: FlowProblem.hpp:1736 std::shared_ptr< EclThermalLawManager > thermalLawManager_ Definition: FlowProblem.hpp:1809 Scalar limitNextTimeStepSize_(Scalar dtNext) const Definition: FlowProblem.hpp:1678 GetPropType< TypeTag, Properties::Stencil > Stencil Definition: FlowProblem.hpp:104 typename GetProp< TypeTag, Properties::SolidEnergyLaw >::EclThermalLawManager EclThermalLawManager Definition: FlowProblem.hpp:154 virtual void readExplicitInitialCondition_()=0 virtual void handleMicrBC(const BCProp::BCFace &, RateVector &) const =0 GetPropType< TypeTag, Properties::WellModel > WellModel Definition: FlowProblem.hpp:162 const DimMatrix & intrinsicPermeability(const Context &context, unsigned spaceIdx, unsigned timeIdx) const Definition: FlowProblem.hpp:516 void readThermalParameters_() Definition: FlowProblem.hpp:1456 void serializeOp(Serializer &serializer) Definition: FlowProblem.hpp:1253 Scalar maxPolymerAdsorption(const Context &context, unsigned spaceIdx, unsigned timeIdx) const Returns the max polymer adsorption value. Definition: FlowProblem.hpp:913 Scalar thermalHalfTransmissibilityIn(const Context &context, unsigned faceIdx, unsigned timeIdx) const Definition: FlowProblem.hpp:625 void setMaxOilSaturation(unsigned globalDofIdx, Scalar value) Sets an element's maximum oil phase saturation observed during the simulation. Definition: FlowProblem.hpp:987 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:810 typename EclThermalLawManager::ThermalConductionLawParams ThermalConductionLawParams Definition: FlowProblem.hpp:157 Scalar dispersivity(const unsigned globalCellIn, const unsigned globalCellOut) const Definition: FlowProblem.hpp:575 AquiferModel & mutableAquiferModel() Definition: FlowProblem.hpp:1081 GetPropType< TypeTag, Properties::IntensiveQuantities > IntensiveQuantities Definition: FlowProblem.hpp:161 Scalar temperature(unsigned globalDofIdx, unsigned) const Definition: FlowProblem.hpp:938 Scalar lame(const Context &context, unsigned spaceIdx, unsigned timeIdx) const Definition: FlowProblem.hpp:737 GetPropType< TypeTag, Properties::AquiferModel > AquiferModel Definition: FlowProblem.hpp:163 TemperatureModel temperatureModel_ Definition: FlowProblem.hpp:1818 std::shared_ptr< EclMaterialLawManager > materialLawManager_ Definition: FlowProblem.hpp:1808 static constexpr bool enableConvectiveMixing Definition: FlowProblem.hpp:122 GetPropType< TypeTag, Properties::GridView > GridView Definition: FlowProblem.hpp:103 GetPropType< TypeTag, Properties::TemperatureModel > TemperatureModel Definition: FlowProblem.hpp:168 void updateProperty_(const std::string &failureMsg, UpdateFunc func) Definition: FlowProblem.hpp:1277 LhsEval rockCompTransMultiplier(const IntensiveQuantities &intQuants, unsigned elementIdx, Callback &obtain) const Definition: FlowProblem.hpp:1178 bool updateMaxOilSaturation_() Definition: FlowProblem.hpp:1296 static void registerParameters() Registers all available parameters for the problem and the model. Definition: FlowProblem.hpp:186 static constexpr bool enableDispersion Definition: FlowProblem.hpp:124 virtual void endEpisode() Called by the simulator after the end of an episode. Definition: FlowProblem.hpp:477 GetPropType< TypeTag, Properties::PrimaryVariables > PrimaryVariables Definition: FlowProblem.hpp:148 bool nonTrivialBoundaryConditions_ Definition: FlowProblem.hpp:1860 GetPropType< TypeTag, Properties::Problem > Implementation Definition: FlowProblem.hpp:100 void readBoundaryConditions_() Definition: FlowProblem.hpp:1635 void updateRelperms(std::array< Evaluation, numPhases > &mobility, DirectionalMobilityPtr &dirMob, FluidState &fluidState, unsigned globalSpaceIdx) const Definition: FlowProblem.hpp:839 Vanguard::TransmissibilityType transmissibilities_ Definition: FlowProblem.hpp:1806 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:1031 @ enableThermalFluxBoundaries Definition: FlowProblem.hpp:136 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:420 TemperatureModel & temperatureModel() Definition: FlowProblem.hpp:671 Utility::CopyablePtr< DirectionalMobility< TypeTag > > DirectionalMobilityPtr Definition: FlowProblem.hpp:170 virtual void readInitialCondition_() Definition: FlowProblem.hpp:1532 virtual void initialSolutionApplied() Callback used by the model to indicate that the initial solution has been determined for all degrees ... Definition: FlowProblem.hpp:998 const MaterialLawParams & materialLawParams(const Context &context, unsigned spaceIdx, unsigned timeIdx) const Definition: FlowProblem.hpp:788 Scalar thermalTransmissibilityBoundary(const unsigned globalSpaceIdx, const unsigned boundaryFaceIdx) const Direct access to a boundary transmissibility. Definition: FlowProblem.hpp:582 static constexpr EnergyModules energyModuleType Definition: FlowProblem.hpp:131 Scalar diffusivity(const Context &context, unsigned fromDofLocalIdx, unsigned toDofLocalIdx) const Definition: FlowProblem.hpp:557 Scalar rockReferencePressure(unsigned globalSpaceIdx) const Definition: FlowProblem.hpp:766 void deserialize(Restarter &res) This method restores the complete state of the problem and its sub-objects from disk. Definition: FlowProblem.hpp:273 Scalar biotCoeff(const Context &context, unsigned spaceIdx, unsigned timeIdx) const Definition: FlowProblem.hpp:747 std::shared_ptr< EclMaterialLawManager > materialLawManager() Definition: FlowProblem.hpp:872 bool updateMaxWaterSaturation_(unsigned compressedDofIdx, const IntensiveQuantities &iq) Definition: FlowProblem.hpp:1345 typename GridView::template Codim< 0 >::Entity Element Definition: FlowProblem.hpp:151 Scalar dofCenterDepth(const Context &context, unsigned spaceIdx, unsigned timeIdx) const Returns the depth of an degree of freedom [m]. Definition: FlowProblem.hpp:696 bool updateMaxOilSaturation_(unsigned compressedDofIdx, const IntensiveQuantities &iq) Definition: FlowProblem.hpp:1314 GetPropType< TypeTag, Properties::FluidSystem > FluidSystem Definition: FlowProblem.hpp:105 GetPropType< TypeTag, Properties::MaterialLaw > MaterialLaw Definition: FlowProblem.hpp:158 const AquiferModel & aquiferModel() const Definition: FlowProblem.hpp:1078 int refPressurePhaseIdx_() const Definition: FlowProblem.hpp:1724 static constexpr bool enableBioeffects Definition: FlowProblem.hpp:120 LhsEval rockCompPoroMultiplier(const IntensiveQuantities &intQuants, unsigned elementIdx) const Calculate the porosity multiplier due to water induced rock compaction. Definition: FlowProblem.hpp:1120 Scalar transmissibilityBoundary(const unsigned globalSpaceIdx, const unsigned boundaryFaceIdx) const Direct access to a boundary transmissibility. Definition: FlowProblem.hpp:605 void readMaterialParameters_() Definition: FlowProblem.hpp:1416 void serialize(Restarter &res) This method writes the complete state of the problem and its subobjects to disk. Definition: FlowProblem.hpp:292 Scalar rockReferencePressure(const Context &context, unsigned spaceIdx, unsigned timeIdx) const Definition: FlowProblem.hpp:757 Scalar diffusivity(const unsigned globalCellIn, const unsigned globalCellOut) const Definition: FlowProblem.hpp:568 @ enableFullyImplicitThermal Definition: FlowProblem.hpp:132 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. 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 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:1822 const std::vector< T > & operator()(FaceDir::DirEnum dir) const Definition: FlowProblem.hpp:1831 void resize(std::size_t size, T defVal) Definition: FlowProblem.hpp:1825 std::vector< T > & operator()(FaceDir::DirEnum dir) Definition: FlowProblem.hpp:1843 std::array< std::vector< T >, 6 > data Definition: FlowProblem.hpp:1823 Definition: FlowProblem.hpp:1595 ConditionalStorage< enableFullyImplicitThermal, Scalar > thermalHalfTransOut Definition: FlowProblem.hpp:1597 ConditionalStorage< enableFullyImplicitThermal, Scalar > thermalHalfTransIn Definition: FlowProblem.hpp:1596 ConditionalStorage< enableDiffusion, Scalar > diffusivity Definition: FlowProblem.hpp:1598 ConditionalStorage< enableDispersion, Scalar > dispersivity Definition: FlowProblem.hpp:1599 Scalar transmissibility Definition: FlowProblem.hpp:1600 |