StandardWell.hpp
Go to the documentation of this file.
67 // dealing with derivatives. It can be beneficial to make functions can work with either AD or scalar value.
68 // And also, it can also be beneficial to make these functions hanle different types of AD variables.
Definition: ConvergenceReport.hpp:38 Definition: DeferredLogger.hpp:57 Definition: GroupState.hpp:35 Class encapsulating some information about parallel wells. Definition: ParallelWellInfo.hpp:184 Definition: StandardWellEval.hpp:47 typename StandardWellEquations< Scalar, Indices::numEq >::BVectorWell BVectorWell Definition: StandardWellEval.hpp:65 typename PrimaryVariables::EvalWell EvalWell Definition: StandardWellEval.hpp:63 DenseAd::Evaluation< Scalar, Indices::numEq > Eval Definition: StandardWellEval.hpp:64 static constexpr int WQTotal Definition: StandardWellEval.hpp:53 Definition: StandardWell.hpp:59 void computeWellConnectionPressures(const Simulator &simulator, const WellState< Scalar > &well_state, DeferredLogger &deferred_logger) Definition: StandardWell_impl.hpp:1340 static constexpr int numStaticWellEq Definition: StandardWell.hpp:100 typename StdWellEval::BVectorWell BVectorWell Definition: StandardWell.hpp:121 void checkOperabilityUnderBHPLimit(const WellState< Scalar > &well_state, const Simulator &simulator, DeferredLogger &deferred_logger) override Definition: StandardWell_impl.hpp:925 bool iterateWellEqWithControl(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) override Definition: StandardWell_impl.hpp:2288 GetPropType< TypeTag, Properties::Simulator > Simulator Definition: WellInterface.hpp:82 std::vector< double > getPrimaryVars() const override Definition: StandardWell_impl.hpp:2482 std::optional< double > computeBhpAtThpLimitProdWithAlq(const Simulator &simulator, const SummaryState &summary_state, const double alq_value, DeferredLogger &deferred_logger) const override Definition: StandardWell_impl.hpp:2178 double connectionDensity(const int globalConnIdx, const int openConnIdx) const override Definition: StandardWell_impl.hpp:1760 void updatePrimaryVariables(const SummaryState &summary_state, const WellState< Scalar > &well_state, DeferredLogger &deferred_logger) override Definition: StandardWell_impl.hpp:1775 void addWellContributions(SparseMatrixAdapter &mat) const override Definition: StandardWell_impl.hpp:1873 void updateProductivityIndex(const Simulator &simulator, const WellProdIndexCalculator &wellPICalc, WellState< Scalar > &well_state, DeferredLogger &deferred_logger) const override Definition: StandardWell_impl.hpp:1222 EvalWell pskinwater(const double throughput, const EvalWell &water_velocity, DeferredLogger &deferred_logger) const Definition: StandardWell_impl.hpp:1901 void initPrimaryVariablesEvaluation() override Definition: StandardWell_impl.hpp:113 void checkConvergenceExtraEqs(const std::vector< double > &res, ConvergenceReport &report) const Definition: StandardWell_impl.hpp:2102 BlackOilFoamModule< TypeTag > FoamModule Definition: StandardWell.hpp:90 void updateIPRImplicit(const Simulator &simulator, WellState< Scalar > &well_state, DeferredLogger &deferred_logger) override Definition: StandardWell_impl.hpp:849 std::vector< double > computeWellPotentialWithTHP(const Simulator &simulator, DeferredLogger &deferred_logger, const WellState< Scalar > &well_state) const Definition: StandardWell_impl.hpp:1561 void computePropertiesForWellConnectionPressures(const Simulator &simulator, const WellState< Scalar > &well_state, WellConnectionProps &props) const Definition: StandardWell_impl.hpp:1132 EvalWell pskin(const double throuhgput, const EvalWell &water_velocity, const EvalWell &poly_inj_conc, DeferredLogger &deferred_logger) const Definition: StandardWell_impl.hpp:1933 void updateWaterMobilityWithPolymer(const Simulator &simulator, const int perf, std::vector< EvalWell > &mob_water, DeferredLogger &deferred_logger) const Definition: StandardWell_impl.hpp:1809 bool iterateWellEqWithSwitching(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, const bool fixed_control=false, const bool fixed_status=false) override Definition: StandardWell_impl.hpp:2335 void updateWaterThroughput(const double dt, WellState< Scalar > &well_state) const override Definition: StandardWell_impl.hpp:2007 int setPrimaryVars(std::vector< double >::const_iterator it) override Definition: StandardWell_impl.hpp:2499 std::optional< double > computeBhpAtThpLimitInj(const Simulator &simulator, const SummaryState &summary_state, DeferredLogger &deferred_logger) const Definition: StandardWell_impl.hpp:2256 void updatePrimaryVariablesNewton(const BVectorWell &dwells, const bool stop_or_zero_rate_target, DeferredLogger &deferred_logger) Definition: StandardWell_impl.hpp:716 BlackOilBrineModule< TypeTag > BrineModule Definition: StandardWell.hpp:91 void calculateExplicitQuantities(const Simulator &simulator, const WellState< Scalar > &well_state, DeferredLogger &deferred_logger) override Definition: StandardWell_impl.hpp:1382 void computeWellRatesWithThpAlqProd(const Simulator &simulator, const SummaryState &summary_state, DeferredLogger &deferred_logger, std::vector< double > &potentials, double alq) const Definition: StandardWell_impl.hpp:1686 std::vector< double > computeCurrentWellRates(const Simulator &simulator, DeferredLogger &deferred_logger) const override Definition: StandardWell_impl.hpp:2446 StandardWell(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) Definition: StandardWell_impl.hpp:72 double computeWellRatesAndBhpWithThpAlqProd(const Simulator &simulator, const SummaryState &summary_state, DeferredLogger &deferred_logger, std::vector< double > &potentials, double alq) const Definition: StandardWell_impl.hpp:1658 bool jacobianContainsWellContributions() const override Wether the Jacobian will also have well contributions in it. Definition: StandardWell.hpp:218 typename StdWellEval::StdWellConnections::Properties WellConnectionProps Definition: StandardWell.hpp:273 double getRefDensity() const override Definition: StandardWell_impl.hpp:1798 void updateWellState(const SummaryState &summary_state, const BVectorWell &dwells, WellState< Scalar > &well_state, DeferredLogger &deferred_logger) Definition: StandardWell_impl.hpp:695 void getMobility(const Simulator &simulator, const int perf, std::vector< Value > &mob, DeferredLogger &deferred_logger) const Definition: StandardWell_impl.hpp:639 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) override Definition: StandardWell_impl.hpp:96 void computePerfRate(const IntensiveQuantities &intQuants, const std::vector< Value > &mob, const Value &bhp, const std::vector< Scalar > &Tw, const int perf, const bool allow_cf, std::vector< Value > &cq_s, PerforationRates &perf_rates, DeferredLogger &deferred_logger) const Definition: StandardWell_impl.hpp:126 void updateIPR(const Simulator &simulator, DeferredLogger &deferred_logger) const override Definition: StandardWell_impl.hpp:759 void assembleWellEqWithoutIteration(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) override Definition: StandardWell_impl.hpp:338 void computeWellConnectionDensitesPressures(const Simulator &simulator, const WellState< Scalar > &well_state, const WellConnectionProps &props, DeferredLogger &deferred_logger) Definition: StandardWell_impl.hpp:1298 virtual void apply(const BVector &x, BVector &Ax) const override Ax = Ax - C D^-1 B x. Definition: StandardWell_impl.hpp:1398 void computeWellPotentials(const Simulator &simulator, const WellState< Scalar > &well_state, std::vector< double > &well_potentials, DeferredLogger &deferred_logger) override computing the well potentials for group control Definition: StandardWell_impl.hpp:1703 void updateConnectionRatePolyMW(const EvalWell &cq_s_poly, const IntensiveQuantities &int_quants, const WellState< Scalar > &well_state, const int perf, std::vector< RateVector > &connectionRates, DeferredLogger &deferred_logger) const Definition: StandardWell_impl.hpp:2121 bool openCrossFlowAvoidSingularity(const Simulator &simulator) const Definition: StandardWell_impl.hpp:1121 std::optional< double > computeBhpAtThpLimitProd(const WellState< Scalar > &well_state, const Simulator &simulator, const SummaryState &summary_state, DeferredLogger &deferred_logger) const Definition: StandardWell_impl.hpp:2164 bool allDrawDownWrongDirection(const Simulator &simulator) const Definition: StandardWell_impl.hpp:1043 void recoverWellSolutionAndUpdateWellState(const SummaryState &summary_state, const BVector &x, WellState< Scalar > &well_state, DeferredLogger &deferred_logger) override Definition: StandardWell_impl.hpp:1430 void updateWellStateFromPrimaryVariables(const bool stop_or_zero_rate_target, WellState< Scalar > &well_state, const SummaryState &summary_state, DeferredLogger &deferred_logger) const Definition: StandardWell_impl.hpp:739 static constexpr int numWellConservationEq Definition: StandardWell.hpp:95 void handleInjectivityEquations(const Simulator &simulator, const WellState< Scalar > &well_state, const int perf, const EvalWell &water_flux_s, DeferredLogger &deferred_logger) Definition: StandardWell_impl.hpp:2054 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 override check whether the well equations get converged for this well Definition: StandardWell_impl.hpp:1178 void computeWellRatesWithBhp(const Simulator &simulator, const double &bhp, std::vector< double > &well_flux, DeferredLogger &deferred_logger) const override Definition: StandardWell_impl.hpp:1450 void assembleWellEqWithoutIterationImpl(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: StandardWell_impl.hpp:364 void checkOperabilityUnderTHPLimit(const Simulator &simulator, const WellState< Scalar > &well_state, DeferredLogger &deferred_logger) override Definition: StandardWell_impl.hpp:994 void addWellPressureEquations(PressureMatrix &mat, const BVector &x, const int pressureVarIndex, const bool use_well_weights, const WellState< Scalar > &well_state) const override Definition: StandardWell_impl.hpp:1881 BlackOilPolymerModule< TypeTag > PolymerModule Definition: StandardWell.hpp:89 bool canProduceInjectWithCurrentBhp(const Simulator &simulator, const WellState< Scalar > &well_state, DeferredLogger &deferred_logger) Definition: StandardWell_impl.hpp:1085 void handleInjectivityRate(const Simulator &simulator, const int perf, std::vector< EvalWell > &cq_s) const Definition: StandardWell_impl.hpp:2031 EvalWell wpolymermw(const double throughput, const EvalWell &water_velocity, DeferredLogger &deferred_logger) const Definition: StandardWell_impl.hpp:1978 bool computeWellPotentialsImplicit(const Simulator &simulator, std::vector< double > &well_potentials, DeferredLogger &deferred_logger) const Definition: StandardWell_impl.hpp:1595 void solveEqAndUpdateWellState(const SummaryState &summary_state, WellState< Scalar > &well_state, DeferredLogger &deferred_logger) override Definition: StandardWell_impl.hpp:1360 static constexpr int numWellControlEq Definition: StandardWell.hpp:97 void computeWellRatesWithBhpIterations(const Simulator &simulator, const double &bhp, std::vector< double > &well_flux, DeferredLogger &deferred_logger) const override Definition: StandardWell_impl.hpp:1496 void calculateSinglePerf(const Simulator &simulator, const int perf, WellState< Scalar > &well_state, std::vector< RateVector > &connectionRates, std::vector< EvalWell > &cq_s, EvalWell &water_flux_s, EvalWell &cq_s_zfrac_effective, DeferredLogger &deferred_logger) const Definition: StandardWell_impl.hpp:489 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 PhaseUsage & phaseUsage() const const VFPProperties * vfp_properties_ Definition: WellInterfaceGeneric.hpp:391 Definition: WellInterface.hpp:75 Dune::BCRSMatrix< Opm::MatrixBlock< double, 1, 1 > > PressureMatrix Definition: WellInterface.hpp:102 GetPropType< TypeTag, Properties::Simulator > Simulator Definition: WellInterface.hpp:82 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 GetPropType< TypeTag, Properties::IntensiveQuantities > IntensiveQuantities Definition: WellInterface.hpp:85 GetPropType< TypeTag, Properties::Scalar > Scalar Definition: WellInterface.hpp:96 GetPropType< TypeTag, Properties::MaterialLaw > MaterialLaw Definition: WellInterface.hpp:86 Dune::BlockVector< VectorBlockType > BVector Definition: WellInterface.hpp:101 static constexpr bool has_polymermw Definition: WellInterface.hpp:117 GetPropType< TypeTag, Properties::FluidSystem > FluidSystem Definition: WellInterface.hpp:83 BlackoilModelParameters< TypeTag > ModelParameters Definition: WellInterface.hpp:79 GetPropType< TypeTag, Properties::RateVector > RateVector Definition: WellInterface.hpp:88 GetPropType< TypeTag, Properties::Indices > Indices Definition: WellInterface.hpp:84 GetPropType< TypeTag, Properties::SparseMatrixAdapter > SparseMatrixAdapter Definition: WellInterface.hpp:87 static constexpr bool has_zFraction Definition: WellInterface.hpp:112 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 bool matrix_add_well_contributions_ Whether to add influences of wells between cells to the matrix and preconditioner matrix. Definition: BlackoilModelParameters.hpp:576 Definition: PerforationData.hpp:40 Definition: BlackoilPhases.hpp:46 |