#include <StandardWell.hpp>
|
using | Base = WellInterface< TypeTag > |
|
using | StdWellEval = StandardWellEval< GetPropType< TypeTag, Properties::FluidSystem >, GetPropType< TypeTag, Properties::Indices > > |
|
using | PolymerModule = BlackOilPolymerModule< TypeTag > |
|
using | FoamModule = BlackOilFoamModule< TypeTag > |
|
using | BrineModule = BlackOilBrineModule< TypeTag > |
|
using | Eval = typename StdWellEval::Eval |
|
using | EvalWell = typename StdWellEval::EvalWell |
|
using | BVectorWell = typename StdWellEval::BVectorWell |
|
using | Simulator = GetPropType< TypeTag, Properties::Simulator > |
|
using | IntensiveQuantities = GetPropType< TypeTag, Properties::IntensiveQuantities > |
|
using | FluidSystem = GetPropType< TypeTag, Properties::FluidSystem > |
|
using | MaterialLaw = GetPropType< TypeTag, Properties::MaterialLaw > |
|
using | ModelParameters = BlackoilModelParameters< TypeTag > |
|
using | Indices = GetPropType< TypeTag, Properties::Indices > |
|
using | RateConverterType = typename WellInterfaceFluidSystem< FluidSystem >::RateConverterType |
|
using | SparseMatrixAdapter = GetPropType< TypeTag, Properties::SparseMatrixAdapter > |
|
using | FluidState = BlackOilFluidState< Eval, FluidSystem, has_temperature, has_energy, Indices::compositionSwitchIdx >=0, has_watVapor, has_brine, has_saltPrecip, has_disgas_in_water, Indices::numPhases > |
|
using | RateVector = GetPropType< TypeTag, Properties::RateVector > |
|
using | PressureMatrix = Dune::BCRSMatrix< Opm::MatrixBlock< double, 1, 1 > > |
|
using | Scalar = GetPropType< TypeTag, Properties::Scalar > |
|
using | BVector = Dune::BlockVector< VectorBlockType > |
|
enum class | IndividualOrGroup { Individual
, Group
, Both
} |
|
using | Grid = GetPropType< TypeTag, Properties::Grid > |
|
using | GasLiftSingleWell = ::Opm::GasLiftSingleWell< TypeTag > |
|
using | GLiftOptWells = typename BlackoilWellModel< TypeTag >::GLiftOptWells |
|
using | GLiftProdWells = typename BlackoilWellModel< TypeTag >::GLiftProdWells |
|
using | GLiftWellStateMap = typename BlackoilWellModel< TypeTag >::GLiftWellStateMap |
|
using | GLiftSyncGroups = typename GasLiftSingleWellGeneric::GLiftSyncGroups |
|
using | VectorBlockType = Dune::FieldVector< Scalar, Indices::numEq > |
|
using | MatrixBlockType = Dune::FieldMatrix< Scalar, Indices::numEq, Indices::numEq > |
|
|
| 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) |
|
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 |
|
void | initPrimaryVariablesEvaluation () override |
|
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 More...
|
|
virtual void | apply (const BVector &x, BVector &Ax) const override |
| Ax = Ax - C D^-1 B x. More...
|
|
virtual void | apply (BVector &r) const override |
| r = r - C D^-1 Rw More...
|
|
void | recoverWellSolutionAndUpdateWellState (const SummaryState &summary_state, const BVector &x, WellState< Scalar > &well_state, DeferredLogger &deferred_logger) override |
|
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 More...
|
|
void | updatePrimaryVariables (const SummaryState &summary_state, const WellState< Scalar > &well_state, DeferredLogger &deferred_logger) override |
|
void | solveEqAndUpdateWellState (const SummaryState &summary_state, WellState< Scalar > &well_state, DeferredLogger &deferred_logger) override |
|
void | calculateExplicitQuantities (const Simulator &simulator, const WellState< Scalar > &well_state, DeferredLogger &deferred_logger) override |
|
void | updateProductivityIndex (const Simulator &simulator, const WellProdIndexCalculator &wellPICalc, WellState< Scalar > &well_state, DeferredLogger &deferred_logger) const override |
|
double | connectionDensity (const int globalConnIdx, const int openConnIdx) const override |
|
void | addWellContributions (SparseMatrixAdapter &mat) const override |
|
void | addWellPressureEquations (PressureMatrix &mat, const BVector &x, const int pressureVarIndex, const bool use_well_weights, const WellState< Scalar > &well_state) const override |
|
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 |
|
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 |
|
bool | jacobianContainsWellContributions () const override |
| Wether the Jacobian will also have well contributions in it. More...
|
|
double | computeWellRatesAndBhpWithThpAlqProd (const Simulator &simulator, const SummaryState &summary_state, DeferredLogger &deferred_logger, std::vector< double > &potentials, double alq) const |
|
void | computeWellRatesWithThpAlqProd (const Simulator &simulator, const SummaryState &summary_state, DeferredLogger &deferred_logger, std::vector< double > &potentials, double alq) const |
|
std::optional< double > | computeBhpAtThpLimitProdWithAlq (const Simulator &simulator, const SummaryState &summary_state, const double alq_value, DeferredLogger &deferred_logger) const override |
|
void | updateIPRImplicit (const Simulator &simulator, WellState< Scalar > &well_state, DeferredLogger &deferred_logger) override |
|
void | computeWellRatesWithBhp (const Simulator &simulator, const double &bhp, std::vector< double > &well_flux, DeferredLogger &deferred_logger) const override |
|
std::vector< double > | computeCurrentWellRates (const Simulator &simulator, DeferredLogger &deferred_logger) const override |
|
std::vector< double > | getPrimaryVars () const override |
|
int | setPrimaryVars (std::vector< double >::const_iterator it) override |
|
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) |
|
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 |
|
virtual void | solveEqAndUpdateWellState (const SummaryState &summary_state, WellState< Scalar > &well_state, DeferredLogger &deferred_logger)=0 |
|
void | assembleWellEq (const Simulator &simulator, const double dt, WellState< Scalar > &well_state, const GroupState< Scalar > &group_state, DeferredLogger &deferred_logger) |
|
void | assembleWellEqWithoutIteration (const Simulator &simulator, const double dt, WellState< Scalar > &well_state, const GroupState< Scalar > &group_state, DeferredLogger &deferred_logger) |
|
void | prepareWellBeforeAssembling (const Simulator &simulator, const double dt, WellState< Scalar > &well_state, const GroupState< Scalar > &group_state, DeferredLogger &deferred_logger) |
|
virtual void | recoverWellSolutionAndUpdateWellState (const SummaryState &summary_state, const BVector &x, WellState< Scalar > &well_state, DeferredLogger &deferred_logger)=0 |
|
virtual void | computeWellPotentials (const Simulator &simulator, const WellState< Scalar > &well_state, std::vector< double > &well_potentials, DeferredLogger &deferred_logger)=0 |
|
virtual void | updateWellStateWithTarget (const Simulator &simulator, const GroupState< Scalar > &group_state, WellState< Scalar > &well_state, DeferredLogger &deferred_logger) const |
|
virtual void | computeWellRatesWithBhpIterations (const Simulator &simulator, const Scalar &bhp, std::vector< double > &well_flux, DeferredLogger &deferred_logger) const =0 |
|
bool | updateWellStateWithTHPTargetProd (const Simulator &simulator, WellState< Scalar > &well_state, DeferredLogger &deferred_logger) const |
|
bool | updateWellControl (const Simulator &simulator, const IndividualOrGroup iog, WellState< Scalar > &well_state, const GroupState< Scalar > &group_state, DeferredLogger &deferred_logger) |
|
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) |
|
virtual void | updatePrimaryVariables (const SummaryState &summary_state, const WellState< Scalar > &well_state, DeferredLogger &deferred_logger)=0 |
|
virtual void | calculateExplicitQuantities (const Simulator &simulator, const WellState< Scalar > &well_state, DeferredLogger &deferred_logger)=0 |
|
virtual void | updateProductivityIndex (const Simulator &simulator, const WellProdIndexCalculator &wellPICalc, WellState< Scalar > &well_state, DeferredLogger &deferred_logger) const =0 |
|
virtual void | addWellPressureEquations (PressureMatrix &mat, const BVector &x, const int pressureVarIndex, const bool use_well_weights, const WellState< Scalar > &well_state) const =0 |
|
void | addCellRates (RateVector &rates, int cellIdx) const |
|
Scalar | volumetricSurfaceRateForConnection (int cellIdx, int phaseIdx) const |
|
void | wellTesting (const Simulator &simulator, const double simulation_time, WellState< Scalar > &well_state, const GroupState< Scalar > &group_state, WellTestState &welltest_state, DeferredLogger &deferred_logger) |
|
void | checkWellOperability (const Simulator &simulator, const WellState< Scalar > &well_state, DeferredLogger &deferred_logger) |
|
bool | gliftBeginTimeStepWellTestIterateWellEquations (const Simulator &simulator, const double dt, WellState< Scalar > &well_state, const GroupState< Scalar > &group_state, DeferredLogger &deferred_logger) |
|
void | gliftBeginTimeStepWellTestUpdateALQ (const Simulator &simulator, WellState< Scalar > &well_state, DeferredLogger &deferred_logger) |
|
void | updateWellOperability (const Simulator &simulator, const WellState< Scalar > &well_state, DeferredLogger &deferred_logger) |
|
bool | updateWellOperabilityFromWellEq (const Simulator &simulator, const WellState< Scalar > &well_state, DeferredLogger &deferred_logger) |
|
virtual void | updateWaterThroughput (const double dt, WellState< Scalar > &well_state) const =0 |
|
void | updateWellStateRates (const Simulator &simulator, WellState< Scalar > &well_state, DeferredLogger &deferred_logger) const |
|
void | solveWellEquation (const Simulator &simulator, WellState< Scalar > &well_state, const GroupState< Scalar > &group_state, DeferredLogger &deferred_logger) |
|
const std::vector< RateVector > & | connectionRates () const |
|
std::vector< double > | wellIndex (const int perf, const IntensiveQuantities &intQuants, const double trans_mult, const SingleWellState< double > &ws) const |
|
const std::vector< double > & | wellIndex () const |
|
void | updateConnectionDFactor (const Simulator &simulator, SingleWellState< double > &ws) const |
|
void | updateConnectionTransmissibilityFactor (const Simulator &simulator, SingleWellState< double > &ws) const |
|
int | flowPhaseToModelCompIdx (const int phaseIdx) const |
|
int | modelCompIdxToFlowCompIdx (const unsigned compIdx) const |
|
double | scalingFactor (const int phaseIdx) const |
|
Eval | restrictEval (const EvalWell &in) const |
|
int | flowPhaseToModelPhaseIdx (const int phaseIdx) const |
|
const RateConverterType & | rateConverter () const |
|
const std::vector< PerforationData > & | perforationData () const |
| Get the perforations of the well. More...
|
|
const std::string & | name () const |
| Well name. More...
|
|
bool | isInjector () const |
| True if the well is an injector. More...
|
|
bool | isProducer () const |
| True if the well is a producer. More...
|
|
const std::vector< int > & | cells () const |
| Well cells. More...
|
|
int | indexOfWell () const |
| Index of well in the wells struct and wellState. More...
|
|
void | adaptRatesForVFP (std::vector< double > &rates) const |
|
const Well & | wellEcl () const |
|
Well & | wellEcl () |
|
const PhaseUsage & | phaseUsage () const |
|
bool | underPredictionMode () const |
| Returns true if the well is currently in prediction mode (i.e. not history mode). More...
|
|
bool | isOperableAndSolvable () const |
|
bool | useVfpExplicit () const |
|
bool | thpLimitViolatedButNotSwitched () const |
|
void | initCompletions () |
|
void | closeCompletions (const WellTestState &wellTestState) |
|
void | setVFPProperties (const VFPProperties *vfp_properties_arg) |
|
void | setPrevSurfaceRates (WellState< double > &well_state, const WellState< double > &prev_well_state) const |
|
void | setGuideRate (const GuideRate *guide_rate_arg) |
|
void | setWellEfficiencyFactor (const double efficiency_factor) |
|
void | setRepRadiusPerfLength () |
|
void | setWsolvent (const double wsolvent) |
|
void | setDynamicThpLimit (const double thp_limit) |
|
std::optional< double > | getDynamicThpLimit () const |
|
void | updatePerforatedCell (std::vector< bool > &is_cell_perforated) |
|
bool | wellHasTHPConstraints (const SummaryState &summaryState) const |
| Returns true if the well has one or more THP limits/constraints. More...
|
|
void | stopWell () |
|
void | openWell () |
|
bool | wellIsStopped () const |
|
int | currentStep () const |
|
int | pvtRegionIdx () const |
|
const GuideRate * | guideRate () const |
|
int | numComponents () const |
|
int | numPhases () const |
|
int | numPerfs () const |
|
double | refDepth () const |
|
double | gravity () const |
|
const VFPProperties * | vfpProperties () const |
|
const ParallelWellInfo & | parallelWellInfo () const |
|
const std::vector< double > & | perfDepth () const |
|
std::vector< double > & | perfDepth () |
|
const std::map< int, std::vector< int > > & | getCompletions () const |
|
double | getTHPConstraint (const SummaryState &summaryState) const |
|
double | getALQ (const WellState< double > &well_state) const |
|
double | wsolvent () const |
|
double | rsRvInj () const |
|
void | initInjMult (const std::vector< double > &max_inj_mult) |
|
void | updateInjMult (std::vector< double > &inj_multipliers, DeferredLogger &deferred_logger) const |
|
double | getInjMult (const int perf, const double bhp, const double perf_pres) const |
|
bool | isVFPActive (DeferredLogger &deferred_logger) const |
|
void | reportWellSwitching (const SingleWellState< double > &ws, DeferredLogger &deferred_logger) const |
|
bool | changedToOpenThisStep () const |
|
void | updateWellTestState (const SingleWellState< double > &ws, const double &simulationTime, const bool &writeMessageToOPMLog, WellTestState &wellTestState, DeferredLogger &deferred_logger) const |
|
bool | isPressureControlled (const WellState< double > &well_state) const |
|
bool | stopppedOrZeroRateTarget (const SummaryState &summary_state, const WellState< double > &well_state) const |
|
double | wellEfficiencyFactor () const |
|
void | updateFilterCakeMultipliers (const std::vector< double > &inj_fc_multiplier) |
| Update filter cake multipliers. More...
|
|
void | resetWellOperability () |
|
const StandardWellEquations< Scalar, Indices::numEq > & | linSys () const |
| Returns a const reference to equation system. More...
|
|
|
void | updateWellState (const SummaryState &summary_state, const BVectorWell &dwells, WellState< Scalar > &well_state, DeferredLogger &deferred_logger) |
|
void | computePropertiesForWellConnectionPressures (const Simulator &simulator, const WellState< Scalar > &well_state, WellConnectionProps &props) const |
|
void | computeWellConnectionDensitesPressures (const Simulator &simulator, const WellState< Scalar > &well_state, const WellConnectionProps &props, DeferredLogger &deferred_logger) |
|
void | computeWellConnectionPressures (const Simulator &simulator, const WellState< Scalar > &well_state, DeferredLogger &deferred_logger) |
|
template<class Value > |
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 |
|
template<class Value > |
void | computePerfRate (const std::vector< Value > &mob, const Value &pressure, const Value &bhp, const Value &rs, const Value &rv, const Value &rvw, const Value &rsw, std::vector< Value > &b_perfcells_dense, const std::vector< Scalar > &Tw, const int perf, const bool allow_cf, const Value &skin_pressure, const std::vector< Value > &cmix_s, std::vector< Value > &cq_s, PerforationRates &perf_rates, DeferredLogger &deferred_logger) const |
|
void | computeWellRatesWithBhpIterations (const Simulator &simulator, const double &bhp, std::vector< double > &well_flux, DeferredLogger &deferred_logger) const override |
|
std::vector< double > | computeWellPotentialWithTHP (const Simulator &simulator, DeferredLogger &deferred_logger, const WellState< Scalar > &well_state) const |
|
bool | computeWellPotentialsImplicit (const Simulator &simulator, std::vector< double > &well_potentials, DeferredLogger &deferred_logger) const |
|
double | getRefDensity () const override |
|
template<class Value > |
void | getMobility (const Simulator &simulator, const int perf, std::vector< Value > &mob, DeferredLogger &deferred_logger) const |
|
void | updateWaterMobilityWithPolymer (const Simulator &simulator, const int perf, std::vector< EvalWell > &mob_water, DeferredLogger &deferred_logger) const |
|
void | updatePrimaryVariablesNewton (const BVectorWell &dwells, const bool stop_or_zero_rate_target, DeferredLogger &deferred_logger) |
|
void | updateWellStateFromPrimaryVariables (const bool stop_or_zero_rate_target, WellState< Scalar > &well_state, const SummaryState &summary_state, DeferredLogger &deferred_logger) const |
|
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 |
|
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) |
|
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 |
|
void | checkOperabilityUnderBHPLimit (const WellState< Scalar > &well_state, const Simulator &simulator, DeferredLogger &deferred_logger) override |
|
void | checkOperabilityUnderTHPLimit (const Simulator &simulator, const WellState< Scalar > &well_state, DeferredLogger &deferred_logger) override |
|
void | updateIPR (const Simulator &simulator, DeferredLogger &deferred_logger) const override |
|
bool | allDrawDownWrongDirection (const Simulator &simulator) const |
|
bool | canProduceInjectWithCurrentBhp (const Simulator &simulator, const WellState< Scalar > &well_state, DeferredLogger &deferred_logger) |
|
bool | openCrossFlowAvoidSingularity (const Simulator &simulator) const |
|
EvalWell | pskin (const double throuhgput, const EvalWell &water_velocity, const EvalWell &poly_inj_conc, DeferredLogger &deferred_logger) const |
|
EvalWell | pskinwater (const double throughput, const EvalWell &water_velocity, DeferredLogger &deferred_logger) const |
|
EvalWell | wpolymermw (const double throughput, const EvalWell &water_velocity, DeferredLogger &deferred_logger) const |
|
void | handleInjectivityRate (const Simulator &simulator, const int perf, std::vector< EvalWell > &cq_s) const |
|
void | handleInjectivityEquations (const Simulator &simulator, const WellState< Scalar > &well_state, const int perf, const EvalWell &water_flux_s, DeferredLogger &deferred_logger) |
|
void | updateWaterThroughput (const double dt, WellState< Scalar > &well_state) const override |
|
void | checkConvergenceExtraEqs (const std::vector< double > &res, ConvergenceReport &report) const |
|
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 |
|
std::optional< double > | computeBhpAtThpLimitProd (const WellState< Scalar > &well_state, const Simulator &simulator, const SummaryState &summary_state, DeferredLogger &deferred_logger) const |
|
std::optional< double > | computeBhpAtThpLimitInj (const Simulator &simulator, const SummaryState &summary_state, DeferredLogger &deferred_logger) const |
|
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 |
|
std::pair< bool, bool > | computeWellPotentials (std::vector< double > &well_potentials, const WellState< double > &well_state) |
|
double | wpolymer () const |
|
double | wfoam () const |
|
double | wsalt () const |
|
double | wmicrobes () const |
|
double | woxygen () const |
|
double | wurea () const |
|
const std::vector< double > & | compFrac () const |
|
std::vector< double > | initialWellRateFractions (const Simulator &simulator, const WellState< Scalar > &well_state) const |
|
virtual void | checkOperabilityUnderBHPLimit (const WellState< Scalar > &well_state, const Simulator &simulator, DeferredLogger &deferred_logger)=0 |
|
virtual void | checkOperabilityUnderTHPLimit (const Simulator &simulator, const WellState< Scalar > &well_state, DeferredLogger &deferred_logger)=0 |
|
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 | 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 void | updateIPRImplicit (const Simulator &simulator, WellState< Scalar > &well_state, DeferredLogger &deferred_logger)=0 |
|
bool | iterateWellEquations (const Simulator &simulator, const double dt, WellState< Scalar > &well_state, const GroupState< Scalar > &group_state, DeferredLogger &deferred_logger) |
|
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) |
|
std::optional< double > | estimateOperableBhp (const Simulator &simulator, const double dt, WellState< Scalar > &well_state, const SummaryState &summary_state, DeferredLogger &deferred_logger) |
|
bool | solveWellWithBhp (const Simulator &simulator, const double dt, const double bhp, WellState< Scalar > &well_state, DeferredLogger &deferred_logger) |
|
bool | solveWellWithZeroRate (const Simulator &simulator, const double dt, WellState< Scalar > &well_state, DeferredLogger &deferred_logger) |
|
bool | solveWellForTesting (const Simulator &simulator, WellState< Scalar > &well_state, const GroupState< Scalar > &group_state, DeferredLogger &deferred_logger) |
|
Eval | getPerfCellPressure (const FluidState &fs) const |
|
template<class Value , class Callback > |
void | getMobility (const Simulator &simulator, const int perf, std::vector< Value > &mob, Callback &extendEval, DeferredLogger &deferred_logger) const |
|
void | computeConnLevelProdInd (const FluidState &fs, const std::function< double(const double)> &connPICalc, const std::vector< Scalar > &mobility, double *connPI) const |
|
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 |
|
double | computeConnectionDFactor (const int perf, const IntensiveQuantities &intQuants, const SingleWellState< double > &ws) const |
|
void | calculateReservoirRates (SingleWellState< double > &ws) const |
|
bool | checkIndividualConstraints (SingleWellState< double > &ws, const SummaryState &summaryState, DeferredLogger &deferred_logger, const std::optional< Well::InjectionControls > &inj_controls=std::nullopt, const std::optional< Well::ProductionControls > &prod_controls=std::nullopt) const |
|
bool | checkGroupConstraints (WellState< double > &well_state, const GroupState< double > &group_state, const Schedule &schedule, const SummaryState &summaryState, DeferredLogger &deferred_logger) const |
|
bool | checkConstraints (WellState< double > &well_state, const GroupState< double > &group_state, const Schedule &schedule, const SummaryState &summaryState, DeferredLogger &deferred_logger) const |
|
std::optional< double > | getGroupInjectionTargetRate (const Group &group, const WellState< double > &well_state, const GroupState< double > &group_state, const Schedule &schedule, const SummaryState &summaryState, const InjectorType &injectorType, double efficiencyFactor, DeferredLogger &deferred_logger) const |
|
double | getGroupProductionTargetRate (const Group &group, const WellState< double > &well_state, const GroupState< double > &group_state, const Schedule &schedule, const SummaryState &summaryState, double efficiencyFactor, DeferredLogger &deferred_logger) const |
|
bool | getAllowCrossFlow () const |
|
double | wmicrobes_ () const |
|
double | wfoam_ () const |
|
double | woxygen_ () const |
|
double | wpolymer_ () const |
|
double | wsalt_ () const |
|
double | wurea_ () const |
|
int | polymerTable_ () const |
|
int | polymerInjTable_ () const |
|
int | polymerWaterTable_ () const |
|
bool | wellUnderZeroRateTarget (const SummaryState &summary_state, const WellState< double > &well_state) const |
|
void | checkNegativeWellPotentials (std::vector< double > &well_potentials, const bool checkOperability, DeferredLogger &deferred_logger) |
|
void | prepareForPotentialCalculations (const SummaryState &summary_state, WellState< double > &well_state, Well::InjectionControls &inj_controls, Well::ProductionControls &prod_controls) const |
|
EvalWell | extendEval (const Eval &in) const |
|
void | computeAccumWell () |
|
ConvergenceReport | getWellConvergence (const WellState< Scalar > &well_state, const std::vector< double > &B_avg, const double maxResidualAllowed, const double tol_wells, const double relaxed_tolerance_flow, const bool relax_tolerance, const bool well_is_stopped, std::vector< double > &res, DeferredLogger &deferred_logger) const |
|
void | init (std::vector< double > &perf_depth, const std::vector< double > &depth_arg, const int num_cells, const bool has_polymermw) |
|
void | updateWellStateFromPrimaryVariables (const bool stop_or_zero_rate_target, WellState< Scalar > &well_state, const SummaryState &summary_state, DeferredLogger &deferred_logger) const |
|
◆ Base
template<typename TypeTag >
◆ BrineModule
template<typename TypeTag >
◆ BVector
template<typename TypeTag >
◆ BVectorWell
template<typename TypeTag >
◆ Eval
template<typename TypeTag >
◆ EvalWell
template<typename TypeTag >
◆ FluidState
template<typename TypeTag >
◆ FluidSystem
template<typename TypeTag >
using Opm::WellInterface< TypeTag >::FluidSystem = GetPropType<TypeTag, Properties::FluidSystem> |
◆ FoamModule
template<typename TypeTag >
◆ GasLiftSingleWell
template<typename TypeTag >
◆ GLiftOptWells
template<typename TypeTag >
◆ GLiftProdWells
template<typename TypeTag >
◆ GLiftSyncGroups
template<typename TypeTag >
◆ GLiftWellStateMap
template<typename TypeTag >
◆ Grid
template<typename TypeTag >
◆ Indices
template<typename TypeTag >
◆ IntensiveQuantities
template<typename TypeTag >
using Opm::WellInterface< TypeTag >::IntensiveQuantities = GetPropType<TypeTag, Properties::IntensiveQuantities> |
◆ MaterialLaw
template<typename TypeTag >
using Opm::WellInterface< TypeTag >::MaterialLaw = GetPropType<TypeTag, Properties::MaterialLaw> |
◆ MatrixBlockType
template<typename TypeTag >
◆ ModelParameters
template<typename TypeTag >
◆ PolymerModule
template<typename TypeTag >
◆ PressureMatrix
template<typename TypeTag >
◆ PrimaryVariables
using Opm::StandardWellEval< GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Indices > >::PrimaryVariables = StandardWellPrimaryVariables<GetPropType< TypeTag, Properties::FluidSystem > ,GetPropType< TypeTag, Properties::Indices > > |
|
protectedinherited |
◆ RateConverterType
template<typename TypeTag >
◆ RateVector
template<typename TypeTag >
using Opm::WellInterface< TypeTag >::RateVector = GetPropType<TypeTag, Properties::RateVector> |
◆ Scalar
template<typename TypeTag >
◆ Simulator
template<typename TypeTag >
using Opm::WellInterface< TypeTag >::Simulator = GetPropType<TypeTag, Properties::Simulator> |
◆ SparseMatrixAdapter
template<typename TypeTag >
using Opm::WellInterface< TypeTag >::SparseMatrixAdapter = GetPropType<TypeTag, Properties::SparseMatrixAdapter> |
◆ StdWellConnections
using Opm::StandardWellEval< GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Indices > >::StdWellConnections = StandardWellConnections<GetPropType< TypeTag, Properties::FluidSystem > ,GetPropType< TypeTag, Properties::Indices > > |
|
protectedinherited |
◆ StdWellEval
template<typename TypeTag >
◆ VectorBlockType
template<typename TypeTag >
◆ WellConnectionProps
template<typename TypeTag >
using Opm::StandardWell< TypeTag >::WellConnectionProps = typename StdWellEval::StdWellConnections::Properties |
|
protected |
◆ IndividualOrGroup
template<typename TypeTag >
Enumerator |
---|
Individual | |
Group | |
Both | |
◆ StandardWell()
template<typename TypeTag >
◆ adaptRatesForVFP()
void Opm::WellInterfaceGeneric::adaptRatesForVFP |
( |
std::vector< double > & |
rates | ) |
const |
|
inherited |
◆ addCellRates()
template<typename TypeTag >
◆ addWellContributions()
template<typename TypeTag >
◆ addWellPressureEquations() [1/2]
template<typename TypeTag >
◆ addWellPressureEquations() [2/2]
template<typename TypeTag >
◆ allDrawDownWrongDirection()
template<typename TypeTag >
◆ apply() [1/2]
template<typename TypeTag >
◆ apply() [2/2]
template<typename TypeTag >
◆ assembleWellEq()
template<typename TypeTag >
◆ assembleWellEqWithoutIteration() [1/3]
template<typename TypeTag >
◆ assembleWellEqWithoutIteration() [2/3]
template<typename TypeTag >
|
protectedpure virtualinherited |
◆ assembleWellEqWithoutIteration() [3/3]
template<typename TypeTag >
◆ assembleWellEqWithoutIterationImpl()
template<typename TypeTag >
◆ calculateExplicitQuantities() [1/2]
template<typename TypeTag >
◆ calculateExplicitQuantities() [2/2]
template<typename TypeTag >
◆ calculateReservoirRates()
◆ calculateSinglePerf()
template<typename TypeTag >
◆ canProduceInjectWithCurrentBhp()
template<typename TypeTag >
◆ cells()
const std::vector< int > & Opm::WellInterfaceGeneric::cells |
( |
| ) |
const |
|
inlineinherited |
◆ changedToOpenThisStep()
bool Opm::WellInterfaceGeneric::changedToOpenThisStep |
( |
| ) |
const |
|
inlineinherited |
◆ checkConstraints()
◆ checkConvergenceExtraEqs()
template<typename TypeTag >
◆ checkGroupConstraints()
◆ checkIndividualConstraints()
bool Opm::WellInterfaceFluidSystem< GetPropType< TypeTag, Properties::FluidSystem > >::checkIndividualConstraints |
( |
SingleWellState< double > & |
ws, |
|
|
const SummaryState & |
summaryState, |
|
|
DeferredLogger & |
deferred_logger, |
|
|
const std::optional< Well::InjectionControls > & |
inj_controls = std::nullopt , |
|
|
const std::optional< Well::ProductionControls > & |
prod_controls = std::nullopt |
|
) |
| const |
|
protectedinherited |
◆ checkNegativeWellPotentials()
void Opm::WellInterfaceGeneric::checkNegativeWellPotentials |
( |
std::vector< double > & |
well_potentials, |
|
|
const bool |
checkOperability, |
|
|
DeferredLogger & |
deferred_logger |
|
) |
| |
|
protectedinherited |
◆ checkOperabilityUnderBHPLimit() [1/2]
template<typename TypeTag >
◆ checkOperabilityUnderBHPLimit() [2/2]
template<typename TypeTag >
|
protectedpure virtualinherited |
◆ checkOperabilityUnderTHPLimit() [1/2]
template<typename TypeTag >
◆ checkOperabilityUnderTHPLimit() [2/2]
template<typename TypeTag >
|
protectedpure virtualinherited |
◆ checkWellOperability()
template<typename TypeTag >
◆ closeCompletions()
void Opm::WellInterfaceGeneric::closeCompletions |
( |
const WellTestState & |
wellTestState | ) |
|
|
inherited |
◆ compFrac()
template<typename TypeTag >
◆ computeAccumWell()
void Opm::StandardWellEval< GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Indices > >::computeAccumWell |
( |
| ) |
|
|
protectedinherited |
◆ computeBhpAtThpLimitInj()
template<typename TypeTag >
◆ computeBhpAtThpLimitProd()
template<typename TypeTag >
◆ computeBhpAtThpLimitProdWithAlq()
template<typename TypeTag >
std::optional< double > Opm::StandardWell< TypeTag >::computeBhpAtThpLimitProdWithAlq |
( |
const Simulator & |
simulator, |
|
|
const SummaryState & |
summary_state, |
|
|
const double |
alq_value, |
|
|
DeferredLogger & |
deferred_logger |
|
) |
| const |
|
overridevirtual |
◆ computeConnectionDFactor()
template<typename TypeTag >
◆ computeConnLevelInjInd()
template<typename TypeTag >
void Opm::WellInterface< TypeTag >::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 |
|
protectedinherited |
◆ computeConnLevelProdInd()
template<typename TypeTag >
void Opm::WellInterface< TypeTag >::computeConnLevelProdInd |
( |
const FluidState & |
fs, |
|
|
const std::function< double(const double)> & |
connPICalc, |
|
|
const std::vector< Scalar > & |
mobility, |
|
|
double * |
connPI |
|
) |
| const |
|
protectedinherited |
◆ computeCurrentWellRates()
template<typename TypeTag >
◆ computePerfRate() [1/2]
template<typename TypeTag >
template<class Value >
◆ computePerfRate() [2/2]
template<typename TypeTag >
template<class Value >
void Opm::StandardWell< TypeTag >::computePerfRate |
( |
const std::vector< Value > & |
mob, |
|
|
const Value & |
pressure, |
|
|
const Value & |
bhp, |
|
|
const Value & |
rs, |
|
|
const Value & |
rv, |
|
|
const Value & |
rvw, |
|
|
const Value & |
rsw, |
|
|
std::vector< Value > & |
b_perfcells_dense, |
|
|
const std::vector< Scalar > & |
Tw, |
|
|
const int |
perf, |
|
|
const bool |
allow_cf, |
|
|
const Value & |
skin_pressure, |
|
|
const std::vector< Value > & |
cmix_s, |
|
|
std::vector< Value > & |
cq_s, |
|
|
PerforationRates & |
perf_rates, |
|
|
DeferredLogger & |
deferred_logger |
|
) |
| const |
|
protected |
◆ computePropertiesForWellConnectionPressures()
template<typename TypeTag >
◆ computeWellConnectionDensitesPressures()
template<typename TypeTag >
◆ computeWellConnectionPressures()
template<typename TypeTag >
◆ computeWellPotentials() [1/3]
template<typename TypeTag >
◆ computeWellPotentials() [2/3]
template<typename TypeTag >
◆ computeWellPotentials() [3/3]
std::pair< bool, bool > Opm::WellInterfaceGeneric::computeWellPotentials |
( |
std::vector< double > & |
well_potentials, |
|
|
const WellState< double > & |
well_state |
|
) |
| |
|
protectedinherited |
◆ computeWellPotentialsImplicit()
template<typename TypeTag >
◆ computeWellPotentialWithTHP()
template<typename TypeTag >
◆ computeWellRatesAndBhpWithThpAlqProd()
template<typename TypeTag >
double Opm::StandardWell< TypeTag >::computeWellRatesAndBhpWithThpAlqProd |
( |
const Simulator & |
simulator, |
|
|
const SummaryState & |
summary_state, |
|
|
DeferredLogger & |
deferred_logger, |
|
|
std::vector< double > & |
potentials, |
|
|
double |
alq |
|
) |
| const |
◆ computeWellRatesWithBhp()
template<typename TypeTag >
◆ computeWellRatesWithBhpIterations() [1/2]
template<typename TypeTag >
References Opm::detail::bhp(), Opm::StandardWellEval< FluidSystem, Indices >::computeAccumWell(), Opm::StandardWell< TypeTag >::computeWellConnectionPressures(), Opm::StandardWell< TypeTag >::computeWellRatesWithBhp(), Opm::DeferredLogger::debug(), Opm::StandardWell< TypeTag >::initPrimaryVariablesEvaluation(), Opm::StandardWell< TypeTag >::iterateWellEqWithControl(), Opm::StandardWell< TypeTag >::updatePrimaryVariables(), Opm::WellState< Scalar >::well(), Opm::WellInterfaceGeneric::well_ecl_, and Opm::WellState< Scalar >::wellRates().
◆ computeWellRatesWithBhpIterations() [2/2]
template<typename TypeTag >
◆ computeWellRatesWithThpAlqProd()
template<typename TypeTag >
void Opm::StandardWell< TypeTag >::computeWellRatesWithThpAlqProd |
( |
const Simulator & |
simulator, |
|
|
const SummaryState & |
summary_state, |
|
|
DeferredLogger & |
deferred_logger, |
|
|
std::vector< double > & |
potentials, |
|
|
double |
alq |
|
) |
| const |
◆ connectionDensity()
template<typename TypeTag >
double Opm::StandardWell< TypeTag >::connectionDensity |
( |
const int |
globalConnIdx, |
|
|
const int |
openConnIdx |
|
) |
| const |
|
overridevirtual |
◆ connectionRates()
template<typename TypeTag >
◆ currentStep()
int Opm::WellInterfaceGeneric::currentStep |
( |
| ) |
const |
|
inlineinherited |
◆ estimateOperableBhp()
template<typename TypeTag >
◆ extendEval()
◆ flowPhaseToModelCompIdx()
int Opm::WellInterfaceIndices< GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Indices > >::flowPhaseToModelCompIdx |
( |
const int |
phaseIdx | ) |
const |
|
inherited |
◆ flowPhaseToModelPhaseIdx()
◆ getAllowCrossFlow()
bool Opm::WellInterfaceGeneric::getAllowCrossFlow |
( |
| ) |
const |
|
protectedinherited |
◆ getALQ()
double Opm::WellInterfaceGeneric::getALQ |
( |
const WellState< double > & |
well_state | ) |
const |
|
inherited |
◆ getCompletions()
const std::map< int, std::vector< int > > & Opm::WellInterfaceGeneric::getCompletions |
( |
| ) |
const |
|
inlineinherited |
◆ getDynamicThpLimit()
std::optional< double > Opm::WellInterfaceGeneric::getDynamicThpLimit |
( |
| ) |
const |
|
inherited |
◆ getGroupInjectionTargetRate()
std::optional< double > Opm::WellInterfaceFluidSystem< GetPropType< TypeTag, Properties::FluidSystem > >::getGroupInjectionTargetRate |
( |
const Group & |
group, |
|
|
const WellState< double > & |
well_state, |
|
|
const GroupState< double > & |
group_state, |
|
|
const Schedule & |
schedule, |
|
|
const SummaryState & |
summaryState, |
|
|
const InjectorType & |
injectorType, |
|
|
double |
efficiencyFactor, |
|
|
DeferredLogger & |
deferred_logger |
|
) |
| const |
|
protectedinherited |
◆ getGroupProductionTargetRate()
double Opm::WellInterfaceFluidSystem< GetPropType< TypeTag, Properties::FluidSystem > >::getGroupProductionTargetRate |
( |
const Group & |
group, |
|
|
const WellState< double > & |
well_state, |
|
|
const GroupState< double > & |
group_state, |
|
|
const Schedule & |
schedule, |
|
|
const SummaryState & |
summaryState, |
|
|
double |
efficiencyFactor, |
|
|
DeferredLogger & |
deferred_logger |
|
) |
| const |
|
protectedinherited |
◆ getInjMult()
double Opm::WellInterfaceGeneric::getInjMult |
( |
const int |
perf, |
|
|
const double |
bhp, |
|
|
const double |
perf_pres |
|
) |
| const |
|
inherited |
◆ getMobility() [1/2]
template<typename TypeTag >
template<class Value , class Callback >
◆ getMobility() [2/2]
template<typename TypeTag >
template<class Value >
◆ getPerfCellPressure()
template<typename TypeTag >
◆ getPrimaryVars()
template<typename TypeTag >
◆ getRefDensity()
template<typename TypeTag >
◆ getTHPConstraint()
double Opm::WellInterfaceGeneric::getTHPConstraint |
( |
const SummaryState & |
summaryState | ) |
const |
|
inherited |
◆ getWellConvergence() [1/3]
template<typename TypeTag >
◆ getWellConvergence() [2/3]
template<typename TypeTag >
check whether the well equations get converged for this well
◆ getWellConvergence() [3/3]
ConvergenceReport Opm::StandardWellEval< GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Indices > >::getWellConvergence |
( |
const WellState< Scalar > & |
well_state, |
|
|
const std::vector< double > & |
B_avg, |
|
|
const double |
maxResidualAllowed, |
|
|
const double |
tol_wells, |
|
|
const double |
relaxed_tolerance_flow, |
|
|
const bool |
relax_tolerance, |
|
|
const bool |
well_is_stopped, |
|
|
std::vector< double > & |
res, |
|
|
DeferredLogger & |
deferred_logger |
|
) |
| const |
|
protectedinherited |
◆ gliftBeginTimeStepWellTestIterateWellEquations()
template<typename TypeTag >
◆ gliftBeginTimeStepWellTestUpdateALQ()
template<typename TypeTag >
◆ gravity()
double Opm::WellInterfaceGeneric::gravity |
( |
| ) |
const |
|
inlineinherited |
◆ guideRate()
const GuideRate * Opm::WellInterfaceGeneric::guideRate |
( |
| ) |
const |
|
inlineinherited |
◆ handleInjectivityEquations()
template<typename TypeTag >
◆ handleInjectivityRate()
template<typename TypeTag >
◆ indexOfWell()
int Opm::WellInterfaceGeneric::indexOfWell |
( |
| ) |
const |
|
inherited |
◆ init() [1/3]
template<typename TypeTag >
void Opm::WellInterface< TypeTag >::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 |
|
) |
| |
|
virtualinherited |
◆ init() [2/3]
template<typename TypeTag >
void Opm::StandardWell< TypeTag >::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 |
|
) |
| |
|
overridevirtual |
◆ init() [3/3]
void Opm::StandardWellEval< GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Indices > >::init |
( |
std::vector< double > & |
perf_depth, |
|
|
const std::vector< double > & |
depth_arg, |
|
|
const int |
num_cells, |
|
|
const bool |
has_polymermw |
|
) |
| |
|
protectedinherited |
◆ initCompletions()
void Opm::WellInterfaceGeneric::initCompletions |
( |
| ) |
|
|
inherited |
◆ initialWellRateFractions()
template<typename TypeTag >
◆ initInjMult()
void Opm::WellInterfaceGeneric::initInjMult |
( |
const std::vector< double > & |
max_inj_mult | ) |
|
|
inherited |
◆ initPrimaryVariablesEvaluation()
template<typename TypeTag >
◆ isInjector()
bool Opm::WellInterfaceGeneric::isInjector |
( |
| ) |
const |
|
inherited |
True if the well is an injector.
◆ isOperableAndSolvable()
bool Opm::WellInterfaceGeneric::isOperableAndSolvable |
( |
| ) |
const |
|
inherited |
◆ isPressureControlled()
bool Opm::WellInterfaceGeneric::isPressureControlled |
( |
const WellState< double > & |
well_state | ) |
const |
|
inherited |
◆ isProducer()
bool Opm::WellInterfaceGeneric::isProducer |
( |
| ) |
const |
|
inherited |
True if the well is a producer.
◆ isVFPActive()
bool Opm::WellInterfaceGeneric::isVFPActive |
( |
DeferredLogger & |
deferred_logger | ) |
const |
|
inherited |
◆ iterateWellEquations()
template<typename TypeTag >
◆ iterateWellEqWithControl() [1/2]
template<typename TypeTag >
◆ iterateWellEqWithControl() [2/2]
template<typename TypeTag >
|
protectedpure virtualinherited |
◆ iterateWellEqWithSwitching() [1/2]
template<typename TypeTag >
bool Opm::StandardWell< TypeTag >::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 |
◆ iterateWellEqWithSwitching() [2/2]
template<typename TypeTag >
virtual bool Opm::WellInterface< TypeTag >::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 |
|
) |
| |
|
protectedpure virtualinherited |
◆ jacobianContainsWellContributions()
template<typename TypeTag >
◆ linSys()
Returns a const reference to equation system.
◆ modelCompIdxToFlowCompIdx()
int Opm::WellInterfaceIndices< GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Indices > >::modelCompIdxToFlowCompIdx |
( |
const unsigned |
compIdx | ) |
const |
|
inherited |
◆ name()
const std::string & Opm::WellInterfaceGeneric::name |
( |
| ) |
const |
|
inherited |
◆ numComponents()
int Opm::WellInterfaceGeneric::numComponents |
( |
| ) |
const |
|
inlineinherited |
◆ numPerfs()
int Opm::WellInterfaceGeneric::numPerfs |
( |
| ) |
const |
|
inlineinherited |
◆ numPhases()
int Opm::WellInterfaceGeneric::numPhases |
( |
| ) |
const |
|
inlineinherited |
◆ openCrossFlowAvoidSingularity()
template<typename TypeTag >
◆ openWell()
void Opm::WellInterfaceGeneric::openWell |
( |
| ) |
|
|
inlineinherited |
◆ parallelWellInfo()
◆ perfDepth() [1/2]
std::vector< double > & Opm::WellInterfaceGeneric::perfDepth |
( |
| ) |
|
|
inlineinherited |
◆ perfDepth() [2/2]
const std::vector< double > & Opm::WellInterfaceGeneric::perfDepth |
( |
| ) |
const |
|
inlineinherited |
◆ perforationData()
const std::vector< PerforationData > & Opm::WellInterfaceGeneric::perforationData |
( |
| ) |
const |
|
inherited |
Get the perforations of the well.
◆ phaseUsage()
const PhaseUsage & Opm::WellInterfaceGeneric::phaseUsage |
( |
| ) |
const |
|
inherited |
◆ polymerInjTable_()
int Opm::WellInterfaceGeneric::polymerInjTable_ |
( |
| ) |
const |
|
protectedinherited |
◆ polymerTable_()
int Opm::WellInterfaceGeneric::polymerTable_ |
( |
| ) |
const |
|
protectedinherited |
◆ polymerWaterTable_()
int Opm::WellInterfaceGeneric::polymerWaterTable_ |
( |
| ) |
const |
|
protectedinherited |
◆ prepareForPotentialCalculations()
void Opm::WellInterfaceGeneric::prepareForPotentialCalculations |
( |
const SummaryState & |
summary_state, |
|
|
WellState< double > & |
well_state, |
|
|
Well::InjectionControls & |
inj_controls, |
|
|
Well::ProductionControls & |
prod_controls |
|
) |
| const |
|
protectedinherited |
◆ prepareWellBeforeAssembling()
template<typename TypeTag >
◆ pskin()
template<typename TypeTag >
◆ pskinwater()
template<typename TypeTag >
◆ pvtRegionIdx()
int Opm::WellInterfaceGeneric::pvtRegionIdx |
( |
| ) |
const |
|
inlineinherited |
◆ rateConverter()
◆ recoverWellSolutionAndUpdateWellState() [1/2]
template<typename TypeTag >
using the solution x to recover the solution xw for wells and applying xw to update Well State
◆ recoverWellSolutionAndUpdateWellState() [2/2]
template<typename TypeTag >
using the solution x to recover the solution xw for wells and applying xw to update Well State
◆ refDepth()
double Opm::WellInterfaceGeneric::refDepth |
( |
| ) |
const |
|
inlineinherited |
◆ reportWellSwitching()
◆ resetWellOperability()
void Opm::WellInterfaceGeneric::resetWellOperability |
( |
| ) |
|
|
inherited |
◆ restrictEval()
Eval Opm::WellInterfaceIndices< GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Indices > >::restrictEval |
( |
const EvalWell & |
in | ) |
const |
|
inlineinherited |
◆ rsRvInj()
double Opm::WellInterfaceGeneric::rsRvInj |
( |
| ) |
const |
|
inherited |
◆ scalingFactor()
double Opm::WellInterfaceIndices< GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Indices > >::scalingFactor |
( |
const int |
phaseIdx | ) |
const |
|
inherited |
◆ setDynamicThpLimit()
void Opm::WellInterfaceGeneric::setDynamicThpLimit |
( |
const double |
thp_limit | ) |
|
|
inherited |
◆ setGuideRate()
void Opm::WellInterfaceGeneric::setGuideRate |
( |
const GuideRate * |
guide_rate_arg | ) |
|
|
inherited |
◆ setPrevSurfaceRates()
void Opm::WellInterfaceGeneric::setPrevSurfaceRates |
( |
WellState< double > & |
well_state, |
|
|
const WellState< double > & |
prev_well_state |
|
) |
| const |
|
inherited |
◆ setPrimaryVars()
template<typename TypeTag >
int Opm::StandardWell< TypeTag >::setPrimaryVars |
( |
std::vector< double >::const_iterator |
it | ) |
|
|
overridevirtual |
◆ setRepRadiusPerfLength()
void Opm::WellInterfaceGeneric::setRepRadiusPerfLength |
( |
| ) |
|
|
inherited |
◆ setVFPProperties()
void Opm::WellInterfaceGeneric::setVFPProperties |
( |
const VFPProperties * |
vfp_properties_arg | ) |
|
|
inherited |
◆ setWellEfficiencyFactor()
void Opm::WellInterfaceGeneric::setWellEfficiencyFactor |
( |
const double |
efficiency_factor | ) |
|
|
inherited |
◆ setWsolvent()
void Opm::WellInterfaceGeneric::setWsolvent |
( |
const double |
wsolvent | ) |
|
|
inherited |
◆ solveEqAndUpdateWellState() [1/2]
template<typename TypeTag >
◆ solveEqAndUpdateWellState() [2/2]
template<typename TypeTag >
◆ solveWellEquation()
template<typename TypeTag >
◆ solveWellForTesting()
template<typename TypeTag >
◆ solveWellWithBhp()
template<typename TypeTag >
◆ solveWellWithTHPConstraint()
template<typename TypeTag >
◆ solveWellWithZeroRate()
template<typename TypeTag >
◆ stopppedOrZeroRateTarget()
bool Opm::WellInterfaceGeneric::stopppedOrZeroRateTarget |
( |
const SummaryState & |
summary_state, |
|
|
const WellState< double > & |
well_state |
|
) |
| const |
|
inherited |
◆ stopWell()
void Opm::WellInterfaceGeneric::stopWell |
( |
| ) |
|
|
inlineinherited |
◆ thpLimitViolatedButNotSwitched()
bool Opm::WellInterfaceGeneric::thpLimitViolatedButNotSwitched |
( |
| ) |
const |
|
inherited |
◆ underPredictionMode()
bool Opm::WellInterfaceGeneric::underPredictionMode |
( |
| ) |
const |
|
inherited |
Returns true if the well is currently in prediction mode (i.e. not history mode).
◆ updateConnectionDFactor()
template<typename TypeTag >
◆ updateConnectionRatePolyMW()
template<typename TypeTag >
◆ updateConnectionTransmissibilityFactor()
template<typename TypeTag >
◆ updateFilterCakeMultipliers()
void Opm::WellInterfaceGeneric::updateFilterCakeMultipliers |
( |
const std::vector< double > & |
inj_fc_multiplier | ) |
|
|
inlineinherited |
◆ updateInjMult()
void Opm::WellInterfaceGeneric::updateInjMult |
( |
std::vector< double > & |
inj_multipliers, |
|
|
DeferredLogger & |
deferred_logger |
|
) |
| const |
|
inherited |
◆ updateIPR()
template<typename TypeTag >
◆ updateIPRImplicit() [1/2]
template<typename TypeTag >
◆ updateIPRImplicit() [2/2]
template<typename TypeTag >
|
protectedpure virtualinherited |
◆ updatePerforatedCell()
void Opm::WellInterfaceGeneric::updatePerforatedCell |
( |
std::vector< bool > & |
is_cell_perforated | ) |
|
|
inherited |
◆ updatePrimaryVariables() [1/2]
template<typename TypeTag >
◆ updatePrimaryVariables() [2/2]
template<typename TypeTag >
◆ updatePrimaryVariablesNewton()
template<typename TypeTag >
◆ updateProductivityIndex() [1/2]
template<typename TypeTag >
◆ updateProductivityIndex() [2/2]
template<typename TypeTag >
◆ updateWaterMobilityWithPolymer()
template<typename TypeTag >
◆ updateWaterThroughput() [1/2]
template<typename TypeTag >
◆ updateWaterThroughput() [2/2]
template<typename TypeTag >
◆ updateWellControl()
template<typename TypeTag >
◆ updateWellControlAndStatusLocalIteration()
template<typename TypeTag >
bool Opm::WellInterface< TypeTag >::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 |
|
) |
| |
|
inherited |
◆ updateWellOperability()
template<typename TypeTag >
◆ updateWellOperabilityFromWellEq()
template<typename TypeTag >
◆ updateWellState()
template<typename TypeTag >
◆ updateWellStateFromPrimaryVariables() [1/2]
template<typename TypeTag >
◆ updateWellStateFromPrimaryVariables() [2/2]
void Opm::StandardWellEval< GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Indices > >::updateWellStateFromPrimaryVariables |
( |
const bool |
stop_or_zero_rate_target, |
|
|
WellState< Scalar > & |
well_state, |
|
|
const SummaryState & |
summary_state, |
|
|
DeferredLogger & |
deferred_logger |
|
) |
| const |
|
protectedinherited |
◆ updateWellStateRates()
template<typename TypeTag >
◆ updateWellStateWithTarget()
template<typename TypeTag >
◆ updateWellStateWithTHPTargetProd()
template<typename TypeTag >
◆ updateWellTestState()
void Opm::WellInterfaceGeneric::updateWellTestState |
( |
const SingleWellState< double > & |
ws, |
|
|
const double & |
simulationTime, |
|
|
const bool & |
writeMessageToOPMLog, |
|
|
WellTestState & |
wellTestState, |
|
|
DeferredLogger & |
deferred_logger |
|
) |
| const |
|
inherited |
◆ useVfpExplicit()
bool Opm::WellInterfaceGeneric::useVfpExplicit |
( |
| ) |
const |
|
inherited |
◆ vfpProperties()
const VFPProperties * Opm::WellInterfaceGeneric::vfpProperties |
( |
| ) |
const |
|
inlineinherited |
◆ volumetricSurfaceRateForConnection()
template<typename TypeTag >
◆ wellEcl() [1/2]
Well & Opm::WellInterfaceGeneric::wellEcl |
( |
| ) |
|
|
inherited |
◆ wellEcl() [2/2]
const Well & Opm::WellInterfaceGeneric::wellEcl |
( |
| ) |
const |
|
inherited |
◆ wellEfficiencyFactor()
double Opm::WellInterfaceGeneric::wellEfficiencyFactor |
( |
| ) |
const |
|
inlineinherited |
◆ wellHasTHPConstraints()
bool Opm::WellInterfaceGeneric::wellHasTHPConstraints |
( |
const SummaryState & |
summaryState | ) |
const |
|
inherited |
Returns true if the well has one or more THP limits/constraints.
◆ wellIndex() [1/2]
const std::vector< double > & Opm::WellInterfaceGeneric::wellIndex |
( |
| ) |
const |
|
inlineinherited |
◆ wellIndex() [2/2]
template<typename TypeTag >
◆ wellIsStopped()
bool Opm::WellInterfaceGeneric::wellIsStopped |
( |
| ) |
const |
|
inlineinherited |
◆ wellTesting()
template<typename TypeTag >
◆ wellUnderZeroRateTarget()
bool Opm::WellInterfaceGeneric::wellUnderZeroRateTarget |
( |
const SummaryState & |
summary_state, |
|
|
const WellState< double > & |
well_state |
|
) |
| const |
|
protectedinherited |
◆ wfoam()
template<typename TypeTag >
◆ wfoam_()
double Opm::WellInterfaceGeneric::wfoam_ |
( |
| ) |
const |
|
protectedinherited |
◆ wmicrobes()
template<typename TypeTag >
◆ wmicrobes_()
double Opm::WellInterfaceGeneric::wmicrobes_ |
( |
| ) |
const |
|
protectedinherited |
◆ woxygen()
template<typename TypeTag >
◆ woxygen_()
double Opm::WellInterfaceGeneric::woxygen_ |
( |
| ) |
const |
|
protectedinherited |
◆ wpolymer()
template<typename TypeTag >
◆ wpolymer_()
double Opm::WellInterfaceGeneric::wpolymer_ |
( |
| ) |
const |
|
protectedinherited |
◆ wpolymermw()
template<typename TypeTag >
◆ wsalt()
template<typename TypeTag >
◆ wsalt_()
double Opm::WellInterfaceGeneric::wsalt_ |
( |
| ) |
const |
|
protectedinherited |
◆ wsolvent()
double Opm::WellInterfaceGeneric::wsolvent |
( |
| ) |
const |
|
inherited |
◆ wurea()
template<typename TypeTag >
◆ wurea_()
double Opm::WellInterfaceGeneric::wurea_ |
( |
| ) |
const |
|
protectedinherited |
◆ B_avg_
template<typename TypeTag >
◆ baseif_
const WellInterfaceIndices<GetPropType< TypeTag, Properties::FluidSystem > ,GetPropType< TypeTag, Properties::Indices > >& Opm::StandardWellEval< GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Indices > >::baseif_ |
|
protectedinherited |
◆ Bhp
template<typename TypeTag >
◆ bore_diameters_
std::vector<double> Opm::WellInterfaceGeneric::bore_diameters_ |
|
protectedinherited |
◆ changed_to_open_this_step_
bool Opm::WellInterfaceGeneric::changed_to_open_this_step_ = true |
|
protectedinherited |
◆ changed_to_stopped_this_step_
template<typename TypeTag >
◆ completions_
std::map<int, std::vector<int> > Opm::WellInterfaceGeneric::completions_ |
|
protectedinherited |
◆ connectionRates_
template<typename TypeTag >
◆ connections_
◆ current_step_
const int Opm::WellInterfaceGeneric::current_step_ |
|
protectedinherited |
◆ dynamic_thp_limit_
std::optional<double> Opm::WellInterfaceGeneric::dynamic_thp_limit_ |
|
protectedinherited |
◆ F0_
std::vector<double> Opm::StandardWellEval< GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Indices > >::F0_ |
|
protectedinherited |
◆ Gas
◆ GFrac
constexpr int Opm::StandardWellEval< GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Indices > >::GFrac |
|
staticconstexprprotectedinherited |
◆ gravity_
double Opm::WellInterfaceGeneric::gravity_ |
|
protectedinherited |
◆ guide_rate_
const GuideRate* Opm::WellInterfaceGeneric::guide_rate_ |
|
protectedinherited |
◆ has_brine
template<typename TypeTag >
◆ has_disgas_in_water
template<typename TypeTag >
constexpr bool Opm::WellInterface< TypeTag >::has_disgas_in_water = getPropValue<TypeTag, Properties::EnableDisgasInWater>() |
|
staticconstexprinherited |
◆ has_energy
template<typename TypeTag >
◆ has_foam
template<typename TypeTag >
◆ has_gfrac_variable
constexpr bool Opm::StandardWellEval< GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Indices > >::has_gfrac_variable |
|
staticconstexprprotectedinherited |
◆ has_micp
template<typename TypeTag >
◆ has_polymer
template<typename TypeTag >
◆ has_polymermw
template<typename TypeTag >
◆ has_saltPrecip
template<typename TypeTag >
constexpr bool Opm::WellInterface< TypeTag >::has_saltPrecip = getPropValue<TypeTag, Properties::EnableSaltPrecipitation>() |
|
staticconstexprinherited |
◆ has_solvent
template<typename TypeTag >
◆ has_temperature
template<typename TypeTag >
const bool Opm::WellInterface< TypeTag >::has_temperature = getPropValue<TypeTag, Properties::EnableTemperature>() |
|
staticinherited |
◆ has_watVapor
template<typename TypeTag >
constexpr bool Opm::WellInterface< TypeTag >::has_watVapor = getPropValue<TypeTag, Properties::EnableVapwat>() |
|
staticconstexprinherited |
◆ has_wfrac_variable
constexpr bool Opm::StandardWellEval< GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Indices > >::has_wfrac_variable |
|
staticconstexprprotectedinherited |
◆ has_zFraction
template<typename TypeTag >
◆ index_of_well_
int Opm::WellInterfaceGeneric::index_of_well_ |
|
protectedinherited |
◆ inj_fc_multiplier_
std::vector<double> Opm::WellInterfaceGeneric::inj_fc_multiplier_ |
|
protectedinherited |
◆ inj_multiplier_
std::vector<double> Opm::WellInterfaceGeneric::inj_multiplier_ |
|
mutableprotectedinherited |
◆ INVALIDCOMPLETION
|
staticconstexprprotectedinherited |
◆ ipr_a_
std::vector<double> Opm::WellInterfaceGeneric::ipr_a_ |
|
mutableprotectedinherited |
◆ ipr_b_
std::vector<double> Opm::WellInterfaceGeneric::ipr_b_ |
|
mutableprotectedinherited |
◆ linSys_
◆ num_components_
const int Opm::WellInterfaceGeneric::num_components_ |
|
protectedinherited |
◆ number_of_perforations_
int Opm::WellInterfaceGeneric::number_of_perforations_ |
|
protectedinherited |
◆ number_of_phases_
int Opm::WellInterfaceGeneric::number_of_phases_ |
|
protectedinherited |
◆ numStaticWellEq
template<typename TypeTag >
◆ numWellConservationEq
template<typename TypeTag >
constexpr int Opm::StandardWell< TypeTag >::numWellConservationEq = Indices::numPhases + Indices::numSolvents |
|
staticconstexpr |
◆ numWellControlEq
template<typename TypeTag >
◆ Oil
◆ operability_status_
◆ parallel_well_info_
◆ param_
template<typename TypeTag >
◆ perf_data_
◆ perf_depth_
std::vector<double> Opm::WellInterfaceGeneric::perf_depth_ |
|
protectedinherited |
◆ perf_length_
std::vector<double> Opm::WellInterfaceGeneric::perf_length_ |
|
protectedinherited |
◆ perf_rep_radius_
std::vector<double> Opm::WellInterfaceGeneric::perf_rep_radius_ |
|
protectedinherited |
◆ phase_usage_
const PhaseUsage* Opm::WellInterfaceGeneric::phase_usage_ |
|
protectedinherited |
◆ prev_inj_multiplier_
std::vector<double> Opm::WellInterfaceGeneric::prev_inj_multiplier_ |
|
protectedinherited |
◆ primary_variables_
Primary variables for well.
◆ pvtRegionIdx_
const int Opm::WellInterfaceGeneric::pvtRegionIdx_ |
|
protectedinherited |
◆ rateConverter_
◆ ref_depth_
double Opm::WellInterfaceGeneric::ref_depth_ |
|
protectedinherited |
◆ regularize_
template<typename TypeTag >
◆ saturation_table_number_
std::vector<int> Opm::WellInterfaceGeneric::saturation_table_number_ |
|
protectedinherited |
◆ SFrac
constexpr int Opm::StandardWellEval< GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Indices > >::SFrac |
|
staticconstexprprotectedinherited |
◆ thp_update_iterations
template<typename TypeTag >
◆ vfp_properties_
◆ Water
◆ well_cells_
std::vector<int> Opm::WellInterfaceGeneric::well_cells_ |
|
protectedinherited |
◆ well_control_log_
std::vector< std::string> Opm::WellInterfaceGeneric::well_control_log_ |
|
protectedinherited |
◆ well_ecl_
Well Opm::WellInterfaceGeneric::well_ecl_ |
|
protectedinherited |
◆ well_efficiency_factor_
double Opm::WellInterfaceGeneric::well_efficiency_factor_ |
|
protectedinherited |
◆ well_index_
std::vector<double> Opm::WellInterfaceGeneric::well_index_ |
|
protectedinherited |
◆ wellStatus_
Well::Status Opm::WellInterfaceGeneric::wellStatus_ |
|
protectedinherited |
◆ WFrac
constexpr int Opm::StandardWellEval< GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Indices > >::WFrac |
|
staticconstexprprotectedinherited |
◆ WQTotal
constexpr int Opm::StandardWellEval< GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Indices > >::WQTotal |
|
staticconstexprprotectedinherited |
◆ wsolvent_
double Opm::WellInterfaceGeneric::wsolvent_ |
|
protectedinherited |
The documentation for this class was generated from the following files:
|