#include <WellInterface.hpp>
|
| enum class | IndividualOrGroup { Individual
, Group
, Both
} |
| |
| using | Grid = GetPropType< TypeTag, Properties::Grid > |
| |
| using | Simulator = GetPropType< TypeTag, Properties::Simulator > |
| |
| using | Scalar = GetPropType< TypeTag, Properties::Scalar > |
| |
| using | FluidSystem = GetPropType< TypeTag, Properties::FluidSystem > |
| |
| using | IndexTraits = typename FluidSystem::IndexTraitsType |
| |
| using | Indices = GetPropType< TypeTag, Properties::Indices > |
| |
| using | IntensiveQuantities = GetPropType< TypeTag, Properties::IntensiveQuantities > |
| |
| using | MaterialLaw = GetPropType< TypeTag, Properties::MaterialLaw > |
| |
| using | SparseMatrixAdapter = GetPropType< TypeTag, Properties::SparseMatrixAdapter > |
| |
| using | RateVector = GetPropType< TypeTag, Properties::RateVector > |
| |
| using | GasLiftSingleWell = ::Opm::GasLiftSingleWell< TypeTag > |
| |
| using | GLiftEclWells = typename GasLiftGroupInfo< Scalar, IndexTraits >::GLiftEclWells |
| |
| using | VectorBlockType = Dune::FieldVector< Scalar, Indices::numEq > |
| |
| using | MatrixBlockType = Dune::FieldMatrix< Scalar, Indices::numEq, Indices::numEq > |
| |
| using | Eval = typename Base::Eval |
| |
| using | BVector = Dune::BlockVector< VectorBlockType > |
| |
| using | PressureMatrix = Dune::BCRSMatrix< Opm::MatrixBlock< Scalar, 1, 1 > > |
| |
| using | WellStateType = WellState< Scalar, IndexTraits > |
| |
| using | SingleWellStateType = SingleWellState< Scalar, IndexTraits > |
| |
| using | GroupStateHelperType = GroupStateHelper< Scalar, IndexTraits > |
| |
| using | FSInfo = FirstPerfCellConditions< Scalar > |
| | Temperature and salt concentration of the first perforated cell. More...
|
| |
| using | RateConverterType = typename WellInterfaceFluidSystem< FluidSystem >::RateConverterType |
| |
| using | ModelParameters = typename Base::ModelParameters |
| |
| template<class ValueType > |
| using | BlackOilFluidStateType = BlackOilFluidState< ValueType, FluidSystem, energyModuleType !=EnergyModules::NoTemperature, energyModuleType==EnergyModules::FullyImplicitThermal, Indices::compositionSwitchIdx !=std::numeric_limits< unsigned >::max(), has_watVapor, has_brine, has_saltPrecip, has_disgas_in_water, has_solvent, Indices::numPhases > |
| |
| using | FluidState = BlackOilFluidStateType< Eval > |
| |
| using | BMatrix = Dune::BCRSMatrix< Dune::FieldMatrix< Scalar, numWellDofs, numResDofs > > |
| |
| using | CMatrix = Dune::BCRSMatrix< Dune::FieldMatrix< Scalar, numResDofs, numWellDofs > > |
| |
| using | DMatrix = Dune::BCRSMatrix< Dune::FieldMatrix< Scalar, numWellDofs, numWellDofs > > |
| |
| using | WVector = Dune::BlockVector< Dune::FieldVector< Scalar, numWellDofs > > |
| |
|
| | WellInterface (const Well &well, const ParallelWellInfo< Scalar > &pw_info, const int time_step, const ModelParameters ¶m, const RateConverterType &rate_converter, const int pvtRegionIdx, const int num_conservation_quantities, const int num_phases, const int index_of_well, const std::vector< PerforationData< Scalar > > &perf_data) |
| | Constructor. More...
|
| |
| virtual | ~WellInterface ()=default |
| | Virtual destructor. More...
|
| |
| virtual void | init (const std::vector< Scalar > &depth_arg, const Scalar gravity_arg, const std::vector< Scalar > &B_avg, const bool changed_to_open_this_step) |
| |
| virtual ConvergenceReport | getWellConvergence (const GroupStateHelperType &groupStateHelper, const std::vector< Scalar > &B_avg, const bool relax_tolerance) const =0 |
| |
| virtual void | solveEqAndUpdateWellState (const Simulator &simulator, const GroupStateHelperType &groupStateHelper, WellStateType &well_state)=0 |
| |
| void | assembleWellEq (const Simulator &simulator, const double dt, const GroupStateHelperType &groupStateHelper, WellStateType &well_state) |
| |
| void | assembleWellEqWithoutIteration (const Simulator &simulator, const GroupStateHelperType &groupStateHelper, const double dt, WellStateType &well_state, const bool solving_with_zero_rate) |
| |
| void | updateGroupTargetFallbackFlag (WellStateType &well_state, DeferredLogger &deferred_logger) const |
| |
| void | prepareWellBeforeAssembling (const Simulator &simulator, const double dt, const GroupStateHelperType &groupStateHelper, WellStateType &well_state) |
| |
| virtual void | computeWellRatesWithBhp (const Simulator &ebosSimulator, const Scalar &bhp, std::vector< Scalar > &well_flux, DeferredLogger &deferred_logger) const =0 |
| |
| virtual std::optional< Scalar > | computeBhpAtThpLimitProdWithAlq (const Simulator &ebos_simulator, const GroupStateHelperType &groupStateHelper, const SummaryState &summary_state, const Scalar alq_value, bool iterate_if_no_solution) const =0 |
| |
| std::optional< Scalar > | computeBhpAtThpLimitProdWithAlqUsingIPR (const Simulator &simulator, const WellStateType &well_state, Scalar bhp, const SummaryState &summary_state, const Scalar alq_value) |
| |
| virtual void | recoverWellSolutionAndUpdateWellState (const Simulator &simulator, const BVector &x, const GroupStateHelperType &groupStateHelper, WellStateType &well_state)=0 |
| |
| virtual void | apply (const BVector &x, BVector &Ax) const =0 |
| | Ax = Ax - C D^-1 B x. More...
|
| |
| virtual void | apply (BVector &r) const =0 |
| | r = r - C D^-1 Rw More...
|
| |
| virtual void | computeWellPotentials (const Simulator &simulator, const WellStateType &well_state, const GroupStateHelperType &groupStateHelper, std::vector< Scalar > &well_potentials)=0 |
| |
| virtual void | updateWellStateWithTarget (const Simulator &simulator, const GroupStateHelperType &groupStateHelper, WellStateType &well_state) const |
| |
| virtual void | scaleSegmentRatesAndPressure (WellStateType &well_state) const |
| |
| virtual void | computeWellRatesWithBhpIterations (const Simulator &simulator, const Scalar &bhp, const GroupStateHelperType &groupStateHelper, std::vector< Scalar > &well_flux) const =0 |
| |
| bool | wellUnderZeroRateTarget (const GroupStateHelperType &groupStateHelper) const |
| |
| bool | stoppedOrZeroRateTarget (const GroupStateHelperType &groupStateHelper) const |
| |
| bool | updateWellStateWithTHPTargetProd (const Simulator &simulator, WellStateType &well_state, const GroupStateHelperType &groupStateHelper) const |
| |
| bool | wellUnderZeroGroupRateTarget (const GroupStateHelperType &groupStateHelper, const std::optional< bool > group_control=std::nullopt) const |
| |
| bool | updateWellControl (const Simulator &simulator, const IndividualOrGroup iog, const GroupStateHelperType &groupStateHelper, WellStateType &well_state) |
| |
| void | updateWeldrawMaxRate (const Simulator &simulator, WellStateType &well_state, DeferredLogger &deferred_logger) const |
| |
| bool | updateWellControlAndStatusLocalIteration (const Simulator &simulator, const GroupStateHelperType &groupStateHelper, const Well::InjectionControls &inj_controls, const Well::ProductionControls &prod_controls, const Scalar WQTotal, WellStateType &well_state, const bool fixed_control, const bool fixed_status, const bool solving_with_zero_rate) |
| |
| virtual void | updatePrimaryVariables (const GroupStateHelperType &groupStateHelper)=0 |
| |
| virtual void | calculateExplicitQuantities (const Simulator &simulator, const GroupStateHelperType &groupStateHelper)=0 |
| |
| virtual void | updateProductivityIndex (const Simulator &simulator, const WellProdIndexCalculator< Scalar > &wellPICalc, WellStateType &well_state, DeferredLogger &deferred_logger) const =0 |
| |
| virtual void | addWellContributions (SparseMatrixAdapter &) const =0 |
| |
| virtual void | addWellPressureEquations (PressureMatrix &mat, const BVector &x, const int pressureVarIndex, const bool use_well_weights, const WellStateType &well_state) const =0 |
| |
| void | addCellRates (std::map< int, RateVector > &cellRates_) const |
| |
| Scalar | volumetricSurfaceRateForConnection (int cellIdx, int phaseIdx) const |
| |
| void | wellTesting (const Simulator &simulator, const double simulation_time, const GroupStateHelperType &groupStateHelper, WellStateType &well_state, WellTestState &welltest_state, GLiftEclWells &ecl_well_map, std::map< std::string, double > &open_times) |
| |
| void | checkWellOperability (const Simulator &simulator, const WellStateType &well_state, const GroupStateHelperType &groupStateHelper) |
| |
| void | gliftBeginTimeStepWellTestUpdateALQ (const Simulator &simulator, WellStateType &well_state, const GroupState< Scalar > &group_state, GLiftEclWells &ecl_well_map, DeferredLogger &deferred_logger) |
| |
| void | updateWellOperability (const Simulator &simulator, const WellStateType &well_state, const GroupStateHelperType &groupStateHelper) |
| |
| bool | updateWellOperabilityFromWellEq (const Simulator &simulator, const GroupStateHelperType &groupStateHelper) |
| |
| virtual void | updateWaterThroughput (const double dt, WellStateType &well_state) const =0 |
| |
| virtual std::vector< Scalar > | computeCurrentWellRates (const Simulator &simulator, DeferredLogger &deferred_logger) const =0 |
| |
| virtual void | getScaledWellFractions (std::vector< Scalar > &scaled_fractions, DeferredLogger &deferred_logger) const =0 |
| |
| void | initializeProducerWellState (const Simulator &simulator, WellStateType &well_state, DeferredLogger &deferred_logger) const |
| |
| void | solveWellEquation (const Simulator &simulator, const GroupStateHelperType &groupStateHelper, WellStateType &well_state) |
| |
| const std::vector< RateVector > & | connectionRates () const |
| |
| void | updateConnectionDFactor (const Simulator &simulator, SingleWellStateType &ws) const |
| |
| void | updateConnectionTransmissibilityFactor (const Simulator &simulator, SingleWellStateType &ws) const |
| |
| virtual bool | iterateWellEqWithSwitching (const Simulator &simulator, const double dt, const WellInjectionControls &inj_controls, const WellProductionControls &prod_controls, const GroupStateHelperType &groupStateHelper, WellStateType &well_state, const bool fixed_control, const bool fixed_status, const bool solving_with_zero_rate)=0 |
| |
| virtual Scalar | maxPerfPress (const Simulator &simulator) const =0 |
| |
| virtual void | updateIPRImplicit (const Simulator &simulator, const GroupStateHelperType &groupStateHelper, WellStateType &well_state)=0 |
| |
| virtual void | addBCDMatrix (std::vector< BMatrix > &b_matrices, std::vector< CMatrix > &c_matrices, std::vector< DMatrix > &d_matrices, Opm::SparseTable< int > &wcells) const =0 |
| |
| Scalar | scalingFactor (const int phaseIdx) const |
| |
| Eval | restrictEval (const EvalWell &in) const |
| |
| const RateConverterType & | rateConverter () const |
| |
| Scalar | totalReservoirVoidageRate (const std::vector< Scalar > &surface_rates) const override |
| | The total reservoir voidage rate for the given surface phase rates (or potentials), using the region average PVT properties that also produce the voidage rates in the well state. More...
|
| |
| const std::vector< PerforationData< FluidSystem::Scalar > > & | 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< FluidSystem::Scalar > &rates) const |
| |
| const Well & | wellEcl () const |
| |
| Well & | wellEcl () |
| |
| const PhaseUsageInfo< FluidSystem::IndexTraitsType > & | 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< FluidSystem::Scalar, FluidSystem::IndexTraitsType > *vfp_properties_arg) |
| |
| void | setPrevSurfaceRates (WellStateType &well_state, const WellStateType &prev_well_state) const |
| |
| void | setGuideRate (const GuideRate *guide_rate_arg) |
| |
| void | setWellEfficiencyFactor (const FluidSystem::Scalar efficiency_factor) |
| |
| void | setRepRadiusPerfLength () |
| |
| void | setWsolvent (const FluidSystem::Scalar wsolvent) |
| |
| void | setDynamicThpLimit (const FluidSystem::Scalar thp_limit) |
| |
| void | setDynamicThpLimit (const std::optional< FluidSystem::Scalar > thp_limit) |
| |
| std::optional< FluidSystem::Scalar > | 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 () |
| |
| Well::Status | wellStatus () |
| |
| bool | wellIsStopped () const |
| |
| int | currentStep () const |
| |
| int | pvtRegionIdx () const |
| |
| const GuideRate * | guideRate () const |
| |
| int | numConservationQuantities () const |
| |
| int | numPhases () const |
| |
| int | numLocalPerfs () const |
| |
| FluidSystem::Scalar | refDepth () const |
| |
| FluidSystem::Scalar | gravity () const |
| |
| const VFPProperties< FluidSystem::Scalar, FluidSystem::IndexTraitsType > * | vfpProperties () const |
| |
| const ParallelWellInfo< FluidSystem::Scalar > & | parallelWellInfo () const |
| |
| const std::vector< FluidSystem::Scalar > & | perfDepth () const |
| |
| std::vector< FluidSystem::Scalar > & | perfDepth () |
| |
| const std::vector< FluidSystem::Scalar > & | wellIndex () const |
| |
| std::vector< FluidSystem::Scalar > & | wellIndex () |
| | Mutable per-perforation well indices (connection transmissibility factors). Adjoint hook: the dJ/dperm well-coupling gradient perturbs the CTF here and re-linearizes. Not used in the forward path. More...
|
| |
| const std::map< int, std::vector< int > > & | getCompletions () const |
| |
| FluidSystem::Scalar | getTHPConstraint (const SummaryState &summaryState) const |
| |
| FluidSystem::Scalar | getALQ (const WellStateType &well_state) const |
| |
| FluidSystem::Scalar | wsolvent () const |
| |
| FluidSystem::Scalar | rsRvInj () const |
| |
| void | initInjMult (const std::vector< FluidSystem::Scalar > &max_inj_mult) |
| |
| void | updateInjMult (std::vector< FluidSystem::Scalar > &inj_multipliers, DeferredLogger &deferred_logger) const |
| |
| FluidSystem::Scalar | getInjMult (const int local_perf_index, const FluidSystem::Scalar bhp, const FluidSystem::Scalar perf_pres, DeferredLogger &dlogger) const |
| |
| bool | isVFPActive (DeferredLogger &deferred_logger) const |
| |
| void | reportWellSwitching (const SingleWellState< FluidSystem::Scalar, FluidSystem::IndexTraitsType > &ws, DeferredLogger &deferred_logger) const |
| |
| bool | changedToOpenThisStep () const |
| |
| void | updateWellTestState (const SingleWellState< FluidSystem::Scalar, FluidSystem::IndexTraitsType > &ws, const double &simulationTime, const bool &writeMessageToOPMLog, const bool during_well_test, const bool zero_group_target, WellTestState &wellTestState, const UnitSystem &unit_system, const std::time_t start_time, DeferredLogger &deferred_logger, std::string *closure_reason=nullptr) const |
| |
| bool | isPressureControlled (const WellStateType &well_state) const |
| |
| Well::ProductionControls | productionControlsWithWeldraw (const SummaryState &summary_state, const SingleWellState< FluidSystem::Scalar, FluidSystem::IndexTraitsType > &ws) const |
| |
| FluidSystem::Scalar | wellEfficiencyFactor () const |
| |
| void | updateFilterCakeMultipliers (const std::vector< FluidSystem::Scalar > &inj_fc_multiplier) |
| | Update filter cake multipliers. More...
|
| |
| void | resetWellOperability () |
| |
| virtual std::vector< FluidSystem::Scalar > | getPrimaryVars () const |
| |
| virtual int | setPrimaryVars (typename std::vector< FluidSystem::Scalar >::const_iterator) |
| |
| virtual FluidSystem::Scalar | connectionDensity (const int globalConnIdx, const int openConnIdx) const=0 |
| |
| void | addPerforations (const std::vector< RuntimePerforation > &perfs) |
| |
| void | addFracturePerforations (const std::vector< RuntimePerforation > &perfs) |
| |
| const std::vector< WellIndexFracture > & | wellIndexFracture () const |
| |
| const WellSolveStats & | solveStats () const |
| |
| void | resetSolveStats () const |
| |
|
| static void | applyWeldrawRateLimit (const Well &well_ecl, const std::optional< FluidSystem::Scalar > &weldraw_max_rate, Well::ProductionControls &controls) |
| |
|
| static constexpr bool | has_solvent = getPropValue<TypeTag, Properties::EnableSolvent>() |
| |
| static constexpr bool | has_zFraction = getPropValue<TypeTag, Properties::EnableExtbo>() |
| |
| static constexpr bool | has_polymer = getPropValue<TypeTag, Properties::EnablePolymer>() |
| |
| static constexpr EnergyModules | energyModuleType = getPropValue<TypeTag, Properties::EnergyModuleType>() |
| |
| static constexpr bool | has_energy = energyModuleType == EnergyModules::FullyImplicitThermal |
| |
| static constexpr bool | has_polymermw = getPropValue<TypeTag, Properties::EnablePolymerMW>() |
| |
| static constexpr bool | has_foam = getPropValue<TypeTag, Properties::EnableFoam>() |
| |
| static constexpr bool | has_brine = getPropValue<TypeTag, Properties::EnableBrine>() |
| |
| static constexpr bool | has_watVapor = getPropValue<TypeTag, Properties::EnableVapwat>() |
| |
| static constexpr bool | has_disgas_in_water = getPropValue<TypeTag, Properties::EnableDisgasInWater>() |
| |
| static constexpr bool | has_saltPrecip = getPropValue<TypeTag, Properties::EnableSaltPrecipitation>() |
| |
| static constexpr bool | has_bioeffects = getPropValue<TypeTag, Properties::EnableBioeffects>() |
| |
| static constexpr bool | has_micp = Indices::enableMICP |
| |
| static constexpr int | numResDofs = Indices::numEq |
| |
| static constexpr int | numWellDofs = numResDofs + 1 |
| |
| static constexpr int | Water |
| |
| static constexpr int | Oil |
| |
| static constexpr int | Gas |
| |
|
| Scalar | wpolymer () const |
| |
| Scalar | wfoam () const |
| |
| Scalar | wsalt () const |
| |
| Scalar | wmicrobes () const |
| |
| Scalar | woxygen () const |
| |
| Scalar | wurea () const |
| |
| virtual Scalar | getRefDensity () const =0 |
| |
| std::vector< Scalar > | initialWellRateFractions (const Simulator &ebosSimulator, const WellStateType &well_state) const |
| |
| virtual void | checkOperabilityUnderBHPLimit (const WellStateType &well_state, const Simulator &simulator, DeferredLogger &deferred_logger)=0 |
| |
| virtual void | checkOperabilityUnderTHPLimit (const Simulator &simulator, const WellStateType &well_state, const GroupStateHelperType &groupStateHelper)=0 |
| |
| virtual void | updateIPR (const Simulator &simulator, DeferredLogger &deferred_logger) const =0 |
| |
| virtual void | assembleWellEqWithoutIteration (const Simulator &simulator, const GroupStateHelperType &groupStateHelper, const double dt, const WellInjectionControls &inj_controls, const WellProductionControls &prod_controls, WellStateType &well_state, const bool solving_with_zero_rate)=0 |
| |
| virtual bool | iterateWellEqWithControl (const Simulator &simulator, const double dt, const WellInjectionControls &inj_controls, const WellProductionControls &prod_controls, const GroupStateHelperType &groupStateHelper, WellStateType &well_state)=0 |
| |
| bool | iterateWellEquations (const Simulator &simulator, const double dt, const GroupStateHelperType &groupStateHelper, WellStateType &well_state) |
| |
| bool | solveWellWithOperabilityCheck (const Simulator &simulator, const double dt, const Well::InjectionControls &inj_controls, const Well::ProductionControls &prod_controls, const GroupStateHelperType &groupStateHelper, WellStateType &well_state) |
| |
| std::optional< Scalar > | estimateOperableBhp (const Simulator &ebos_simulator, const double dt, const GroupStateHelperType &groupStateHelper, const SummaryState &summary_state, WellStateType &well_state) |
| |
| bool | solveWellWithBhp (const Simulator &simulator, const double dt, const Scalar bhp, const GroupStateHelperType &groupStateHelper, WellStateType &well_state) |
| |
| bool | solveWellWithZeroRate (const Simulator &simulator, const double dt, const GroupStateHelperType &groupStateHelper, WellStateType &well_state) |
| |
| bool | solveWellForTesting (const Simulator &simulator, const GroupStateHelperType &groupStateHelper, WellStateType &well_state) |
| |
| template<class GasLiftSingleWell > |
| std::unique_ptr< GasLiftSingleWell > | initializeGliftWellTest_ (const Simulator &simulator, WellStateType &well_state, const GroupState< Scalar > &group_state, GLiftEclWells &ecl_well_map, DeferredLogger &deferred_logger) |
| |
| Eval | getPerfCellPressure (const FluidState &fs) const |
| |
| template<class Value , class Callback > |
| void | getTransMult (Value &trans_mult, const Simulator &simulator, const int cell_idx, Callback &extendEval) const |
| |
| template<class Value > |
| void | getTw (std::vector< Value > &wi, const int perf, const IntensiveQuantities &intQuants, const Value &trans_mult, const SingleWellStateType &ws) const |
| |
| template<class Value , class Callback > |
| void | getMobility (const Simulator &simulator, const int local_perf_index, std::vector< Value > &mob, Callback &extendEval, DeferredLogger &deferred_logger) const |
| |
| void | computeConnLevelProdInd (const FluidState &fs, const std::function< Scalar(const Scalar)> &connPICalc, const std::vector< Scalar > &mobility, Scalar *connPI) const |
| |
| void | computeConnLevelInjInd (const FluidState &fs, const Phase preferred_phase, const std::function< Scalar(const Scalar)> &connIICalc, const std::vector< Scalar > &mobility, Scalar *connII, DeferredLogger &deferred_logger) const |
| |
| Scalar | computeConnectionDFactor (const int perf, const IntensiveQuantities &intQuants, const SingleWellStateType &ws) const |
| |
| FSInfo | getFirstPerfCellConditions (const Simulator &simulator) const |
| | Temperature and salt concentration of the first perforated cell, broadcast so that all processes of a distributed well get the values. More...
|
| |
| void | calculateReservoirRates (const bool use_well_bhp_temperature, SingleWellState< Scalar, IndexTraits > &ws) const |
| |
| bool | checkIndividualConstraints (SingleWellState< Scalar, IndexTraits > &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 (const GroupStateHelperType &groupStateHelper, const Schedule &schedule, const SummaryState &summaryState, const bool check_guide_rate, WellStateType &well_state) const |
| |
| bool | checkConstraints (const GroupStateHelperType &groupStateHelper, const Schedule &schedule, const SummaryState &summaryState, WellStateType &well_state) const |
| |
| std::optional< Scalar > | getGroupInjectionTargetRate (const Group &group, const GroupStateHelperType &groupStateHelper, const InjectorType &injectorType, Scalar efficiencyFactor) const |
| |
| Scalar | getGroupProductionTargetRate (const Group &group, const GroupStateHelperType &groupStateHelper, Scalar efficiencyFactor) const |
| |
| bool | zeroGroupRateTarget (const GroupStateHelperType &groupStateHelper) const |
| |
| WellSolveScope | solveScope (const int &iterations) const |
| |
| SolvePartTimer | solveAssembleTimer () const |
| |
| SolvePartTimer | solveLinearSolveTimer () const |
| |
| PotentialCalculationScope | potentialCalculationScope () const |
| |
| bool | getAllowCrossFlow () const |
| |
| FluidSystem::Scalar | wmicrobes_ () const |
| |
| FluidSystem::Scalar | wfoam_ () const |
| |
| FluidSystem::Scalar | woxygen_ () const |
| |
| FluidSystem::Scalar | wpolymer_ () const |
| |
| FluidSystem::Scalar | wsalt_ () const |
| |
| FluidSystem::Scalar | wurea_ () const |
| |
| int | polymerTable_ () const |
| |
| int | polymerInjTable_ () const |
| |
| int | polymerWaterTable_ () const |
| |
| bool | wellUnderZeroRateTargetIndividual (const SummaryState &summary_state, const WellState< FluidSystem::Scalar, FluidSystem::IndexTraitsType > &well_state) const |
| |
| bool | wellUnderGroupControl (const SingleWellState< FluidSystem::Scalar, FluidSystem::IndexTraitsType > &ws) const |
| |
| std::pair< bool, bool > | computeWellPotentials (std::vector< FluidSystem::Scalar > &well_potentials, const WellStateType &well_state) |
| |
| void | checkNegativeWellPotentials (std::vector< FluidSystem::Scalar > &well_potentials, const bool checkOperability, DeferredLogger &deferred_logger) |
| |
| void | onlyKeepBHPandTHPcontrols (const SummaryState &summary_state, WellStateType &well_state, Well::InjectionControls &inj_controls, Well::ProductionControls &prod_controls) const |
| |
| void | resetDampening () |
| |
| void | updateGroupTargetFallbackFlag (WellState< FluidSystem::Scalar, FluidSystem::IndexTraitsType > &well_state, const std::vector< FluidSystem::Scalar > &scaled_well_fractions, DeferredLogger &deferred_logger) const |
| |
◆ BlackOilFluidStateType
template<typename TypeTag >
template<class ValueType >
| using Opm::WellInterface< TypeTag >::BlackOilFluidStateType = BlackOilFluidState<ValueType, FluidSystem, energyModuleType != EnergyModules::NoTemperature, energyModuleType == EnergyModules::FullyImplicitThermal, Indices::compositionSwitchIdx != std::numeric_limits<unsigned>::max(), has_watVapor, has_brine, has_saltPrecip, has_disgas_in_water, has_solvent, Indices::numPhases> |
◆ BMatrix
template<typename TypeTag >
◆ BVector
template<typename TypeTag >
◆ CMatrix
template<typename TypeTag >
◆ DMatrix
template<typename TypeTag >
◆ Eval
template<typename TypeTag >
◆ FluidState
template<typename TypeTag >
◆ FluidSystem
template<typename TypeTag >
◆ FSInfo
template<typename TypeTag >
Temperature and salt concentration of the first perforated cell.
◆ GasLiftSingleWell
template<typename TypeTag >
◆ GLiftEclWells
template<typename TypeTag >
◆ Grid
template<typename TypeTag >
◆ GroupStateHelperType
template<typename TypeTag >
◆ IndexTraits
template<typename TypeTag >
◆ Indices
template<typename TypeTag >
◆ IntensiveQuantities
template<typename TypeTag >
◆ MaterialLaw
template<typename TypeTag >
◆ MatrixBlockType
template<typename TypeTag >
◆ ModelParameters
template<typename TypeTag >
◆ PressureMatrix
template<typename TypeTag >
◆ RateConverterType
template<typename TypeTag >
◆ RateVector
template<typename TypeTag >
◆ Scalar
template<typename TypeTag >
◆ Simulator
template<typename TypeTag >
◆ SingleWellStateType
template<typename TypeTag >
◆ SparseMatrixAdapter
template<typename TypeTag >
◆ VectorBlockType
template<typename TypeTag >
◆ WellStateType
template<typename TypeTag >
◆ WVector
template<typename TypeTag >
◆ IndividualOrGroup
template<typename TypeTag >
| Enumerator |
|---|
| Individual | |
| Group | |
| Both | |
◆ WellInterface()
template<typename TypeTag >
◆ ~WellInterface()
template<typename TypeTag >
◆ adaptRatesForVFP()
| void Opm::WellInterfaceGeneric< FluidSystem::Scalar , FluidSystem::IndexTraitsType >::adaptRatesForVFP |
( |
std::vector< FluidSystem::Scalar > & |
rates | ) |
const |
|
inherited |
◆ addBCDMatrix()
template<typename TypeTag >
◆ addCellRates()
template<typename TypeTag >
◆ addFracturePerforations()
Record (or update in place) the fracture contribution to the connection transmissibility of existing perforations. Perforations referring to cells that are not part of this well's local structure are skipped with a (deduplicated) log message. Storage is allocated on first use; wells without fractures carry no extra state.
◆ addPerforations()
◆ addWellContributions()
template<typename TypeTag >
◆ addWellPressureEquations()
template<typename TypeTag >
◆ apply() [1/2]
template<typename TypeTag >
◆ apply() [2/2]
template<typename TypeTag >
◆ applyWeldrawRateLimit()
| static void Opm::WellInterfaceGeneric< FluidSystem::Scalar , FluidSystem::IndexTraitsType >::applyWeldrawRateLimit |
( |
const Well & |
well_ecl, |
|
|
const std::optional< FluidSystem::Scalar > & |
weldraw_max_rate, |
|
|
Well::ProductionControls & |
controls |
|
) |
| |
|
staticinherited |
Impose a WELDRAW-derived maximum production rate as an additional LRAT or GRAT constraint on controls. No-op when weldraw_max_rate is unset. Static so that components without a well interface (e.g. gas lift optimization) can apply the same limit.
◆ assembleWellEq()
template<typename TypeTag >
◆ assembleWellEqWithoutIteration() [1/2]
template<typename TypeTag >
| virtual void Opm::WellInterface< TypeTag >::assembleWellEqWithoutIteration |
( |
const Simulator & |
simulator, |
|
|
const GroupStateHelperType & |
groupStateHelper, |
|
|
const double |
dt, |
|
|
const WellInjectionControls & |
inj_controls, |
|
|
const WellProductionControls & |
prod_controls, |
|
|
WellStateType & |
well_state, |
|
|
const bool |
solving_with_zero_rate |
|
) |
| |
|
protectedpure virtual |
◆ assembleWellEqWithoutIteration() [2/2]
template<typename TypeTag >
◆ calculateExplicitQuantities()
template<typename TypeTag >
◆ calculateReservoirRates()
◆ cells()
◆ changedToOpenThisStep()
◆ checkConstraints()
◆ checkGroupConstraints()
◆ checkIndividualConstraints()
◆ checkNegativeWellPotentials()
| void Opm::WellInterfaceGeneric< FluidSystem::Scalar , FluidSystem::IndexTraitsType >::checkNegativeWellPotentials |
( |
std::vector< FluidSystem::Scalar > & |
well_potentials, |
|
|
const bool |
checkOperability, |
|
|
DeferredLogger & |
deferred_logger |
|
) |
| |
|
protectedinherited |
◆ checkOperabilityUnderBHPLimit()
template<typename TypeTag >
◆ checkOperabilityUnderTHPLimit()
template<typename TypeTag >
◆ checkWellOperability()
template<typename TypeTag >
◆ closeCompletions()
| void Opm::WellInterfaceGeneric< FluidSystem::Scalar , FluidSystem::IndexTraitsType >::closeCompletions |
( |
const WellTestState & |
wellTestState | ) |
|
|
inherited |
◆ computeBhpAtThpLimitProdWithAlq()
template<typename TypeTag >
◆ computeBhpAtThpLimitProdWithAlqUsingIPR()
template<typename TypeTag >
◆ computeConnectionDFactor()
template<typename TypeTag >
◆ computeConnLevelInjInd()
template<typename TypeTag >
◆ computeConnLevelProdInd()
template<typename TypeTag >
◆ computeCurrentWellRates()
template<typename TypeTag >
◆ computeWellPotentials() [1/2]
template<typename TypeTag >
◆ computeWellPotentials() [2/2]
| std::pair< bool, bool > Opm::WellInterfaceGeneric< FluidSystem::Scalar , FluidSystem::IndexTraitsType >::computeWellPotentials |
( |
std::vector< FluidSystem::Scalar > & |
well_potentials, |
|
|
const WellStateType & |
well_state |
|
) |
| |
|
protectedinherited |
◆ computeWellRatesWithBhp()
template<typename TypeTag >
◆ computeWellRatesWithBhpIterations()
template<typename TypeTag >
◆ connectionDensity()
| virtual FluidSystem::Scalar Opm::WellInterfaceGeneric< FluidSystem::Scalar , FluidSystem::IndexTraitsType >::connectionDensity |
( |
const int |
globalConnIdx, |
|
|
const int |
openConnIdx |
|
) |
| const |
|
pure virtualinherited |
◆ connectionRates()
template<typename TypeTag >
◆ currentStep()
◆ estimateOperableBhp()
template<typename TypeTag >
◆ getAllowCrossFlow()
◆ getALQ()
◆ getCompletions()
| const std::map< int, std::vector< int > > & Opm::WellInterfaceGeneric< FluidSystem::Scalar , FluidSystem::IndexTraitsType >::getCompletions |
( |
| ) |
const |
|
inlineinherited |
◆ getDynamicThpLimit()
| std::optional< FluidSystem::Scalar > Opm::WellInterfaceGeneric< FluidSystem::Scalar , FluidSystem::IndexTraitsType >::getDynamicThpLimit |
( |
| ) |
const |
|
inherited |
◆ getFirstPerfCellConditions()
template<typename TypeTag >
◆ getGroupInjectionTargetRate()
◆ getGroupProductionTargetRate()
◆ getInjMult()
| FluidSystem::Scalar Opm::WellInterfaceGeneric< FluidSystem::Scalar , FluidSystem::IndexTraitsType >::getInjMult |
( |
const int |
local_perf_index, |
|
|
const FluidSystem::Scalar |
bhp, |
|
|
const FluidSystem::Scalar |
perf_pres, |
|
|
DeferredLogger & |
dlogger |
|
) |
| const |
|
inherited |
◆ getMobility()
template<typename TypeTag >
template<class Value , class Callback >
◆ getPerfCellPressure()
template<typename TypeTag >
◆ getPrimaryVars()
| virtual std::vector< FluidSystem::Scalar > Opm::WellInterfaceGeneric< FluidSystem::Scalar , FluidSystem::IndexTraitsType >::getPrimaryVars |
( |
| ) |
const |
|
inlinevirtualinherited |
◆ getRefDensity()
template<typename TypeTag >
◆ getScaledWellFractions()
template<typename TypeTag >
◆ getTHPConstraint()
| FluidSystem::Scalar Opm::WellInterfaceGeneric< FluidSystem::Scalar , FluidSystem::IndexTraitsType >::getTHPConstraint |
( |
const SummaryState & |
summaryState | ) |
const |
|
inherited |
◆ getTransMult()
template<typename TypeTag >
template<class Value , class Callback >
| void Opm::WellInterface< TypeTag >::getTransMult |
( |
Value & |
trans_mult, |
|
|
const Simulator & |
simulator, |
|
|
const int |
cell_idx, |
|
|
Callback & |
extendEval |
|
) |
| const |
|
protected |
◆ getTw()
template<typename TypeTag >
template<class Value >
◆ getWellConvergence()
template<typename TypeTag >
◆ gliftBeginTimeStepWellTestUpdateALQ()
template<typename TypeTag >
◆ gravity()
◆ guideRate()
◆ indexOfWell()
Index of well in the wells struct and wellState.
◆ init()
template<typename TypeTag >
| void Opm::WellInterface< TypeTag >::init |
( |
const std::vector< Scalar > & |
depth_arg, |
|
|
const Scalar |
gravity_arg, |
|
|
const std::vector< Scalar > & |
B_avg, |
|
|
const bool |
changed_to_open_this_step |
|
) |
| |
|
virtual |
◆ initCompletions()
◆ initializeGliftWellTest_()
template<typename TypeTag >
◆ initializeProducerWellState()
template<typename TypeTag >
Modify the well_state's rates if there is only one nonzero rate. If so, that rate is kept as is, but the others are set proportionally to the rates at bhp limit or bhp 1 bar.
References Opm::WellState< Scalar, IndexTraits >::well().
◆ initialWellRateFractions()
template<typename TypeTag >
◆ initInjMult()
| void Opm::WellInterfaceGeneric< FluidSystem::Scalar , FluidSystem::IndexTraitsType >::initInjMult |
( |
const std::vector< FluidSystem::Scalar > & |
max_inj_mult | ) |
|
|
inherited |
◆ isInjector()
True if the well is an injector.
◆ isOperableAndSolvable()
◆ isPressureControlled()
◆ isProducer()
True if the well is a producer.
◆ isVFPActive()
◆ iterateWellEquations()
template<typename TypeTag >
◆ iterateWellEqWithControl()
template<typename TypeTag >
◆ iterateWellEqWithSwitching()
template<typename TypeTag >
| virtual bool Opm::WellInterface< TypeTag >::iterateWellEqWithSwitching |
( |
const Simulator & |
simulator, |
|
|
const double |
dt, |
|
|
const WellInjectionControls & |
inj_controls, |
|
|
const WellProductionControls & |
prod_controls, |
|
|
const GroupStateHelperType & |
groupStateHelper, |
|
|
WellStateType & |
well_state, |
|
|
const bool |
fixed_control, |
|
|
const bool |
fixed_status, |
|
|
const bool |
solving_with_zero_rate |
|
) |
| |
|
pure virtual |
◆ maxPerfPress()
template<typename TypeTag >
◆ name()
◆ numConservationQuantities()
◆ numLocalPerfs()
◆ numPhases()
◆ onlyKeepBHPandTHPcontrols()
| void Opm::WellInterfaceGeneric< FluidSystem::Scalar , FluidSystem::IndexTraitsType >::onlyKeepBHPandTHPcontrols |
( |
const SummaryState & |
summary_state, |
|
|
WellStateType & |
well_state, |
|
|
Well::InjectionControls & |
inj_controls, |
|
|
Well::ProductionControls & |
prod_controls |
|
) |
| const |
|
protectedinherited |
◆ openWell()
◆ parallelWellInfo()
◆ perfDepth() [1/2]
| std::vector< FluidSystem::Scalar > & Opm::WellInterfaceGeneric< FluidSystem::Scalar , FluidSystem::IndexTraitsType >::perfDepth |
( |
| ) |
|
|
inlineinherited |
◆ perfDepth() [2/2]
| const std::vector< FluidSystem::Scalar > & Opm::WellInterfaceGeneric< FluidSystem::Scalar , FluidSystem::IndexTraitsType >::perfDepth |
( |
| ) |
const |
|
inlineinherited |
◆ perforationData()
Get the perforations of the well.
◆ phaseUsage()
◆ polymerInjTable_()
◆ polymerTable_()
◆ polymerWaterTable_()
◆ potentialCalculationScope()
| PotentialCalculationScope Opm::WellInterfaceGeneric< FluidSystem::Scalar , FluidSystem::IndexTraitsType >::potentialCalculationScope |
( |
| ) |
const |
|
inlineprotectedinherited |
◆ prepareWellBeforeAssembling()
template<typename TypeTag >
◆ productionControlsWithWeldraw()
| Well::ProductionControls Opm::WellInterfaceGeneric< FluidSystem::Scalar , FluidSystem::IndexTraitsType >::productionControlsWithWeldraw |
( |
const SummaryState & |
summary_state, |
|
|
const SingleWellState< FluidSystem::Scalar , FluidSystem::IndexTraitsType > & |
ws |
|
) |
| const |
|
inherited |
The well's production controls with the WELDRAW-derived rate limit (stored in ws.weldraw_max_rate) applied. Constraint checking and target computations should obtain controls through this method so the drawdown limit cannot be missed; potential calculations use the unadjusted Well::productionControls() (WELDRAW item 4 is NO).
◆ pvtRegionIdx()
◆ rateConverter()
◆ recoverWellSolutionAndUpdateWellState()
template<typename TypeTag >
◆ refDepth()
◆ reportWellSwitching()
◆ resetDampening()
◆ resetSolveStats()
◆ resetWellOperability()
◆ restrictEval()
◆ rsRvInj()
◆ scaleSegmentRatesAndPressure()
template<typename TypeTag >
◆ scalingFactor()
◆ setDynamicThpLimit() [1/2]
| void Opm::WellInterfaceGeneric< FluidSystem::Scalar , FluidSystem::IndexTraitsType >::setDynamicThpLimit |
( |
const FluidSystem::Scalar |
thp_limit | ) |
|
|
inherited |
◆ setDynamicThpLimit() [2/2]
| void Opm::WellInterfaceGeneric< FluidSystem::Scalar , FluidSystem::IndexTraitsType >::setDynamicThpLimit |
( |
const std::optional< FluidSystem::Scalar > |
thp_limit | ) |
|
|
inherited |
◆ setGuideRate()
| void Opm::WellInterfaceGeneric< FluidSystem::Scalar , FluidSystem::IndexTraitsType >::setGuideRate |
( |
const GuideRate * |
guide_rate_arg | ) |
|
|
inherited |
◆ setPrevSurfaceRates()
◆ setPrimaryVars()
| virtual int Opm::WellInterfaceGeneric< FluidSystem::Scalar , FluidSystem::IndexTraitsType >::setPrimaryVars |
( |
typename std::vector< FluidSystem::Scalar >::const_iterator |
| ) |
|
|
inlinevirtualinherited |
◆ setRepRadiusPerfLength()
◆ setVFPProperties()
| void Opm::WellInterfaceGeneric< FluidSystem::Scalar , FluidSystem::IndexTraitsType >::setVFPProperties |
( |
const VFPProperties< FluidSystem::Scalar , FluidSystem::IndexTraitsType > * |
vfp_properties_arg | ) |
|
|
inherited |
◆ setWellEfficiencyFactor()
| void Opm::WellInterfaceGeneric< FluidSystem::Scalar , FluidSystem::IndexTraitsType >::setWellEfficiencyFactor |
( |
const FluidSystem::Scalar |
efficiency_factor | ) |
|
|
inherited |
◆ setWsolvent()
| void Opm::WellInterfaceGeneric< FluidSystem::Scalar , FluidSystem::IndexTraitsType >::setWsolvent |
( |
const FluidSystem::Scalar |
wsolvent | ) |
|
|
inherited |
◆ solveAssembleTimer()
◆ solveEqAndUpdateWellState()
template<typename TypeTag >
◆ solveLinearSolveTimer()
| SolvePartTimer Opm::WellInterfaceGeneric< FluidSystem::Scalar , FluidSystem::IndexTraitsType >::solveLinearSolveTimer |
( |
| ) |
const |
|
inlineprotectedinherited |
◆ solveScope()
| WellSolveScope Opm::WellInterfaceGeneric< FluidSystem::Scalar , FluidSystem::IndexTraitsType >::solveScope |
( |
const int & |
iterations | ) |
const |
|
inlineprotectedinherited |
◆ solveStats()
◆ solveWellEquation()
template<typename TypeTag >
◆ solveWellForTesting()
template<typename TypeTag >
◆ solveWellWithBhp()
template<typename TypeTag >
◆ solveWellWithOperabilityCheck()
template<typename TypeTag >
◆ solveWellWithZeroRate()
template<typename TypeTag >
◆ stoppedOrZeroRateTarget()
template<typename TypeTag >
◆ stopWell()
◆ thpLimitViolatedButNotSwitched()
| bool Opm::WellInterfaceGeneric< FluidSystem::Scalar , FluidSystem::IndexTraitsType >::thpLimitViolatedButNotSwitched |
( |
| ) |
const |
|
inherited |
◆ totalReservoirVoidageRate()
◆ underPredictionMode()
Returns true if the well is currently in prediction mode (i.e. not history mode).
◆ updateConnectionDFactor()
template<typename TypeTag >
◆ updateConnectionTransmissibilityFactor()
template<typename TypeTag >
◆ updateFilterCakeMultipliers()
| void Opm::WellInterfaceGeneric< FluidSystem::Scalar , FluidSystem::IndexTraitsType >::updateFilterCakeMultipliers |
( |
const std::vector< FluidSystem::Scalar > & |
inj_fc_multiplier | ) |
|
|
inlineinherited |
Update filter cake multipliers.
◆ updateGroupTargetFallbackFlag() [1/2]
| void Opm::WellInterfaceGeneric< FluidSystem::Scalar , FluidSystem::IndexTraitsType >::updateGroupTargetFallbackFlag |
( |
WellState< FluidSystem::Scalar , FluidSystem::IndexTraitsType > & |
well_state, |
|
|
const std::vector< FluidSystem::Scalar > & |
scaled_well_fractions, |
|
|
DeferredLogger & |
deferred_logger |
|
) |
| const |
|
protectedinherited |
◆ updateGroupTargetFallbackFlag() [2/2]
template<typename TypeTag >
◆ updateInjMult()
| void Opm::WellInterfaceGeneric< FluidSystem::Scalar , FluidSystem::IndexTraitsType >::updateInjMult |
( |
std::vector< FluidSystem::Scalar > & |
inj_multipliers, |
|
|
DeferredLogger & |
deferred_logger |
|
) |
| const |
|
inherited |
◆ updateIPR()
template<typename TypeTag >
◆ updateIPRImplicit()
template<typename TypeTag >
◆ updatePerforatedCell()
| void Opm::WellInterfaceGeneric< FluidSystem::Scalar , FluidSystem::IndexTraitsType >::updatePerforatedCell |
( |
std::vector< bool > & |
is_cell_perforated | ) |
|
|
inherited |
◆ updatePrimaryVariables()
template<typename TypeTag >
◆ updateProductivityIndex()
template<typename TypeTag >
◆ updateWaterThroughput()
template<typename TypeTag >
◆ updateWeldrawMaxRate()
template<typename TypeTag >
Convert the well's WELDRAW maximum drawdown into a maximum production rate for the target phase, Qmax = Dmax * sum_j (Tw_j * M_j), and store it in the well state. Should only be called during the first NUPCOL iterations of a timestep; afterwards the stored value is kept frozen (like the rate targets of wells under group control).
References Opm::DeferredLogger::warning(), and Opm::WellState< Scalar, IndexTraits >::well().
◆ updateWellControl()
template<typename TypeTag >
◆ updateWellControlAndStatusLocalIteration()
template<typename TypeTag >
| bool Opm::WellInterface< TypeTag >::updateWellControlAndStatusLocalIteration |
( |
const Simulator & |
simulator, |
|
|
const GroupStateHelperType & |
groupStateHelper, |
|
|
const Well::InjectionControls & |
inj_controls, |
|
|
const Well::ProductionControls & |
prod_controls, |
|
|
const Scalar |
WQTotal, |
|
|
WellStateType & |
well_state, |
|
|
const bool |
fixed_control, |
|
|
const bool |
fixed_status, |
|
|
const bool |
solving_with_zero_rate |
|
) |
| |
◆ updateWellOperability()
template<typename TypeTag >
◆ updateWellOperabilityFromWellEq()
template<typename TypeTag >
◆ updateWellStateWithTarget()
template<typename TypeTag >
◆ updateWellStateWithTHPTargetProd()
template<typename TypeTag >
◆ updateWellTestState()
| void Opm::WellInterfaceGeneric< FluidSystem::Scalar , FluidSystem::IndexTraitsType >::updateWellTestState |
( |
const SingleWellState< FluidSystem::Scalar , FluidSystem::IndexTraitsType > & |
ws, |
|
|
const double & |
simulationTime, |
|
|
const bool & |
writeMessageToOPMLog, |
|
|
const bool |
during_well_test, |
|
|
const bool |
zero_group_target, |
|
|
WellTestState & |
wellTestState, |
|
|
const UnitSystem & |
unit_system, |
|
|
const std::time_t |
start_time, |
|
|
DeferredLogger & |
deferred_logger, |
|
|
std::string * |
closure_reason = nullptr |
|
) |
| const |
|
inherited |
- Parameters
-
| ws | Well state |
| simulationTime | Simulation time |
| writeMessageToOPMLog | True to write message to the OPM log |
| during_well_test | true when called from WTEST re-open testing, which re-solves the well after every completion closure; false for the regular timestep update. See WellTest::updateWellTestStateEconomic(). |
| zero_group_target | True if the group has no target |
| wellTestState | Well test state |
| unit_system | Unit system to use |
| start_time | Starting time |
| deferred_logger | Deferred logging helper |
| closure_reason | when non-null, receives the reason a limit closed the well instead of it being logged here. Used by the WTEST re-open testing, where no shut-in actually happens. |
◆ useVfpExplicit()
◆ vfpProperties()
◆ volumetricSurfaceRateForConnection()
template<typename TypeTag >
◆ wellEcl() [1/2]
◆ wellEcl() [2/2]
◆ wellEfficiencyFactor()
| FluidSystem::Scalar Opm::WellInterfaceGeneric< FluidSystem::Scalar , FluidSystem::IndexTraitsType >::wellEfficiencyFactor |
( |
| ) |
const |
|
inlineinherited |
◆ wellHasTHPConstraints()
| bool Opm::WellInterfaceGeneric< FluidSystem::Scalar , FluidSystem::IndexTraitsType >::wellHasTHPConstraints |
( |
const SummaryState & |
summaryState | ) |
const |
|
inherited |
Returns true if the well has one or more THP limits/constraints.
◆ wellIndex() [1/2]
| std::vector< FluidSystem::Scalar > & Opm::WellInterfaceGeneric< FluidSystem::Scalar , FluidSystem::IndexTraitsType >::wellIndex |
( |
| ) |
|
|
inlineinherited |
Mutable per-perforation well indices (connection transmissibility factors). Adjoint hook: the dJ/dperm well-coupling gradient perturbs the CTF here and re-linearizes. Not used in the forward path.
◆ wellIndex() [2/2]
| const std::vector< FluidSystem::Scalar > & Opm::WellInterfaceGeneric< FluidSystem::Scalar , FluidSystem::IndexTraitsType >::wellIndex |
( |
| ) |
const |
|
inlineinherited |
◆ wellIndexFracture()
◆ wellIsStopped()
◆ wellStatus()
◆ wellTesting()
template<typename TypeTag >
References Opm::GroupStateHelper< Scalar, IndexTraits >::deferredLogger(), Opm::economicLimitDateString(), Opm::economicLimitMessageSeparator(), Opm::GroupStateHelper< Scalar, IndexTraits >::groupState(), Opm::WellState< Scalar, IndexTraits >::numPhases(), Opm::GroupStateHelper< Scalar, IndexTraits >::pushWellState(), and Opm::WellState< Scalar, IndexTraits >::well().
◆ wellUnderGroupControl()
◆ wellUnderZeroGroupRateTarget()
template<typename TypeTag >
◆ wellUnderZeroRateTarget()
template<typename TypeTag >
◆ wellUnderZeroRateTargetIndividual()
| bool Opm::WellInterfaceGeneric< FluidSystem::Scalar , FluidSystem::IndexTraitsType >::wellUnderZeroRateTargetIndividual |
( |
const SummaryState & |
summary_state, |
|
|
const WellState< FluidSystem::Scalar , FluidSystem::IndexTraitsType > & |
well_state |
|
) |
| const |
|
protectedinherited |
◆ wfoam()
template<typename TypeTag >
◆ wfoam_()
◆ wmicrobes()
template<typename TypeTag >
◆ wmicrobes_()
◆ woxygen()
template<typename TypeTag >
◆ woxygen_()
◆ wpolymer()
template<typename TypeTag >
◆ wpolymer_()
◆ wsalt()
template<typename TypeTag >
◆ wsalt_()
◆ wsolvent()
◆ wurea()
template<typename TypeTag >
◆ wurea_()
◆ zeroGroupRateTarget()
◆ B_avg_
template<typename TypeTag >
◆ bore_diameters_
| std::vector<FluidSystem::Scalar > Opm::WellInterfaceGeneric< FluidSystem::Scalar , FluidSystem::IndexTraitsType >::bore_diameters_ |
|
protectedinherited |
◆ changed_to_open_this_step_
◆ changed_to_stopped_this_step_
template<typename TypeTag >
◆ completions_
| std::map<int, std::vector<int> > Opm::WellInterfaceGeneric< FluidSystem::Scalar , FluidSystem::IndexTraitsType >::completions_ |
|
protectedinherited |
◆ computing_well_potentials_
|
|
mutableprotectedinherited |
◆ connectionRates_
template<typename TypeTag >
◆ current_step_
◆ dynamic_thp_limit_
| std::optional<FluidSystem::Scalar > Opm::WellInterfaceGeneric< FluidSystem::Scalar , FluidSystem::IndexTraitsType >::dynamic_thp_limit_ |
|
protectedinherited |
◆ energyModuleType
template<typename TypeTag >
◆ Gas
◆ gravity_
◆ guide_rate_
◆ has_bioeffects
template<typename TypeTag >
◆ has_brine
template<typename TypeTag >
◆ has_disgas_in_water
template<typename TypeTag >
◆ has_energy
template<typename TypeTag >
◆ has_foam
template<typename TypeTag >
◆ has_micp
template<typename TypeTag >
◆ has_polymer
template<typename TypeTag >
◆ has_polymermw
template<typename TypeTag >
◆ has_saltPrecip
template<typename TypeTag >
◆ has_solvent
template<typename TypeTag >
◆ has_watVapor
template<typename TypeTag >
◆ has_zFraction
template<typename TypeTag >
◆ in_well_solve_
|
|
mutableprotectedinherited |
◆ index_of_well_
◆ inj_fc_multiplier_
| std::vector<FluidSystem::Scalar > Opm::WellInterfaceGeneric< FluidSystem::Scalar , FluidSystem::IndexTraitsType >::inj_fc_multiplier_ |
|
protectedinherited |
◆ inj_multiplier_
| std::vector<FluidSystem::Scalar > Opm::WellInterfaceGeneric< FluidSystem::Scalar , FluidSystem::IndexTraitsType >::inj_multiplier_ |
|
mutableprotectedinherited |
◆ inj_multiplier_damp_factor_
| std::vector<FluidSystem::Scalar > Opm::WellInterfaceGeneric< FluidSystem::Scalar , FluidSystem::IndexTraitsType >::inj_multiplier_damp_factor_ |
|
mutableprotectedinherited |
◆ inj_multiplier_previter_
| std::vector<FluidSystem::Scalar > Opm::WellInterfaceGeneric< FluidSystem::Scalar , FluidSystem::IndexTraitsType >::inj_multiplier_previter_ |
|
mutableprotectedinherited |
◆ INVALIDCOMPLETION
|
|
staticconstexprprotectedinherited |
◆ ipr_a_
|
|
mutableprotectedinherited |
◆ ipr_b_
|
|
mutableprotectedinherited |
◆ num_conservation_quantities_
◆ number_of_local_perforations_
◆ number_of_phases_
◆ number_of_well_reopenings_
template<typename TypeTag >
◆ numResDofs
template<typename TypeTag >
◆ numWellDofs
template<typename TypeTag >
◆ Oil
◆ operability_status_
◆ parallel_well_info_
◆ param_
◆ perf_data_
◆ perf_depth_
| std::vector<FluidSystem::Scalar > Opm::WellInterfaceGeneric< FluidSystem::Scalar , FluidSystem::IndexTraitsType >::perf_depth_ |
|
protectedinherited |
◆ perf_length_
| std::vector<FluidSystem::Scalar > Opm::WellInterfaceGeneric< FluidSystem::Scalar , FluidSystem::IndexTraitsType >::perf_length_ |
|
protectedinherited |
◆ perf_rep_radius_
| std::vector<FluidSystem::Scalar > Opm::WellInterfaceGeneric< FluidSystem::Scalar , FluidSystem::IndexTraitsType >::perf_rep_radius_ |
|
protectedinherited |
◆ phase_usage_
◆ prev_inj_multiplier_
| std::vector<FluidSystem::Scalar > Opm::WellInterfaceGeneric< FluidSystem::Scalar , FluidSystem::IndexTraitsType >::prev_inj_multiplier_ |
|
protectedinherited |
◆ pvtRegionIdx_
◆ rateConverter_
◆ ref_depth_
◆ saturation_table_number_
◆ solve_stats_
| std::shared_ptr<WellSolveStats> Opm::WellInterfaceGeneric< FluidSystem::Scalar , FluidSystem::IndexTraitsType >::solve_stats_ |
|
protectedinherited |
◆ thp_update_iterations
template<typename TypeTag >
◆ vfp_properties_
◆ Water
◆ well_cells_
◆ well_control_log_
◆ well_ecl_
◆ well_efficiency_factor_
◆ well_index_
| std::vector<FluidSystem::Scalar > Opm::WellInterfaceGeneric< FluidSystem::Scalar , FluidSystem::IndexTraitsType >::well_index_ |
|
protectedinherited |
◆ well_index_fracture_
◆ wellStatus_
◆ wsolvent_
The documentation for this class was generated from the following files:
|