WellInterface.hpp
Go to the documentation of this file.
121 static constexpr bool has_disgas_in_water = getPropValue<TypeTag, Properties::EnableDisgasInWater>();
122 static constexpr bool has_saltPrecip = getPropValue<TypeTag, Properties::EnableSaltPrecipitation>();
typename BlackoilWellModelGeneric< Scalar >::GLiftProdWells GLiftProdWells Definition: BlackoilWellModel.hpp:118 typename BlackoilWellModelGeneric< Scalar >::GLiftOptWells GLiftOptWells Definition: BlackoilWellModel.hpp:117 typename BlackoilWellModelGeneric< Scalar >::GLiftWellStateMap GLiftWellStateMap Definition: BlackoilWellModel.hpp:120 Definition: ConvergenceReport.hpp:38 Definition: DeferredLogger.hpp:57 std::set< int > GLiftSyncGroups Definition: GasLiftSingleWellGeneric.hpp:58 Definition: GasLiftSingleWell.hpp:38 Definition: GroupState.hpp:35 Class encapsulating some information about parallel wells. Definition: ParallelWellInfo.hpp:184 Definition: RateConverter.hpp:70 Definition: WellInterfaceFluidSystem.hpp:47 static constexpr int Oil Definition: WellInterfaceFluidSystem.hpp:58 static constexpr int Water Definition: WellInterfaceFluidSystem.hpp:57 static constexpr int Gas Definition: WellInterfaceFluidSystem.hpp:59 int pvtRegionIdx() const Definition: WellInterfaceGeneric.hpp:126 const std::vector< double > & wellIndex() const Definition: WellInterfaceGeneric.hpp:170 Definition: WellInterfaceIndices.hpp:35 DenseAd::Evaluation< Scalar, Indices::numEq > Eval Definition: WellInterfaceIndices.hpp:41 Definition: WellInterface.hpp:75 virtual void solveEqAndUpdateWellState(const SummaryState &summary_state, WellState< Scalar > &well_state, DeferredLogger &deferred_logger)=0 Dune::BCRSMatrix< Opm::MatrixBlock< double, 1, 1 > > PressureMatrix Definition: WellInterface.hpp:102 virtual void updateProductivityIndex(const Simulator &simulator, const WellProdIndexCalculator &wellPICalc, WellState< Scalar > &well_state, DeferredLogger &deferred_logger) const =0 bool updateWellControl(const Simulator &simulator, const IndividualOrGroup iog, WellState< Scalar > &well_state, const GroupState< Scalar > &group_state, DeferredLogger &deferred_logger) Definition: WellInterface_impl.hpp:194 std::optional< double > estimateOperableBhp(const Simulator &simulator, const double dt, WellState< Scalar > &well_state, const SummaryState &summary_state, DeferredLogger &deferred_logger) Definition: WellInterface_impl.hpp:576 virtual std::vector< double > computeCurrentWellRates(const Simulator &simulator, DeferredLogger &deferred_logger) const =0 virtual std::vector< double > getPrimaryVars() const Definition: WellInterface.hpp:349 virtual double connectionDensity(const int globalConnIdx, const int openConnIdx) const =0 bool solveWellWithBhp(const Simulator &simulator, const double dt, const double bhp, WellState< Scalar > &well_state, DeferredLogger &deferred_logger) Definition: WellInterface_impl.hpp:599 GetPropType< TypeTag, Properties::Simulator > Simulator Definition: WellInterface.hpp:82 void getMobility(const Simulator &simulator, const int perf, std::vector< Value > &mob, Callback &extendEval, DeferredLogger &deferred_logger) const Definition: WellInterface_impl.hpp:1691 void assembleWellEq(const Simulator &simulator, const double dt, WellState< Scalar > &well_state, const GroupState< Scalar > &group_state, DeferredLogger &deferred_logger) Definition: WellInterface_impl.hpp:747 virtual void addWellContributions(SparseMatrixAdapter &) const =0 typename WellInterfaceFluidSystem< FluidSystem >::RateConverterType RateConverterType Definition: WellInterface.hpp:105 const std::vector< RateVector > & connectionRates() const Definition: WellInterface.hpp:344 BlackOilFluidState< Eval, FluidSystem, has_temperature, has_energy, Indices::compositionSwitchIdx >=0, has_watVapor, has_brine, has_saltPrecip, has_disgas_in_water, Indices::numPhases > FluidState Definition: WellInterface.hpp:135 virtual void assembleWellEqWithoutIteration(const Simulator &simulator, const double dt, const WellInjectionControls &inj_controls, const WellProductionControls &prod_controls, WellState< Scalar > &well_state, const GroupState< Scalar > &group_state, DeferredLogger &deferred_logger)=0 virtual void updateIPR(const Simulator &simulator, DeferredLogger &deferred_logger) const =0 virtual void checkOperabilityUnderBHPLimit(const WellState< Scalar > &well_state, const Simulator &simulator, DeferredLogger &deferred_logger)=0 std::vector< RateVector > connectionRates_ Definition: WellInterface.hpp:374 bool updateWellStateWithTHPTargetProd(const Simulator &simulator, WellState< Scalar > &well_state, DeferredLogger &deferred_logger) const Definition: WellInterface_impl.hpp:1766 void addCellRates(RateVector &rates, int cellIdx) const Definition: WellInterface_impl.hpp:839 virtual void calculateExplicitQuantities(const Simulator &simulator, const WellState< Scalar > &well_state, DeferredLogger &deferred_logger)=0 Scalar volumetricSurfaceRateForConnection(int cellIdx, int phaseIdx) const Definition: WellInterface_impl.hpp:855 void computeConnLevelInjInd(const FluidState &fs, const Phase preferred_phase, const std::function< double(const double)> &connIICalc, const std::vector< Scalar > &mobility, double *connII, DeferredLogger &deferred_logger) const Definition: WellInterface_impl.hpp:1831 virtual void addWellPressureEquations(PressureMatrix &mat, const BVector &x, const int pressureVarIndex, const bool use_well_weights, const WellState< Scalar > &well_state) const =0 virtual void apply(const BVector &x, BVector &Ax) const =0 Ax = Ax - C D^-1 B x. static const bool has_temperature Definition: WellInterface.hpp:115 bool iterateWellEquations(const Simulator &simulator, const double dt, WellState< Scalar > &well_state, const GroupState< Scalar > &group_state, DeferredLogger &deferred_logger) Definition: WellInterface_impl.hpp:453 void computeConnLevelProdInd(const FluidState &fs, const std::function< double(const double)> &connPICalc, const std::vector< Scalar > &mobility, double *connPI) const Definition: WellInterface_impl.hpp:1796 GetPropType< TypeTag, Properties::IntensiveQuantities > IntensiveQuantities Definition: WellInterface.hpp:85 void updateConnectionDFactor(const Simulator &simulator, SingleWellState< double > &ws) const Definition: WellInterface_impl.hpp:1585 GetPropType< TypeTag, Properties::Scalar > Scalar Definition: WellInterface.hpp:96 void checkWellOperability(const Simulator &simulator, const WellState< Scalar > &well_state, DeferredLogger &deferred_logger) Definition: WellInterface_impl.hpp:874 virtual double getRefDensity() const =0 void updateWellOperability(const Simulator &simulator, const WellState< Scalar > &well_state, DeferredLogger &deferred_logger) Definition: WellInterface_impl.hpp:978 virtual void computeWellRatesWithBhpIterations(const Simulator &simulator, const Scalar &bhp, std::vector< double > &well_flux, DeferredLogger &deferred_logger) const =0 void updateWellStateRates(const Simulator &simulator, WellState< Scalar > &well_state, DeferredLogger &deferred_logger) const Definition: WellInterface_impl.hpp:1458 GetPropType< TypeTag, Properties::MaterialLaw > MaterialLaw Definition: WellInterface.hpp:86 virtual void updateWellStateWithTarget(const Simulator &simulator, const GroupState< Scalar > &group_state, WellState< Scalar > &well_state, DeferredLogger &deferred_logger) const Definition: WellInterface_impl.hpp:1032 Eval getPerfCellPressure(const FluidState &fs) const Definition: WellInterface_impl.hpp:1676 Dune::BlockVector< VectorBlockType > BVector Definition: WellInterface.hpp:101 bool gliftBeginTimeStepWellTestIterateWellEquations(const Simulator &simulator, const double dt, WellState< Scalar > &well_state, const GroupState< Scalar > &group_state, DeferredLogger &deferred_logger) Definition: WellInterface_impl.hpp:899 virtual ConvergenceReport getWellConvergence(const SummaryState &summary_state, const WellState< Scalar > &well_state, const std::vector< double > &B_avg, DeferredLogger &deferred_logger, const bool relax_tolerance) const =0 bool changed_to_stopped_this_step_ Definition: WellInterface.hpp:376 static constexpr bool has_polymermw Definition: WellInterface.hpp:117 virtual int setPrimaryVars(std::vector< double >::const_iterator) Definition: WellInterface.hpp:354 GetPropType< TypeTag, Properties::Grid > Grid Definition: WellInterface.hpp:81 void updateConnectionTransmissibilityFactor(const Simulator &simulator, SingleWellState< double > &ws) const Definition: WellInterface_impl.hpp:1647 virtual void computeWellPotentials(const Simulator &simulator, const WellState< Scalar > &well_state, std::vector< double > &well_potentials, DeferredLogger &deferred_logger)=0 WellInterface(const Well &well, const ParallelWellInfo &pw_info, const int time_step, const ModelParameters ¶m, const RateConverterType &rate_converter, const int pvtRegionIdx, const int num_components, const int num_phases, const int index_of_well, const std::vector< PerforationData > &perf_data) Constructor. Definition: WellInterface_impl.hpp:54 typename BlackoilWellModel< TypeTag >::GLiftProdWells GLiftProdWells Definition: WellInterface.hpp:91 virtual void updateIPRImplicit(const Simulator &simulator, WellState< Scalar > &well_state, DeferredLogger &deferred_logger)=0 GetPropType< TypeTag, Properties::FluidSystem > FluidSystem Definition: WellInterface.hpp:83 static constexpr bool has_disgas_in_water Definition: WellInterface.hpp:121 void prepareWellBeforeAssembling(const Simulator &simulator, const double dt, WellState< Scalar > &well_state, const GroupState< Scalar > &group_state, DeferredLogger &deferred_logger) Definition: WellInterface_impl.hpp:783 static constexpr bool has_saltPrecip Definition: WellInterface.hpp:122 const std::vector< double > & compFrac() const GetPropType< TypeTag, Properties::RateVector > RateVector Definition: WellInterface.hpp:88 virtual void updateWaterThroughput(const double dt, WellState< Scalar > &well_state) const =0 void solveWellEquation(const Simulator &simulator, WellState< Scalar > &well_state, const GroupState< Scalar > &group_state, DeferredLogger &deferred_logger) Definition: WellInterface_impl.hpp:690 virtual bool iterateWellEqWithControl(const Simulator &simulator, const double dt, const WellInjectionControls &inj_controls, const WellProductionControls &prod_controls, WellState< Scalar > &well_state, const GroupState< Scalar > &group_state, DeferredLogger &deferred_logger)=0 virtual bool jacobianContainsWellContributions() const Wether the Jacobian will also have well contributions in it. Definition: WellInterface.hpp:271 bool updateWellOperabilityFromWellEq(const Simulator &simulator, const WellState< Scalar > &well_state, DeferredLogger &deferred_logger) Definition: WellInterface_impl.hpp:1014 virtual bool iterateWellEqWithSwitching(const Simulator &simulator, const double dt, const WellInjectionControls &inj_controls, const WellProductionControls &prod_controls, WellState< Scalar > &well_state, const GroupState< Scalar > &group_state, DeferredLogger &deferred_logger, const bool fixed_control=false, const bool fixed_status=false)=0 virtual std::optional< double > computeBhpAtThpLimitProdWithAlq(const Simulator &simulator, const SummaryState &summary_state, const double alq_value, DeferredLogger &deferred_logger) const =0 Dune::FieldMatrix< Scalar, Indices::numEq, Indices::numEq > MatrixBlockType Definition: WellInterface.hpp:99 void gliftBeginTimeStepWellTestUpdateALQ(const Simulator &simulator, WellState< Scalar > &well_state, DeferredLogger &deferred_logger) Definition: WellInterface_impl.hpp:934 std::vector< double > initialWellRateFractions(const Simulator &simulator, const WellState< Scalar > &well_state) const Definition: WellInterface_impl.hpp:1411 virtual void updatePrimaryVariables(const SummaryState &summary_state, const WellState< Scalar > &well_state, DeferredLogger &deferred_logger)=0 double computeConnectionDFactor(const int perf, const IntensiveQuantities &intQuants, const SingleWellState< double > &ws) const Definition: WellInterface_impl.hpp:1605 virtual void init(const PhaseUsage *phase_usage_arg, const std::vector< double > &depth_arg, const double gravity_arg, const int num_cells, const std::vector< Scalar > &B_avg, const bool changed_to_open_this_step) Definition: WellInterface_impl.hpp:91 void wellTesting(const Simulator &simulator, const double simulation_time, WellState< Scalar > &well_state, const GroupState< Scalar > &group_state, WellTestState &welltest_state, DeferredLogger &deferred_logger) Definition: WellInterface_impl.hpp:355 virtual void computeWellRatesWithBhp(const Simulator &simulator, const double &bhp, std::vector< double > &well_flux, DeferredLogger &deferred_logger) const =0 bool solveWellWithZeroRate(const Simulator &simulator, const double dt, WellState< Scalar > &well_state, DeferredLogger &deferred_logger) Definition: WellInterface_impl.hpp:635 bool solveWellForTesting(const Simulator &simulator, WellState< Scalar > &well_state, const GroupState< Scalar > &group_state, DeferredLogger &deferred_logger) Definition: WellInterface_impl.hpp:655 GetPropType< TypeTag, Properties::Indices > Indices Definition: WellInterface.hpp:84 bool solveWellWithTHPConstraint(const Simulator &simulator, const double dt, const Well::InjectionControls &inj_controls, const Well::ProductionControls &prod_controls, WellState< Scalar > &well_state, const GroupState< Scalar > &group_state, DeferredLogger &deferred_logger) Definition: WellInterface_impl.hpp:486 typename GasLiftSingleWellGeneric::GLiftSyncGroups GLiftSyncGroups Definition: WellInterface.hpp:94 bool updateWellControlAndStatusLocalIteration(const Simulator &simulator, WellState< Scalar > &well_state, const GroupState< Scalar > &group_state, const Well::InjectionControls &inj_controls, const Well::ProductionControls &prod_controls, const double WQTotal, DeferredLogger &deferred_logger, const bool fixed_control=false, const bool fixed_status=false) Definition: WellInterface_impl.hpp:271 bool thp_update_iterations Definition: WellInterface.hpp:377 Dune::FieldVector< Scalar, Indices::numEq > VectorBlockType Definition: WellInterface.hpp:98 void assembleWellEqWithoutIteration(const Simulator &simulator, const double dt, WellState< Scalar > &well_state, const GroupState< Scalar > &group_state, DeferredLogger &deferred_logger) Definition: WellInterface_impl.hpp:764 GetPropType< TypeTag, Properties::SparseMatrixAdapter > SparseMatrixAdapter Definition: WellInterface.hpp:87 typename BlackoilWellModel< TypeTag >::GLiftOptWells GLiftOptWells Definition: WellInterface.hpp:90 virtual void recoverWellSolutionAndUpdateWellState(const SummaryState &summary_state, const BVector &x, WellState< Scalar > &well_state, DeferredLogger &deferred_logger)=0 virtual void checkOperabilityUnderTHPLimit(const Simulator &simulator, const WellState< Scalar > &well_state, DeferredLogger &deferred_logger)=0 static constexpr bool has_zFraction Definition: WellInterface.hpp:112 virtual void initPrimaryVariablesEvaluation()=0 typename BlackoilWellModel< TypeTag >::GLiftWellStateMap GLiftWellStateMap Definition: WellInterface.hpp:93 Definition: WellProdIndexCalculator.hpp:36 Definition: WellState.hpp:62 VFPEvaluation bhp(const VFPProdTable &table, const double aqua, const double liquid, const double vapour, const double thp, const double alq, const double explicit_wfr, const double explicit_gfr, const bool use_vfpexplicit) Definition: BlackoilPhases.hpp:27 Solver parameters for the BlackoilModel. Definition: BlackoilModelParameters.hpp:484 Definition: BlackoilPhases.hpp:46 |