|
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;
256 this->enableDriftCompensationTemp_ = Parameters::Get<Parameters::EnableDriftCompensationTemp>();
791 const auto& rock_config = this->simulator().vanguard().eclState().getSimulationConfig().rock_config();
823 const MaterialLawParams& materialLawParams(unsigned globalDofIdx, FaceDir::DirEnum facedir) const
877 MaterialLaw::template relativePermeabilities<ContainerT, FluidState, Args...>(mobility, materialParams, fluidState);
890 MaterialLaw::template relativePermeabilities<ContainerT, FluidState, Args...>(mob_array, materialParams, fluidState);
1146 LhsEval rockCompPoroMultiplier(const IntensiveQuantities& intQuants, unsigned elementIdx) const
1158 const auto& rock_config = this->simulator().vanguard().eclState().getSimulationConfig().rock_config();
1178 LhsEval SwMax = max(decay<LhsEval>(fs.saturation(waterPhaseIdx)), this->maxWaterSaturation_[elementIdx]);
1179 LhsEval SwDeltaMax = SwMax - asImp_().initialFluidStates()[elementIdx].saturation(waterPhaseIdx);
1181 return this->rockCompPoroMultWc_[tableIdx].eval(effectivePressure, SwDeltaMax, /*extrapolation=*/true);
1190 LhsEval rockCompTransMultiplier(const IntensiveQuantities& intQuants, unsigned elementIdx) const
1204 LhsEval rockCompTransMultiplier(const IntensiveQuantities& intQuants, unsigned elementIdx, Callback& obtain) const
1207 return implicit ? this->simulator().problem().template computeRockCompTransMultiplier_<LhsEval>(intQuants, elementIdx, obtain)
1212 LhsEval wellTransMultiplier(const IntensiveQuantities& intQuants, unsigned elementIdx, Callback& obtain) const
1217 LhsEval trans_mult = implicit ? this->simulator().problem().template computeRockCompTransMultiplier_<LhsEval>(intQuants, elementIdx, obtain)
1219 trans_mult *= this->simulator().problem().template permFactTransMultiplier<LhsEval>(intQuants, elementIdx, obtain);
1224 std::pair<BCType, RateVector> boundaryCondition(const unsigned int globalSpaceIdx, const int directionId) const
1426 // \brief Function to assign field properties of type int, unsigned int, ..., on the leaf grid view.
1435 return [&lookup](const FieldPropsManager& fieldPropManager, const std::string& propString, bool needsTranslation)
1437 return lookup.template assignFieldPropsIntOnLeaf<IntType>(fieldPropManager, propString, needsTranslation);
1539 // A common practice in reservoir simulation is to use large pore-volume-multipliers in boundary cells
1540 // to model boundary conditions other than no-flow. This may result in reference porosities that are larger than 1.
1541 // A simple (1-reference porosity) * geometric volume of the element may give unphysical results.
1542 // We therefore instead consider the pore-volume-multiplier as a volume multiplier. The rock fraction is thus given by
1543 // (1 - porosity * ntg) * pore-volume-multiplier = (1 - porosity * ntg) * reference porosity / (porosity * ntg)
1552 const auto rock_fraction = (1 - poro_eff) * this->referencePorosity_[/*timeIdx=*/0][sfcdofIdx] / poro_eff;
1574 this->maxWaterSaturation_[elemIdx] = std::max(this->maxWaterSaturation_[elemIdx], fs.saturation(waterPhaseIdx));
1576 this->maxOilSaturation_[elemIdx] = std::max(this->maxOilSaturation_[elemIdx], fs.saturation(oilPhaseIdx));
1578 this->minRefPressure_[elemIdx] = std::min(this->minRefPressure_[elemIdx], fs.pressure(refPressurePhaseIdx_()));
1642 dofData.transmissibility = transmissibilities_.transmissibility(globalCenterElemIdx, globalElemIdx);
1645 *dofData.thermalHalfTransIn = transmissibilities_.thermalHalfTrans(globalCenterElemIdx, globalElemIdx);
1646 *dofData.thermalHalfTransOut = transmissibilities_.thermalHalfTrans(globalElemIdx, globalCenterElemIdx);
1658 virtual void updateExplicitQuantities_(int episodeIdx, int timeStepSize, bool first_step_after_restart) = 0;
1711 Scalar maxTimeStepSize = Parameters::Get<Parameters::SolverMaxTimeStepInDays<Scalar>>() * 24 * 60 * 60;
1779 LhsEval computeRockCompTransMultiplier_(const IntensiveQuantities& intQuants, unsigned elementIdx) const
1794 LhsEval computeRockCompTransMultiplier_(const IntensiveQuantities& intQuants, unsigned elementIdx, Callback& obtain) const
1806 const auto& rock_config = this->simulator().vanguard().eclState().getSimulationConfig().rock_config();
1825 LhsEval SwMax = max(obtain(fs.saturation(waterPhaseIdx)), this->maxWaterSaturation_[elementIdx]);
1826 LhsEval SwDeltaMax = SwMax - asImp_().initialFluidStates()[elementIdx].saturation(waterPhaseIdx);
1828 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 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:1890 const WellModel & wellModel() const Returns a reference to the ECL well manager used by the problem. Definition: FlowProblem.hpp:1098 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:571 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:207 bool nonTrivialBoundaryConditions() const Definition: FlowProblem.hpp:1110 virtual void writeOutput(bool verbose) Write the requested quantities of the current solution into the output files. Definition: FlowProblem.hpp:523 std::function< std::vector< IntType >(const FieldPropsManager &, const std::string &, bool)> fieldPropIntTypeOnLeafAssigner_() Definition: FlowProblem.hpp:1432 const DimMatrix & intrinsicPermeability(unsigned globalElemIdx) const This method returns the intrinsic permeability tensor given a global element index. Definition: FlowProblem.hpp:553 unsigned pvtRegionIndex(const Context &context, unsigned spaceIdx, unsigned timeIdx) const Returns the index of the relevant region for thermodynmic properties. Definition: FlowProblem.hpp:906 LhsEval wellTransMultiplier(const IntensiveQuantities &intQuants, unsigned elementIdx, Callback &obtain) const Definition: FlowProblem.hpp:1212 Scalar porosity(const Context &context, unsigned spaceIdx, unsigned timeIdx) const Definition: FlowProblem.hpp:706 void beginIteration() Called by the simulator before each Newton-Raphson iteration. Definition: FlowProblem.hpp:423 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:750 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:1602 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:914 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:661 GetPropType< TypeTag, Properties::ElementContext > ElementContext Definition: FlowProblem.hpp:152 const ThermalConductionLawParams & thermalConductionLawParams(unsigned globalSpaceIdx, unsigned) const Definition: FlowProblem.hpp:981 std::function< std::vector< double >(const FieldPropsManager &, const std::string &)> fieldPropDoubleOnLeafAssigner_() Definition: FlowProblem.hpp:1417 Scalar transmissibilityBoundary(const Context &elemCtx, unsigned boundaryFaceIdx) const Definition: FlowProblem.hpp:618 GetPropType< TypeTag, Properties::RateVector > RateVector Definition: FlowProblem.hpp:149 void updateReferencePorosity_() Definition: FlowProblem.hpp:1498 Scalar thermalHalfTransmissibility(const unsigned globalSpaceIdxIn, const unsigned globalSpaceIdxOut) const Definition: FlowProblem.hpp:638 LhsEval computeRockCompTransMultiplier_(const IntensiveQuantities &intQuants, unsigned elementIdx, Callback &obtain) const Definition: FlowProblem.hpp:1794 GetPropType< TypeTag, Properties::TracerModel > TracerModel Definition: FlowProblem.hpp:169 Scalar rockCompressibility(const Context &context, unsigned spaceIdx, unsigned timeIdx) const Definition: FlowProblem.hpp:740 bool updateMaxWaterSaturation_() Definition: FlowProblem.hpp:1354 Dune::FieldMatrix< Scalar, dimWorld, dimWorld > DimMatrix Definition: FlowProblem.hpp:166 void advanceTimeLevel() Called by the simulator to accept the current state as the new time level after a successful timestep... Definition: FlowProblem.hpp:415 Scalar maxOilSaturation(unsigned globalDofIdx) const Returns an element's historic maximum oil phase saturation that was observed during the simulation. Definition: FlowProblem.hpp:996 bool updateMinPressure_(unsigned compressedDofIdx, const IntensiveQuantities &iq) Definition: FlowProblem.hpp:1399 LhsEval rockCompTransMultiplier(const IntensiveQuantities &intQuants, unsigned elementIdx) const Calculate the transmissibility multiplier due to water induced rock compaction. Definition: FlowProblem.hpp:1190 void endIteration() Called by the simulator after each Newton-Raphson iteration. Definition: FlowProblem.hpp:433 GetPropType< TypeTag, Properties::Indices > Indices Definition: FlowProblem.hpp:109 virtual void handleSolventBC(const BCProp::BCFace &, RateVector &) const =0 @ enableFullyImplicitThermal Definition: FlowProblem.hpp:132 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:684 void source(RateVector &rate, unsigned globalDofIdx, unsigned timeIdx) const Definition: FlowProblem.hpp:1066 virtual void readEquilInitialCondition_()=0 Scalar nextTimeStepSize() const Propose the size of the next time step to the simulator. Definition: FlowProblem.hpp:1119 LhsEval computeRockCompTransMultiplier_(const IntensiveQuantities &intQuants, unsigned elementIdx) const Calculate the transmissibility multiplier due to water induced rock compaction. Definition: FlowProblem.hpp:1779 std::pair< BCType, RateVector > boundaryCondition(const unsigned int globalSpaceIdx, const int directionId) const Definition: FlowProblem.hpp:1224 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:1841 const ThermalConductionLawParams & thermalConductionLawParams(const Context &context, unsigned spaceIdx, unsigned timeIdx) const Definition: FlowProblem.hpp:846 Scalar transmissibility(const Context &context, unsigned fromDofLocalIdx, unsigned toDofLocalIdx) const Definition: FlowProblem.hpp:560 @ enableThermalFluxBoundaries Definition: FlowProblem.hpp:136 virtual void handlePolymerBC(const BCProp::BCFace &, RateVector &) const =0 virtual void beginEpisode() Called by the simulator before an episode begins. Definition: FlowProblem.hpp:312 const SolidEnergyLawParams & solidEnergyLawParams(unsigned globalSpaceIdx, unsigned) const Definition: FlowProblem.hpp:975 static constexpr bool enablePolymerMolarWeight Definition: FlowProblem.hpp:128 Scalar getRockCompTransMultVal(std::size_t dofIdx) const Definition: FlowProblem.hpp:1610 virtual void beginTimeStep() Called by the simulator before each time integration. Definition: FlowProblem.hpp:371 Scalar dofCenterDepth(unsigned globalSpaceIdx) const Direct indexed acces to the depth of an degree of freedom [m]. Definition: FlowProblem.hpp:731 typename GetProp< TypeTag, Properties::MaterialLaw >::EclMaterialLawManager EclMaterialLawManager Definition: FlowProblem.hpp:153 const MaterialLawParams & materialLawParams(unsigned globalDofIdx, FaceDir::DirEnum facedir) const Definition: FlowProblem.hpp:823 std::shared_ptr< const EclMaterialLawManager > materialLawManager() const Returns the ECL material law manager. Definition: FlowProblem.hpp:858 unsigned plmixnumRegionIndex(const Context &context, unsigned spaceIdx, unsigned timeIdx) const Returns the index of the relevant region for thermodynmic properties. Definition: FlowProblem.hpp:930 const MaterialLawParams & materialLawParams(unsigned globalDofIdx) const Definition: FlowProblem.hpp:818 Scalar temperature(const Context &context, unsigned spaceIdx, unsigned timeIdx) const Definition: FlowProblem.hpp:952 Scalar thermalHalfTransmissibilityBoundary(const Context &elemCtx, unsigned boundaryFaceIdx) const Definition: FlowProblem.hpp:674 unsigned miscnumRegionIndex(const Context &context, unsigned spaceIdx, unsigned timeIdx) const Returns the index of the relevant region for thermodynmic properties. Definition: FlowProblem.hpp:922 void updateRockCompTransMultVal_() Definition: FlowProblem.hpp:1761 std::shared_ptr< EclThermalLawManager > thermalLawManager_ Definition: FlowProblem.hpp:1834 Scalar limitNextTimeStepSize_(Scalar dtNext) const Definition: FlowProblem.hpp:1703 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:539 void updateFailed() Called by the simulator to restore the state captured at the beginning of the timestep after a failed... Definition: FlowProblem.hpp:406 void readThermalParameters_() Definition: FlowProblem.hpp:1481 void serializeOp(Serializer &serializer) Definition: FlowProblem.hpp:1279 Scalar maxPolymerAdsorption(const Context &context, unsigned spaceIdx, unsigned timeIdx) const Returns the max polymer adsorption value. Definition: FlowProblem.hpp:939 Scalar thermalHalfTransmissibilityIn(const Context &context, unsigned faceIdx, unsigned timeIdx) const Definition: FlowProblem.hpp:648 void setMaxOilSaturation(unsigned globalDofIdx, Scalar value) Sets an element's maximum oil phase saturation observed during the simulation. Definition: FlowProblem.hpp:1013 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:833 typename EclThermalLawManager::ThermalConductionLawParams ThermalConductionLawParams Definition: FlowProblem.hpp:157 Scalar dispersivity(const unsigned globalCellIn, const unsigned globalCellOut) const Definition: FlowProblem.hpp:598 AquiferModel & mutableAquiferModel() Definition: FlowProblem.hpp:1107 GetPropType< TypeTag, Properties::IntensiveQuantities > IntensiveQuantities Definition: FlowProblem.hpp:161 Scalar temperature(unsigned globalDofIdx, unsigned) const Definition: FlowProblem.hpp:964 Scalar lame(const Context &context, unsigned spaceIdx, unsigned timeIdx) const Definition: FlowProblem.hpp:760 GetPropType< TypeTag, Properties::AquiferModel > AquiferModel Definition: FlowProblem.hpp:163 TemperatureModel temperatureModel_ Definition: FlowProblem.hpp:1843 std::shared_ptr< EclMaterialLawManager > materialLawManager_ Definition: FlowProblem.hpp:1833 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:1303 LhsEval rockCompTransMultiplier(const IntensiveQuantities &intQuants, unsigned elementIdx, Callback &obtain) const Definition: FlowProblem.hpp:1204 bool updateMaxOilSaturation_() Definition: FlowProblem.hpp:1322 static void registerParameters() Registers all available parameters for the problem and the model. Definition: FlowProblem.hpp:191 static constexpr bool enableDispersion Definition: FlowProblem.hpp:124 virtual void endEpisode() Called by the simulator after the end of an episode. Definition: FlowProblem.hpp:500 GetPropType< TypeTag, Properties::PrimaryVariables > PrimaryVariables Definition: FlowProblem.hpp:148 bool nonTrivialBoundaryConditions_ Definition: FlowProblem.hpp:1885 GetPropType< TypeTag, Properties::Problem > Implementation Definition: FlowProblem.hpp:100 void readBoundaryConditions_() Definition: FlowProblem.hpp:1660 void updateRelperms(std::array< Evaluation, numPhases > &mobility, DirectionalMobilityPtr &dirMob, FluidState &fluidState, unsigned globalSpaceIdx) const Definition: FlowProblem.hpp:865 Vanguard::TransmissibilityType transmissibilities_ Definition: FlowProblem.hpp:1831 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:1057 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:443 TemperatureModel & temperatureModel() Definition: FlowProblem.hpp:694 Utility::CopyablePtr< DirectionalMobility< TypeTag > > DirectionalMobilityPtr Definition: FlowProblem.hpp:170 virtual void readInitialCondition_() Definition: FlowProblem.hpp:1557 virtual void initialSolutionApplied() Callback used by the model to indicate that the initial solution has been determined for all degrees ... Definition: FlowProblem.hpp:1024 const MaterialLawParams & materialLawParams(const Context &context, unsigned spaceIdx, unsigned timeIdx) const Definition: FlowProblem.hpp:811 Scalar thermalTransmissibilityBoundary(const unsigned globalSpaceIdx, const unsigned boundaryFaceIdx) const Direct access to a boundary transmissibility. Definition: FlowProblem.hpp:605 static constexpr EnergyModules energyModuleType Definition: FlowProblem.hpp:131 Scalar diffusivity(const Context &context, unsigned fromDofLocalIdx, unsigned toDofLocalIdx) const Definition: FlowProblem.hpp:580 Scalar rockReferencePressure(unsigned globalSpaceIdx) const Definition: FlowProblem.hpp:789 std::string extraTrailerSummary() const Definition: FlowProblem.hpp:176 void deserialize(Restarter &res) This method restores the complete state of the problem and its sub-objects from disk. Definition: FlowProblem.hpp:278 Scalar biotCoeff(const Context &context, unsigned spaceIdx, unsigned timeIdx) const Definition: FlowProblem.hpp:770 std::shared_ptr< EclMaterialLawManager > materialLawManager() Definition: FlowProblem.hpp:898 std::shared_ptr< const EclThermalLawManager > thermalLawManager() const Definition: FlowProblem.hpp:861 bool updateMaxWaterSaturation_(unsigned compressedDofIdx, const IntensiveQuantities &iq) Definition: FlowProblem.hpp:1370 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:719 bool updateMaxOilSaturation_(unsigned compressedDofIdx, const IntensiveQuantities &iq) Definition: FlowProblem.hpp:1340 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:1104 int refPressurePhaseIdx_() const Definition: FlowProblem.hpp:1749 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:1146 Scalar transmissibilityBoundary(const unsigned globalSpaceIdx, const unsigned boundaryFaceIdx) const Direct access to a boundary transmissibility. Definition: FlowProblem.hpp:628 void readMaterialParameters_() Definition: FlowProblem.hpp:1441 void serialize(Restarter &res) This method writes the complete state of the problem and its subobjects to disk. Definition: FlowProblem.hpp:297 Scalar rockReferencePressure(const Context &context, unsigned spaceIdx, unsigned timeIdx) const Definition: FlowProblem.hpp:780 Scalar diffusivity(const unsigned globalCellIn, const unsigned globalCellOut) const Definition: FlowProblem.hpp:591 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:1847 const std::vector< T > & operator()(FaceDir::DirEnum dir) const Definition: FlowProblem.hpp:1856 void resize(std::size_t size, T defVal) Definition: FlowProblem.hpp:1850 std::vector< T > & operator()(FaceDir::DirEnum dir) Definition: FlowProblem.hpp:1868 std::array< std::vector< T >, 6 > data Definition: FlowProblem.hpp:1848 Definition: FlowProblem.hpp:1620 ConditionalStorage< enableFullyImplicitThermal, Scalar > thermalHalfTransOut Definition: FlowProblem.hpp:1622 ConditionalStorage< enableFullyImplicitThermal, Scalar > thermalHalfTransIn Definition: FlowProblem.hpp:1621 ConditionalStorage< enableDiffusion, Scalar > diffusivity Definition: FlowProblem.hpp:1623 ConditionalStorage< enableDispersion, Scalar > dispersivity Definition: FlowProblem.hpp:1624 Scalar transmissibility Definition: FlowProblem.hpp:1625 |