#include <MultisegmentWell.hpp>

Inheritance diagram for Opm::MultisegmentWell< TypeTag >:
Inheritance graph

Public Types

using Base = WellInterface< TypeTag >
 
using MSWEval = MultisegmentWellEval< GetPropType< TypeTag, Properties::FluidSystem >, GetPropType< TypeTag, Properties::Indices > >
 
using Simulator = GetPropType< TypeTag, Properties::Simulator >
 
using IntensiveQuantities = GetPropType< TypeTag, Properties::IntensiveQuantities >
 
using FluidSystem = GetPropType< TypeTag, Properties::FluidSystem >
 
using ModelParameters = BlackoilModelParameters< Scalar >
 
using MaterialLaw = GetPropType< TypeTag, Properties::MaterialLaw >
 
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 Scalar = GetPropType< TypeTag, Properties::Scalar >
 
using BVector = Dune::BlockVector< VectorBlockType >
 
using Eval = typename Base::Eval
 
using PressureMatrix = Dune::BCRSMatrix< Opm::MatrixBlock< Scalar, 1, 1 > >
 
enum class  IndividualOrGroup { Individual , Group , Both }
 
using Grid = GetPropType< TypeTag, Properties::Grid >
 
using RateVector = GetPropType< TypeTag, Properties::RateVector >
 
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< Scalar >::GLiftSyncGroups
 
using VectorBlockType = Dune::FieldVector< Scalar, Indices::numEq >
 
using MatrixBlockType = Dune::FieldMatrix< Scalar, Indices::numEq, Indices::numEq >
 

Public Member Functions

 MultisegmentWell (const Well &well, const ParallelWellInfo< Scalar > &pw_info, const int time_step, const ModelParameters &param, const RateConverterType &rate_converter, const int pvtRegionIdx, const int num_components, const int num_phases, const int index_of_well, const std::vector< PerforationData< Scalar > > &perf_data)
 
void init (const PhaseUsage *phase_usage_arg, const std::vector< Scalar > &depth_arg, const Scalar gravity_arg, const int num_cells, const std::vector< Scalar > &B_avg, const bool changed_to_open_this_step) override
 
void initPrimaryVariablesEvaluation () override
 
void updateWellStateWithTarget (const Simulator &simulator, const GroupState< Scalar > &group_state, WellState< Scalar > &well_state, DeferredLogger &deferred_logger) const override
 updating the well state based the current control mode More...
 
ConvergenceReport getWellConvergence (const Simulator &simulator, const WellState< Scalar > &well_state, const std::vector< Scalar > &B_avg, DeferredLogger &deferred_logger, const bool relax_tolerance) const override
 check whether the well equations get converged for this well More...
 
void apply (const BVector &x, BVector &Ax) const override
 Ax = Ax - C D^-1 B x. More...
 
void apply (BVector &r) const override
 r = r - C D^-1 Rw More...
 
void recoverWellSolutionAndUpdateWellState (const Simulator &simulator, const BVector &x, WellState< Scalar > &well_state, DeferredLogger &deferred_logger) override
 
void computeWellPotentials (const Simulator &simulator, const WellState< Scalar > &well_state, std::vector< Scalar > &well_potentials, DeferredLogger &deferred_logger) override
 computing the well potentials for group control More...
 
void updatePrimaryVariables (const Simulator &simulator, const WellState< Scalar > &well_state, DeferredLogger &deferred_logger) override
 
void solveEqAndUpdateWellState (const Simulator &simulator, WellState< Scalar > &well_state, DeferredLogger &deferred_logger) override
 
void calculateExplicitQuantities (const Simulator &simulator, const WellState< Scalar > &well_state, DeferredLogger &deferred_logger) override
 
void updateIPRImplicit (const Simulator &simulator, WellState< Scalar > &well_state, DeferredLogger &deferred_logger) override
 
void updateProductivityIndex (const Simulator &simulator, const WellProdIndexCalculator< Scalar > &wellPICalc, WellState< Scalar > &well_state, DeferredLogger &deferred_logger) const override
 
Scalar connectionDensity (const int globalConnIdx, const int openConnIdx) const override
 
void addWellContributions (SparseMatrixAdapter &jacobian) const override
 
void addWellPressureEquations (PressureMatrix &mat, const BVector &x, const int pressureVarIndex, const bool use_well_weights, const WellState< Scalar > &well_state) const override
 
std::vector< ScalarcomputeCurrentWellRates (const Simulator &simulator, DeferredLogger &deferred_logger) const override
 
std::optional< ScalarcomputeBhpAtThpLimitProdWithAlq (const Simulator &simulator, const SummaryState &summary_state, const Scalar alq_value, DeferredLogger &deferred_logger) const override
 
std::vector< ScalargetPrimaryVars () const override
 
int setPrimaryVars (typename std::vector< Scalar >::const_iterator it) override
 
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)
 
bool wellUnderZeroRateTarget (const Simulator &simulator, const WellState< Scalar > &well_state, DeferredLogger &deferred_logger) const
 
bool wellUnderZeroGroupRateTarget (const Simulator &simulator, const WellState< Scalar > &well_state, DeferredLogger &deferred_logger, std::optional< bool > group_control=std::nullopt) const
 
bool stoppedOrZeroRateTarget (const Simulator &simulator, const WellState< Scalar > &well_state, DeferredLogger &deferred_logger) const
 
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 Scalar WQTotal, DeferredLogger &deferred_logger, const bool fixed_control=false, const bool fixed_status=false)
 
virtual bool jacobianContainsWellContributions () const
 Wether the Jacobian will also have well contributions in it. More...
 
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 &ebos_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)
 
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< ScalarwellIndex (const int perf, const IntensiveQuantities &intQuants, const Scalar trans_mult, const SingleWellState< Scalar > &ws) const
 
const std::vector< FluidSystem::Scalar > & wellIndex () const
 
void updateConnectionDFactor (const Simulator &simulator, SingleWellState< Scalar > &ws) const
 
void updateConnectionTransmissibilityFactor (const Simulator &simulator, SingleWellState< Scalar > &ws) const
 
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
 
int flowPhaseToModelCompIdx (const int phaseIdx) const
 
int modelCompIdxToFlowCompIdx (const unsigned compIdx) const
 
Scalar scalingFactor (const int phaseIdx) const
 
Eval restrictEval (const EvalWell &in) const
 
int flowPhaseToModelPhaseIdx (const int phaseIdx) const
 
const RateConverterTyperateConverter () const
 
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 PhaseUsagephaseUsage () 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 > *vfp_properties_arg)
 
void setPrevSurfaceRates (WellState< FluidSystem::Scalar > &well_state, const WellState< FluidSystem::Scalar > &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 ()
 
bool wellIsStopped () const
 
int currentStep () const
 
int pvtRegionIdx () const
 
const GuideRate * guideRate () const
 
int numComponents () const
 
int numPhases () const
 
int numPerfs () const
 
FluidSystem::Scalar refDepth () const
 
FluidSystem::Scalar gravity () const
 
const VFPProperties< FluidSystem::Scalar > * vfpProperties () const
 
const ParallelWellInfo< FluidSystem::Scalar > & parallelWellInfo () const
 
const std::vector< FluidSystem::Scalar > & perfDepth () const
 
std::vector< FluidSystem::Scalar > & perfDepth ()
 
const std::map< int, std::vector< int > > & getCompletions () const
 
FluidSystem::Scalar getTHPConstraint (const SummaryState &summaryState) const
 
FluidSystem::Scalar getALQ (const WellState< FluidSystem::Scalar > &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 perf, const FluidSystem::Scalar bhp, const FluidSystem::Scalar perf_pres) const
 
bool isVFPActive (DeferredLogger &deferred_logger) const
 
void reportWellSwitching (const SingleWellState< FluidSystem::Scalar > &ws, DeferredLogger &deferred_logger) const
 
bool changedToOpenThisStep () const
 
void updateWellTestState (const SingleWellState< FluidSystem::Scalar > &ws, const double &simulationTime, const bool &writeMessageToOPMLog, const bool zero_group_target, WellTestState &wellTestState, DeferredLogger &deferred_logger) const
 
bool isPressureControlled (const WellState< FluidSystem::Scalar > &well_state) const
 
FluidSystem::Scalar wellEfficiencyFactor () const
 
void updateFilterCakeMultipliers (const std::vector< FluidSystem::Scalar > &inj_fc_multiplier)
 Update filter cake multipliers. More...
 
void resetWellOperability ()
 
const EquationslinSys () const
 Returns a const reference to equation system. More...
 
const WellSegments & segmentSet () const
 
int segmentNumberToIndex (const int segment_number) const
 
int numberOfSegments () const
 number of segments for this well More...
 

Static Public Attributes

static constexpr bool has_solvent
 
static constexpr bool has_polymer
 
static constexpr bool has_zFraction = getPropValue<TypeTag, Properties::EnableExtbo>()
 
static constexpr bool has_energy = getPropValue<TypeTag, Properties::EnableEnergy>()
 
static const bool has_temperature = getPropValue<TypeTag, Properties::EnableTemperature>()
 
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_micp = getPropValue<TypeTag, Properties::EnableMICP>()
 
static constexpr int Water
 
static constexpr int Oil
 
static constexpr int Gas
 

Protected Types

using PrimaryVariables = MultisegmentWellPrimaryVariables< GetPropType< TypeTag, Properties::FluidSystem >, GetPropType< TypeTag, Properties::Indices > >
 
using Equations = MultisegmentWellEquations< Scalar, numWellEq, Indices::numEq >
 
using MSWSegments = MultisegmentWellSegments< GetPropType< TypeTag, Properties::FluidSystem >, GetPropType< TypeTag, Properties::Indices > >
 
using BVectorWell = typename Equations::BVectorWell
 
using EvalWell = typename PrimaryVariables::EvalWell
 

Protected Member Functions

void updateWellState (const Simulator &simulator, const BVectorWell &dwells, WellState< Scalar > &well_state, DeferredLogger &deferred_logger, const Scalar relaxation_factor=1.0)
 
void computeInitialSegmentFluids (const Simulator &simulator)
 
void computePerfCellPressDiffs (const Simulator &simulator)
 
template<class Value >
void computePerfRate (const IntensiveQuantities &int_quants, const std::vector< Value > &mob_perfcells, const std::vector< Scalar > &Tw, const int seg, const int perf, const Value &segment_pressure, const bool &allow_cf, std::vector< Value > &cq_s, Value &perf_press, PerforationRates< Scalar > &perf_rates, DeferredLogger &deferred_logger) const
 
template<class Value >
void computePerfRate (const Value &pressure_cell, const Value &rs, const Value &rv, const std::vector< Value > &b_perfcells, const std::vector< Value > &mob_perfcells, const std::vector< Scalar > &Tw, const int perf, const Value &segment_pressure, const Value &segment_density, const bool &allow_cf, const std::vector< Value > &cmix_s, std::vector< Value > &cq_s, Value &perf_press, PerforationRates< Scalar > &perf_rates, DeferredLogger &deferred_logger) const
 
void computeSegmentFluidProperties (const Simulator &simulator, DeferredLogger &deferred_logger)
 
template<class Value >
void getMobility (const Simulator &simulator, const int perf, std::vector< Value > &mob, DeferredLogger &deferred_logger) const
 
void computeWellRatesAtBhpLimit (const Simulator &simulator, std::vector< Scalar > &well_flux, DeferredLogger &deferred_logger) const
 
void computeWellRatesWithBhp (const Simulator &simulator, const Scalar &bhp, std::vector< Scalar > &well_flux, DeferredLogger &deferred_logger) const override
 
void computeWellRatesWithBhpIterations (const Simulator &simulator, const Scalar &bhp, std::vector< Scalar > &well_flux, DeferredLogger &deferred_logger) const override
 
std::vector< ScalarcomputeWellPotentialWithTHP (const WellState< Scalar > &well_state, const Simulator &simulator, DeferredLogger &deferred_logger) const
 
bool computeWellPotentialsImplicit (const Simulator &simulator, std::vector< Scalar > &well_potentials, DeferredLogger &deferred_logger) const
 
Scalar getRefDensity () 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
 
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 updateWaterThroughput (const double dt, WellState< Scalar > &well_state) const override
 
EvalWell getSegmentSurfaceVolume (const Simulator &simulator, const int seg_idx) const
 
bool openCrossFlowAvoidSingularity (const Simulator &simulator) const
 
bool allDrawDownWrongDirection (const Simulator &simulator) const
 
std::optional< ScalarcomputeBhpAtThpLimitProd (const WellState< Scalar > &well_state, const Simulator &ebos_simulator, const SummaryState &summary_state, DeferredLogger &deferred_logger) const
 
std::optional< ScalarcomputeBhpAtThpLimitInj (const Simulator &ebos_simulator, const SummaryState &summary_state, DeferredLogger &deferred_logger) const
 
Scalar maxPerfPress (const Simulator &simulator) const
 
void checkOperabilityUnderBHPLimit (const WellState< Scalar > &well_state, const Simulator &ebos_simulator, DeferredLogger &deferred_logger) override
 
void checkOperabilityUnderTHPLimit (const Simulator &ebos_simulator, const WellState< Scalar > &well_state, DeferredLogger &deferred_logger) override
 
void updateIPR (const Simulator &ebos_simulator, DeferredLogger &deferred_logger) const override
 
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< FluidSystem::Scalar > &well_potentials, const WellState< FluidSystem::Scalar > &well_state)
 
Scalar wpolymer () const
 
Scalar wfoam () const
 
Scalar wsalt () const
 
Scalar wmicrobes () const
 
Scalar woxygen () const
 
Scalar wurea () const
 
const std::vector< Scalar > & compFrac () const
 
std::vector< ScalarinitialWellRateFractions (const Simulator &ebosSimulator, const WellState< Scalar > &well_state) const
 
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
 
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< ScalarestimateOperableBhp (const Simulator &ebos_simulator, const double dt, WellState< Scalar > &well_state, const SummaryState &summary_state, DeferredLogger &deferred_logger)
 
bool solveWellWithBhp (const Simulator &simulator, const double dt, const Scalar 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< 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 SingleWellState< Scalar > &ws) const
 
void calculateReservoirRates (const bool co2store, SingleWellState< Scalar > &ws) const
 
bool checkIndividualConstraints (SingleWellState< Scalar > &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< Scalar > &well_state, const GroupState< Scalar > &group_state, const Schedule &schedule, const SummaryState &summaryState, DeferredLogger &deferred_logger) const
 
bool checkConstraints (WellState< Scalar > &well_state, const GroupState< Scalar > &group_state, const Schedule &schedule, const SummaryState &summaryState, DeferredLogger &deferred_logger) const
 
std::optional< ScalargetGroupInjectionTargetRate (const Group &group, const WellState< Scalar > &well_state, const GroupState< Scalar > &group_state, const Schedule &schedule, const SummaryState &summaryState, const InjectorType &injectorType, Scalar efficiencyFactor, DeferredLogger &deferred_logger) const
 
Scalar getGroupProductionTargetRate (const Group &group, const WellState< Scalar > &well_state, const GroupState< Scalar > &group_state, const Schedule &schedule, const SummaryState &summaryState, Scalar efficiencyFactor, DeferredLogger &deferred_logger) const
 
bool zeroGroupRateTarget (const SummaryState &summary_state, const Schedule &schedule, const WellState< Scalar > &well_state, const GroupState< Scalar > &group_state, DeferredLogger &deferredLogger) 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 > &well_state) const
 
bool wellUnderGroupControl (const SingleWellState< FluidSystem::Scalar > &ws) const
 
void checkNegativeWellPotentials (std::vector< FluidSystem::Scalar > &well_potentials, const bool checkOperability, DeferredLogger &deferred_logger)
 
void prepareForPotentialCalculations (const SummaryState &summary_state, WellState< FluidSystem::Scalar > &well_state, Well::InjectionControls &inj_controls, Well::ProductionControls &prod_controls) const
 
void initMatrixAndVectors (const int num_cells)
 
void assembleDefaultPressureEq (const int seg, WellState< Scalar > &well_state, const bool use_average_density)
 
void assembleICDPressureEq (const int seg, const UnitSystem &unit_system, WellState< Scalar > &well_state, const SummaryState &summary_state, const bool use_average_density, DeferredLogger &deferred_logger)
 
void assembleAccelerationAndHydroPressureLosses (const int seg, WellState< Scalar > &well_state, const bool use_average_density)
 
void assemblePressureEq (const int seg, const UnitSystem &unit_system, WellState< Scalar > &well_state, const SummaryState &summary_state, const bool use_average_density, DeferredLogger &deferred_logger)
 
ConvergenceReport getWellConvergence (const WellState< Scalar > &well_state, const std::vector< Scalar > &B_avg, DeferredLogger &deferred_logger, const Scalar max_residual_allowed, const Scalar tolerance_wells, const Scalar relaxed_inner_tolerance_flow_ms_well, const Scalar tolerance_pressure_ms_wells, const Scalar relaxed_inner_tolerance_pressure_ms_well, const bool relax_tolerance, const bool well_is_stopped) const
 check whether the well equations get converged for this well More...
 
std::pair< bool, std::vector< Scalar > > getFiniteWellResiduals (const std::vector< Scalar > &B_avg, DeferredLogger &deferred_logger) const
 
Scalar getControlTolerance (const WellState< Scalar > &well_state, const Scalar tolerance_wells, const Scalar tolerance_pressure_ms_wells, DeferredLogger &deferred_logger) const
 
Scalar getResidualMeasureValue (const WellState< Scalar > &well_state, const std::vector< Scalar > &residuals, const Scalar tolerance_wells, const Scalar tolerance_pressure_ms_wells, DeferredLogger &deferred_logger) const
 
void assembleAccelerationPressureLoss (const int seg, WellState< Scalar > &well_state)
 
EvalWell pressureDropAutoICD (const int seg, const UnitSystem &unit_system) const
 
EvalWell extendEval (const Eval &in) const
 
void scaleSegmentRatesWithWellRates (const std::vector< std::vector< int > > &segment_inlets, const std::vector< std::vector< int > > &segment_perforations, WellState< FluidSystem::Scalar > &well_state) const
 
void scaleSegmentPressuresWithBhp (WellState< FluidSystem::Scalar > &well_state) const
 
WellSegmentCompPressureDrop compPressureDrop () const
 
void detectOscillations (const std::vector< FluidSystem::Scalar > &measure_history, bool &oscillate, bool &stagnate) const
 Detect oscillation or stagnation based on the residual measure history. More...
 
bool accelerationalPressureLossConsidered () const
 
bool frictionalPressureLossConsidered () const
 
FluidSystem::Scalar getSegmentDp (const int seg, const FluidSystem::Scalar density, const std::vector< FluidSystem::Scalar > &seg_dp) const
 

Protected Attributes

bool regularize_
 
std::vector< std::vector< Scalar > > segment_fluid_initial_
 
int debug_cost_counter_ = 0
 
const ModelParametersparam_
 
std::vector< RateVectorconnectionRates_
 
std::vector< ScalarB_avg_
 
bool changed_to_stopped_this_step_ = false
 
bool thp_update_iterations = false
 
const RateConverterTyperateConverter_
 
OperabilityStatus operability_status_
 
Well well_ecl_
 
const ParallelWellInfo< FluidSystem::Scalar > & parallel_well_info_
 
const int current_step_
 
const int pvtRegionIdx_
 
const int num_components_
 
int number_of_phases_
 
int index_of_well_
 
const std::vector< PerforationData< FluidSystem::Scalar > > * perf_data_
 
std::vector< FluidSystem::Scalar > ipr_a_
 
std::vector< FluidSystem::Scalar > ipr_b_
 
std::vector< int > well_cells_
 
std::vector< FluidSystem::Scalar > well_index_
 
int number_of_perforations_
 
std::vector< FluidSystem::Scalar > perf_depth_
 
std::vector< FluidSystem::Scalar > perf_rep_radius_
 
std::vector< FluidSystem::Scalar > perf_length_
 
std::vector< FluidSystem::Scalar > bore_diameters_
 
std::map< int, std::vector< int > > completions_
 
FluidSystem::Scalar ref_depth_
 
std::vector< int > saturation_table_number_
 
Well::Status wellStatus_
 
const PhaseUsagephase_usage_
 
FluidSystem::Scalar gravity_
 
FluidSystem::Scalar wsolvent_
 
std::optional< FluidSystem::Scalar > dynamic_thp_limit_
 
std::vector< FluidSystem::Scalar > inj_multiplier_
 
std::vector< FluidSystem::Scalar > prev_inj_multiplier_
 
std::vector< FluidSystem::Scalar > inj_fc_multiplier_
 
FluidSystem::Scalar well_efficiency_factor_
 
const VFPProperties< FluidSystem::Scalar > * vfp_properties_
 
const GuideRate * guide_rate_
 
std::vector< std::string > well_control_log_
 
bool changed_to_open_this_step_
 
const WellInterfaceIndices< GetPropType< TypeTag, Properties::FluidSystem >, GetPropType< TypeTag, Properties::Indices > > & baseif_
 
Equations linSys_
 The equation system. More...
 
PrimaryVariables primary_variables_
 The primary variables. More...
 
MSWSegments segments_
 Segment properties. More...
 
std::vector< Scalarcell_perforation_depth_diffs_
 
std::vector< Scalarcell_perforation_pressure_diffs_
 

Static Protected Attributes

static constexpr int INVALIDCOMPLETION
 
static constexpr int numWellEq
 
static constexpr int SPres
 
static constexpr int WQTotal
 

Member Typedef Documentation

◆ Base

template<typename TypeTag >
using Opm::MultisegmentWell< TypeTag >::Base = WellInterface<TypeTag>

◆ BVector

template<typename TypeTag >
using Opm::WellInterface< TypeTag >::BVector = Dune::BlockVector<VectorBlockType>

◆ BVectorWell

using Opm::MultisegmentWellEval< GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Indices > >::BVectorWell = typename Equations::BVectorWell
protectedinherited

◆ Equations

using Opm::MultisegmentWellEval< GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Indices > >::Equations = MultisegmentWellEquations<Scalar,numWellEq,Indices::numEq>
protectedinherited

◆ Eval

template<typename TypeTag >
using Opm::WellInterface< TypeTag >::Eval = typename Base::Eval

◆ EvalWell

using Opm::MultisegmentWellEval< GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Indices > >::EvalWell = typename PrimaryVariables::EvalWell
protectedinherited

◆ FluidState

template<typename TypeTag >
using Opm::WellInterface< TypeTag >::FluidState = BlackOilFluidState<Eval, FluidSystem, has_temperature, has_energy, Indices::compositionSwitchIdx >= 0, has_watVapor, has_brine, has_saltPrecip, has_disgas_in_water, Indices::numPhases >

◆ FluidSystem

template<typename TypeTag >
using Opm::WellInterface< TypeTag >::FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>

◆ GasLiftSingleWell

template<typename TypeTag >
using Opm::WellInterface< TypeTag >::GasLiftSingleWell = ::Opm::GasLiftSingleWell<TypeTag>
inherited

◆ GLiftOptWells

template<typename TypeTag >
using Opm::WellInterface< TypeTag >::GLiftOptWells = typename BlackoilWellModel<TypeTag>::GLiftOptWells
inherited

◆ GLiftProdWells

template<typename TypeTag >
using Opm::WellInterface< TypeTag >::GLiftProdWells = typename BlackoilWellModel<TypeTag>::GLiftProdWells
inherited

◆ GLiftSyncGroups

template<typename TypeTag >
using Opm::WellInterface< TypeTag >::GLiftSyncGroups = typename GasLiftSingleWellGeneric<Scalar>::GLiftSyncGroups
inherited

◆ GLiftWellStateMap

template<typename TypeTag >
using Opm::WellInterface< TypeTag >::GLiftWellStateMap = typename BlackoilWellModel<TypeTag>::GLiftWellStateMap
inherited

◆ Grid

template<typename TypeTag >
using Opm::WellInterface< TypeTag >::Grid = GetPropType<TypeTag, Properties::Grid>
inherited

◆ Indices

template<typename TypeTag >
using Opm::WellInterface< TypeTag >::Indices = GetPropType<TypeTag, Properties::Indices>

◆ 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 >
using Opm::WellInterface< TypeTag >::MatrixBlockType = Dune::FieldMatrix<Scalar, Indices::numEq, Indices::numEq>
inherited

◆ ModelParameters

template<typename TypeTag >
using Opm::WellInterface< TypeTag >::ModelParameters = BlackoilModelParameters<Scalar>

◆ MSWEval

template<typename TypeTag >
using Opm::MultisegmentWell< TypeTag >::MSWEval = MultisegmentWellEval<GetPropType<TypeTag, Properties::FluidSystem>, GetPropType<TypeTag, Properties::Indices> >

◆ MSWSegments

◆ PressureMatrix

template<typename TypeTag >
using Opm::WellInterface< TypeTag >::PressureMatrix = Dune::BCRSMatrix<Opm::MatrixBlock<Scalar, 1, 1> >

◆ PrimaryVariables

◆ RateConverterType

template<typename TypeTag >
using Opm::WellInterface< TypeTag >::RateConverterType = typename WellInterfaceFluidSystem<FluidSystem>::RateConverterType

◆ RateVector

template<typename TypeTag >
using Opm::WellInterface< TypeTag >::RateVector = GetPropType<TypeTag, Properties::RateVector>
inherited

◆ Scalar

template<typename TypeTag >
using Opm::WellInterface< TypeTag >::Scalar = GetPropType<TypeTag, Properties::Scalar>

◆ 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>

◆ VectorBlockType

template<typename TypeTag >
using Opm::WellInterface< TypeTag >::VectorBlockType = Dune::FieldVector<Scalar, Indices::numEq>
inherited

Member Enumeration Documentation

◆ IndividualOrGroup

template<typename TypeTag >
enum class Opm::WellInterface::IndividualOrGroup
stronginherited
Enumerator
Individual 
Group 
Both 

Constructor & Destructor Documentation

◆ MultisegmentWell()

template<typename TypeTag >
Opm::MultisegmentWell< TypeTag >::MultisegmentWell ( const Well &  well,
const ParallelWellInfo< Scalar > &  pw_info,
const int  time_step,
const ModelParameters param,
const RateConverterType rate_converter,
const int  pvtRegionIdx,
const int  num_components,
const int  num_phases,
const int  index_of_well,
const std::vector< PerforationData< Scalar > > &  perf_data 
)

Member Function Documentation

◆ accelerationalPressureLossConsidered()

bool Opm::MultisegmentWellGeneric< FluidSystem::Scalar >::accelerationalPressureLossConsidered ( ) const
protectedinherited

◆ adaptRatesForVFP()

void Opm::WellInterfaceGeneric< FluidSystem::Scalar >::adaptRatesForVFP ( std::vector< FluidSystem::Scalar > &  rates) const
inherited

◆ addCellRates()

template<typename TypeTag >
void Opm::WellInterface< TypeTag >::addCellRates ( RateVector rates,
int  cellIdx 
) const
inherited

◆ addWellContributions()

template<typename TypeTag >
void Opm::MultisegmentWell< TypeTag >::addWellContributions ( SparseMatrixAdapter jacobian) const
overridevirtual

◆ addWellPressureEquations()

template<typename TypeTag >
void Opm::MultisegmentWell< TypeTag >::addWellPressureEquations ( PressureMatrix mat,
const BVector x,
const int  pressureVarIndex,
const bool  use_well_weights,
const WellState< Scalar > &  well_state 
) const
overridevirtual

◆ allDrawDownWrongDirection()

template<typename TypeTag >
bool Opm::MultisegmentWell< TypeTag >::allDrawDownWrongDirection ( const Simulator simulator) const
protected

◆ apply() [1/2]

template<typename TypeTag >
void Opm::MultisegmentWell< TypeTag >::apply ( BVector r) const
overridevirtual

r = r - C D^-1 Rw

Implements Opm::WellInterface< TypeTag >.

◆ apply() [2/2]

template<typename TypeTag >
void Opm::MultisegmentWell< TypeTag >::apply ( const BVector x,
BVector Ax 
) const
overridevirtual

Ax = Ax - C D^-1 B x.

Implements Opm::WellInterface< TypeTag >.

◆ assembleAccelerationAndHydroPressureLosses()

void Opm::MultisegmentWellEval< GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Indices > >::assembleAccelerationAndHydroPressureLosses ( const int  seg,
WellState< Scalar > &  well_state,
const bool  use_average_density 
)
protectedinherited

◆ assembleAccelerationPressureLoss()

void Opm::MultisegmentWellEval< GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Indices > >::assembleAccelerationPressureLoss ( const int  seg,
WellState< Scalar > &  well_state 
)
protectedinherited

◆ assembleDefaultPressureEq()

void Opm::MultisegmentWellEval< GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Indices > >::assembleDefaultPressureEq ( const int  seg,
WellState< Scalar > &  well_state,
const bool  use_average_density 
)
protectedinherited

◆ assembleICDPressureEq()

void Opm::MultisegmentWellEval< GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Indices > >::assembleICDPressureEq ( const int  seg,
const UnitSystem &  unit_system,
WellState< Scalar > &  well_state,
const SummaryState &  summary_state,
const bool  use_average_density,
DeferredLogger deferred_logger 
)
protectedinherited

◆ assemblePressureEq()

void Opm::MultisegmentWellEval< GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Indices > >::assemblePressureEq ( const int  seg,
const UnitSystem &  unit_system,
WellState< Scalar > &  well_state,
const SummaryState &  summary_state,
const bool  use_average_density,
DeferredLogger deferred_logger 
)
protectedinherited

◆ assembleWellEq()

template<typename TypeTag >
void Opm::WellInterface< TypeTag >::assembleWellEq ( const Simulator simulator,
const double  dt,
WellState< Scalar > &  well_state,
const GroupState< Scalar > &  group_state,
DeferredLogger deferred_logger 
)
inherited

◆ assembleWellEqWithoutIteration() [1/3]

template<typename TypeTag >
void Opm::MultisegmentWell< TypeTag >::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 
)
overrideprotected

◆ assembleWellEqWithoutIteration() [2/3]

template<typename TypeTag >
virtual void Opm::WellInterface< TypeTag >::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 
)
protectedpure virtualinherited

◆ assembleWellEqWithoutIteration() [3/3]

template<typename TypeTag >
void Opm::WellInterface< TypeTag >::assembleWellEqWithoutIteration ( const Simulator simulator,
const double  dt,
WellState< Scalar > &  well_state,
const GroupState< Scalar > &  group_state,
DeferredLogger deferred_logger 
)
inherited

◆ calculateExplicitQuantities()

template<typename TypeTag >
void Opm::MultisegmentWell< TypeTag >::calculateExplicitQuantities ( const Simulator simulator,
const WellState< Scalar > &  well_state,
DeferredLogger deferred_logger 
)
overridevirtual

◆ calculateReservoirRates()

void Opm::WellInterfaceFluidSystem< GetPropType< TypeTag, Properties::FluidSystem > >::calculateReservoirRates ( const bool  co2store,
SingleWellState< Scalar > &  ws 
) const
protectedinherited

◆ cells()

const std::vector< int > & Opm::WellInterfaceGeneric< FluidSystem::Scalar >::cells ( ) const
inlineinherited

Well cells.

◆ changedToOpenThisStep()

bool Opm::WellInterfaceGeneric< FluidSystem::Scalar >::changedToOpenThisStep ( ) const
inlineinherited

◆ checkConstraints()

bool Opm::WellInterfaceFluidSystem< GetPropType< TypeTag, Properties::FluidSystem > >::checkConstraints ( WellState< Scalar > &  well_state,
const GroupState< Scalar > &  group_state,
const Schedule &  schedule,
const SummaryState &  summaryState,
DeferredLogger deferred_logger 
) const
protectedinherited

◆ checkGroupConstraints()

bool Opm::WellInterfaceFluidSystem< GetPropType< TypeTag, Properties::FluidSystem > >::checkGroupConstraints ( WellState< Scalar > &  well_state,
const GroupState< Scalar > &  group_state,
const Schedule &  schedule,
const SummaryState &  summaryState,
DeferredLogger deferred_logger 
) const
protectedinherited

◆ checkIndividualConstraints()

bool Opm::WellInterfaceFluidSystem< GetPropType< TypeTag, Properties::FluidSystem > >::checkIndividualConstraints ( SingleWellState< Scalar > &  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< FluidSystem::Scalar >::checkNegativeWellPotentials ( std::vector< FluidSystem::Scalar > &  well_potentials,
const bool  checkOperability,
DeferredLogger deferred_logger 
)
protectedinherited

◆ checkOperabilityUnderBHPLimit()

template<typename TypeTag >
void Opm::MultisegmentWell< TypeTag >::checkOperabilityUnderBHPLimit ( const WellState< Scalar > &  well_state,
const Simulator ebos_simulator,
DeferredLogger deferred_logger 
)
overrideprotectedvirtual

◆ checkOperabilityUnderTHPLimit()

template<typename TypeTag >
void Opm::MultisegmentWell< TypeTag >::checkOperabilityUnderTHPLimit ( const Simulator ebos_simulator,
const WellState< Scalar > &  well_state,
DeferredLogger deferred_logger 
)
overrideprotectedvirtual

◆ checkWellOperability()

template<typename TypeTag >
void Opm::WellInterface< TypeTag >::checkWellOperability ( const Simulator simulator,
const WellState< Scalar > &  well_state,
DeferredLogger deferred_logger 
)
inherited

◆ closeCompletions()

void Opm::WellInterfaceGeneric< FluidSystem::Scalar >::closeCompletions ( const WellTestState &  wellTestState)
inherited

◆ compFrac()

template<typename TypeTag >
const std::vector< Scalar > & Opm::WellInterface< TypeTag >::compFrac ( ) const
protectedinherited

◆ compPressureDrop()

WellSegmentCompPressureDrop Opm::MultisegmentWellGeneric< FluidSystem::Scalar >::compPressureDrop ( ) const
protectedinherited

◆ computeBhpAtThpLimitInj()

template<typename TypeTag >
std::optional< typename MultisegmentWell< TypeTag >::Scalar > Opm::MultisegmentWell< TypeTag >::computeBhpAtThpLimitInj ( const Simulator ebos_simulator,
const SummaryState &  summary_state,
DeferredLogger deferred_logger 
) const
protected

◆ computeBhpAtThpLimitProd()

template<typename TypeTag >
std::optional< typename MultisegmentWell< TypeTag >::Scalar > Opm::MultisegmentWell< TypeTag >::computeBhpAtThpLimitProd ( const WellState< Scalar > &  well_state,
const Simulator ebos_simulator,
const SummaryState &  summary_state,
DeferredLogger deferred_logger 
) const
protected

◆ computeBhpAtThpLimitProdWithAlq()

template<typename TypeTag >
std::optional< typename MultisegmentWell< TypeTag >::Scalar > Opm::MultisegmentWell< TypeTag >::computeBhpAtThpLimitProdWithAlq ( const Simulator simulator,
const SummaryState &  summary_state,
const Scalar  alq_value,
DeferredLogger deferred_logger 
) const
overridevirtual

◆ computeConnectionDFactor()

template<typename TypeTag >
WellInterface< TypeTag >::Scalar Opm::WellInterface< TypeTag >::computeConnectionDFactor ( const int  perf,
const IntensiveQuantities intQuants,
const SingleWellState< Scalar > &  ws 
) const
protectedinherited

◆ computeConnLevelInjInd()

template<typename TypeTag >
void Opm::WellInterface< TypeTag >::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
protectedinherited

◆ computeConnLevelProdInd()

template<typename TypeTag >
void Opm::WellInterface< TypeTag >::computeConnLevelProdInd ( const FluidState fs,
const std::function< Scalar(const Scalar)> &  connPICalc,
const std::vector< Scalar > &  mobility,
Scalar connPI 
) const
protectedinherited

References Opm::phaseUsage().

◆ computeCurrentWellRates()

template<typename TypeTag >
std::vector< typename MultisegmentWell< TypeTag >::Scalar > Opm::MultisegmentWell< TypeTag >::computeCurrentWellRates ( const Simulator simulator,
DeferredLogger deferred_logger 
) const
overridevirtual

Compute well rates based on current reservoir conditions and well variables. Used in updateWellStateRates().

Implements Opm::WellInterface< TypeTag >.

◆ computeInitialSegmentFluids()

template<typename TypeTag >
void Opm::MultisegmentWell< TypeTag >::computeInitialSegmentFluids ( const Simulator simulator)
protected

◆ computePerfCellPressDiffs()

template<typename TypeTag >
void Opm::MultisegmentWell< TypeTag >::computePerfCellPressDiffs ( const Simulator simulator)
protected

◆ computePerfRate() [1/2]

template<typename TypeTag >
template<class Value >
void Opm::MultisegmentWell< TypeTag >::computePerfRate ( const IntensiveQuantities int_quants,
const std::vector< Value > &  mob_perfcells,
const std::vector< Scalar > &  Tw,
const int  seg,
const int  perf,
const Value &  segment_pressure,
const bool &  allow_cf,
std::vector< Value > &  cq_s,
Value &  perf_press,
PerforationRates< Scalar > &  perf_rates,
DeferredLogger deferred_logger 
) const
protected

◆ computePerfRate() [2/2]

template<typename TypeTag >
template<class Value >
void Opm::MultisegmentWell< TypeTag >::computePerfRate ( const Value &  pressure_cell,
const Value &  rs,
const Value &  rv,
const std::vector< Value > &  b_perfcells,
const std::vector< Value > &  mob_perfcells,
const std::vector< Scalar > &  Tw,
const int  perf,
const Value &  segment_pressure,
const Value &  segment_density,
const bool &  allow_cf,
const std::vector< Value > &  cmix_s,
std::vector< Value > &  cq_s,
Value &  perf_press,
PerforationRates< Scalar > &  perf_rates,
DeferredLogger deferred_logger 
) const
protected

◆ computeSegmentFluidProperties()

template<typename TypeTag >
void Opm::MultisegmentWell< TypeTag >::computeSegmentFluidProperties ( const Simulator simulator,
DeferredLogger deferred_logger 
)
protected

◆ computeWellPotentials() [1/2]

template<typename TypeTag >
void Opm::MultisegmentWell< TypeTag >::computeWellPotentials ( const Simulator simulator,
const WellState< Scalar > &  well_state,
std::vector< Scalar > &  well_potentials,
DeferredLogger deferred_logger 
)
overridevirtual

◆ computeWellPotentials() [2/2]

std::pair< bool, bool > Opm::WellInterfaceGeneric< FluidSystem::Scalar >::computeWellPotentials ( std::vector< FluidSystem::Scalar > &  well_potentials,
const WellState< FluidSystem::Scalar > &  well_state 
)
protectedinherited

◆ computeWellPotentialsImplicit()

◆ computeWellPotentialWithTHP()

template<typename TypeTag >
std::vector< typename MultisegmentWell< TypeTag >::Scalar > Opm::MultisegmentWell< TypeTag >::computeWellPotentialWithTHP ( const WellState< Scalar > &  well_state,
const Simulator simulator,
DeferredLogger deferred_logger 
) const
protected

◆ computeWellRatesAtBhpLimit()

template<typename TypeTag >
void Opm::MultisegmentWell< TypeTag >::computeWellRatesAtBhpLimit ( const Simulator simulator,
std::vector< Scalar > &  well_flux,
DeferredLogger deferred_logger 
) const
protected

◆ computeWellRatesWithBhp()

template<typename TypeTag >
void Opm::MultisegmentWell< TypeTag >::computeWellRatesWithBhp ( const Simulator simulator,
const Scalar bhp,
std::vector< Scalar > &  well_flux,
DeferredLogger deferred_logger 
) const
overrideprotectedvirtual

◆ computeWellRatesWithBhpIterations()

◆ connectionDensity()

template<typename TypeTag >
MultisegmentWell< TypeTag >::Scalar Opm::MultisegmentWell< TypeTag >::connectionDensity ( const int  globalConnIdx,
const int  openConnIdx 
) const
overridevirtual

◆ connectionRates()

template<typename TypeTag >
const std::vector< RateVector > & Opm::WellInterface< TypeTag >::connectionRates ( ) const
inlineinherited

◆ currentStep()

int Opm::WellInterfaceGeneric< FluidSystem::Scalar >::currentStep ( ) const
inlineinherited

◆ detectOscillations()

void Opm::MultisegmentWellGeneric< FluidSystem::Scalar >::detectOscillations ( const std::vector< FluidSystem::Scalar > &  measure_history,
bool &  oscillate,
bool &  stagnate 
) const
protectedinherited

Detect oscillation or stagnation based on the residual measure history.

◆ estimateOperableBhp()

template<typename TypeTag >
std::optional< typename WellInterface< TypeTag >::Scalar > Opm::WellInterface< TypeTag >::estimateOperableBhp ( const Simulator ebos_simulator,
const double  dt,
WellState< Scalar > &  well_state,
const SummaryState &  summary_state,
DeferredLogger deferred_logger 
)
protectedinherited

◆ extendEval()

EvalWell Opm::MultisegmentWellEval< GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Indices > >::extendEval ( const Eval in) const
protectedinherited

◆ flowPhaseToModelCompIdx()

int Opm::WellInterfaceIndices< GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Indices > >::flowPhaseToModelCompIdx ( const int  phaseIdx) const
inherited

◆ flowPhaseToModelPhaseIdx()

int Opm::WellInterfaceFluidSystem< GetPropType< TypeTag, Properties::FluidSystem > >::flowPhaseToModelPhaseIdx ( const int  phaseIdx) const
inherited

◆ frictionalPressureLossConsidered()

bool Opm::MultisegmentWellGeneric< FluidSystem::Scalar >::frictionalPressureLossConsidered ( ) const
protectedinherited

◆ getAllowCrossFlow()

bool Opm::WellInterfaceGeneric< FluidSystem::Scalar >::getAllowCrossFlow ( ) const
protectedinherited

◆ getALQ()

FluidSystem::Scalar Opm::WellInterfaceGeneric< FluidSystem::Scalar >::getALQ ( const WellState< FluidSystem::Scalar > &  well_state) const
inherited

◆ getCompletions()

const std::map< int, std::vector< int > > & Opm::WellInterfaceGeneric< FluidSystem::Scalar >::getCompletions ( ) const
inlineinherited

◆ getControlTolerance()

Scalar Opm::MultisegmentWellEval< GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Indices > >::getControlTolerance ( const WellState< Scalar > &  well_state,
const Scalar  tolerance_wells,
const Scalar  tolerance_pressure_ms_wells,
DeferredLogger deferred_logger 
) const
protectedinherited

◆ getDynamicThpLimit()

std::optional< FluidSystem::Scalar > Opm::WellInterfaceGeneric< FluidSystem::Scalar >::getDynamicThpLimit ( ) const
inherited

◆ getFiniteWellResiduals()

std::pair< bool, std::vector< Scalar > > Opm::MultisegmentWellEval< GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Indices > >::getFiniteWellResiduals ( const std::vector< Scalar > &  B_avg,
DeferredLogger deferred_logger 
) const
protectedinherited

◆ getGroupInjectionTargetRate()

std::optional< Scalar > Opm::WellInterfaceFluidSystem< GetPropType< TypeTag, Properties::FluidSystem > >::getGroupInjectionTargetRate ( const Group &  group,
const WellState< Scalar > &  well_state,
const GroupState< Scalar > &  group_state,
const Schedule &  schedule,
const SummaryState &  summaryState,
const InjectorType &  injectorType,
Scalar  efficiencyFactor,
DeferredLogger deferred_logger 
) const
protectedinherited

◆ getGroupProductionTargetRate()

Scalar Opm::WellInterfaceFluidSystem< GetPropType< TypeTag, Properties::FluidSystem > >::getGroupProductionTargetRate ( const Group &  group,
const WellState< Scalar > &  well_state,
const GroupState< Scalar > &  group_state,
const Schedule &  schedule,
const SummaryState &  summaryState,
Scalar  efficiencyFactor,
DeferredLogger deferred_logger 
) const
protectedinherited

◆ getInjMult()

FluidSystem::Scalar Opm::WellInterfaceGeneric< FluidSystem::Scalar >::getInjMult ( const int  perf,
const FluidSystem::Scalar  bhp,
const FluidSystem::Scalar  perf_pres 
) const
inherited

◆ getMobility() [1/2]

template<typename TypeTag >
template<class Value , class Callback >
void Opm::WellInterface< TypeTag >::getMobility ( const Simulator simulator,
const int  perf,
std::vector< Value > &  mob,
Callback &  extendEval,
DeferredLogger deferred_logger 
) const
protectedinherited

◆ getMobility() [2/2]

template<typename TypeTag >
template<class Value >
void Opm::MultisegmentWell< TypeTag >::getMobility ( const Simulator simulator,
const int  perf,
std::vector< Value > &  mob,
DeferredLogger deferred_logger 
) const
protected

◆ getPerfCellPressure()

template<typename TypeTag >
WellInterface< TypeTag >::Eval Opm::WellInterface< TypeTag >::getPerfCellPressure ( const FluidState fs) const
protectedinherited

◆ getPrimaryVars()

template<typename TypeTag >
std::vector< typename MultisegmentWell< TypeTag >::Scalar > Opm::MultisegmentWell< TypeTag >::getPrimaryVars
overridevirtual

Reimplemented from Opm::WellInterface< TypeTag >.

◆ getRefDensity()

template<typename TypeTag >
MultisegmentWell< TypeTag >::Scalar Opm::MultisegmentWell< TypeTag >::getRefDensity
overrideprotectedvirtual

◆ getResidualMeasureValue()

Scalar Opm::MultisegmentWellEval< GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Indices > >::getResidualMeasureValue ( const WellState< Scalar > &  well_state,
const std::vector< Scalar > &  residuals,
const Scalar  tolerance_wells,
const Scalar  tolerance_pressure_ms_wells,
DeferredLogger deferred_logger 
) const
protectedinherited

◆ getSegmentDp()

FluidSystem::Scalar Opm::MultisegmentWellGeneric< FluidSystem::Scalar >::getSegmentDp ( const int  seg,
const FluidSystem::Scalar  density,
const std::vector< FluidSystem::Scalar > &  seg_dp 
) const
protectedinherited

◆ getSegmentSurfaceVolume()

template<typename TypeTag >
MultisegmentWell< TypeTag >::EvalWell Opm::MultisegmentWell< TypeTag >::getSegmentSurfaceVolume ( const Simulator simulator,
const int  seg_idx 
) const
protected

◆ getTHPConstraint()

FluidSystem::Scalar Opm::WellInterfaceGeneric< FluidSystem::Scalar >::getTHPConstraint ( const SummaryState &  summaryState) const
inherited

◆ getWellConvergence() [1/2]

template<typename TypeTag >
ConvergenceReport Opm::MultisegmentWell< TypeTag >::getWellConvergence ( const Simulator simulator,
const WellState< Scalar > &  well_state,
const std::vector< Scalar > &  B_avg,
DeferredLogger deferred_logger,
const bool  relax_tolerance 
) const
overridevirtual

check whether the well equations get converged for this well

Implements Opm::WellInterface< TypeTag >.

◆ getWellConvergence() [2/2]

ConvergenceReport Opm::MultisegmentWellEval< GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Indices > >::getWellConvergence ( const WellState< Scalar > &  well_state,
const std::vector< Scalar > &  B_avg,
DeferredLogger deferred_logger,
const Scalar  max_residual_allowed,
const Scalar  tolerance_wells,
const Scalar  relaxed_inner_tolerance_flow_ms_well,
const Scalar  tolerance_pressure_ms_wells,
const Scalar  relaxed_inner_tolerance_pressure_ms_well,
const bool  relax_tolerance,
const bool  well_is_stopped 
) const
protectedinherited

check whether the well equations get converged for this well

◆ gliftBeginTimeStepWellTestIterateWellEquations()

template<typename TypeTag >
bool Opm::WellInterface< TypeTag >::gliftBeginTimeStepWellTestIterateWellEquations ( const Simulator ebos_simulator,
const double  dt,
WellState< Scalar > &  well_state,
const GroupState< Scalar > &  group_state,
DeferredLogger deferred_logger 
)
inherited

◆ gliftBeginTimeStepWellTestUpdateALQ()

template<typename TypeTag >
void Opm::WellInterface< TypeTag >::gliftBeginTimeStepWellTestUpdateALQ ( const Simulator simulator,
WellState< Scalar > &  well_state,
DeferredLogger deferred_logger 
)
inherited

◆ gravity()

FluidSystem::Scalar Opm::WellInterfaceGeneric< FluidSystem::Scalar >::gravity ( ) const
inlineinherited

◆ guideRate()

const GuideRate * Opm::WellInterfaceGeneric< FluidSystem::Scalar >::guideRate ( ) const
inlineinherited

◆ indexOfWell()

int Opm::WellInterfaceGeneric< FluidSystem::Scalar >::indexOfWell ( ) const
inherited

Index of well in the wells struct and wellState.

◆ init()

template<typename TypeTag >
void Opm::MultisegmentWell< TypeTag >::init ( const PhaseUsage phase_usage_arg,
const std::vector< Scalar > &  depth_arg,
const Scalar  gravity_arg,
const int  num_cells,
const std::vector< Scalar > &  B_avg,
const bool  changed_to_open_this_step 
)
overridevirtual

Reimplemented from Opm::WellInterface< TypeTag >.

◆ initCompletions()

void Opm::WellInterfaceGeneric< FluidSystem::Scalar >::initCompletions ( )
inherited

◆ initialWellRateFractions()

template<typename TypeTag >
std::vector< typename WellInterface< TypeTag >::Scalar > Opm::WellInterface< TypeTag >::initialWellRateFractions ( const Simulator ebosSimulator,
const WellState< Scalar > &  well_state 
) const
protectedinherited

◆ initInjMult()

void Opm::WellInterfaceGeneric< FluidSystem::Scalar >::initInjMult ( const std::vector< FluidSystem::Scalar > &  max_inj_mult)
inherited

◆ initMatrixAndVectors()

void Opm::MultisegmentWellEval< GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Indices > >::initMatrixAndVectors ( const int  num_cells)
protectedinherited

◆ initPrimaryVariablesEvaluation()

template<typename TypeTag >
void Opm::MultisegmentWell< TypeTag >::initPrimaryVariablesEvaluation
overridevirtual

◆ isInjector()

bool Opm::WellInterfaceGeneric< FluidSystem::Scalar >::isInjector ( ) const
inherited

True if the well is an injector.

◆ isOperableAndSolvable()

bool Opm::WellInterfaceGeneric< FluidSystem::Scalar >::isOperableAndSolvable ( ) const
inherited

◆ isPressureControlled()

bool Opm::WellInterfaceGeneric< FluidSystem::Scalar >::isPressureControlled ( const WellState< FluidSystem::Scalar > &  well_state) const
inherited

◆ isProducer()

bool Opm::WellInterfaceGeneric< FluidSystem::Scalar >::isProducer ( ) const
inherited

True if the well is a producer.

◆ isVFPActive()

bool Opm::WellInterfaceGeneric< FluidSystem::Scalar >::isVFPActive ( DeferredLogger deferred_logger) const
inherited

◆ iterateWellEquations()

template<typename TypeTag >
bool Opm::WellInterface< TypeTag >::iterateWellEquations ( const Simulator simulator,
const double  dt,
WellState< Scalar > &  well_state,
const GroupState< Scalar > &  group_state,
DeferredLogger deferred_logger 
)
protectedinherited

◆ iterateWellEqWithControl() [1/2]

template<typename TypeTag >
bool Opm::MultisegmentWell< TypeTag >::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 
)
overrideprotected

◆ iterateWellEqWithControl() [2/2]

template<typename TypeTag >
virtual bool Opm::WellInterface< TypeTag >::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 
)
protectedpure virtualinherited

◆ iterateWellEqWithSwitching() [1/2]

template<typename TypeTag >
bool Opm::MultisegmentWell< 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 
)
overrideprotected

◆ 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 
)
pure virtualinherited

◆ jacobianContainsWellContributions()

template<typename TypeTag >
virtual bool Opm::WellInterface< TypeTag >::jacobianContainsWellContributions ( ) const
inlinevirtualinherited

Wether the Jacobian will also have well contributions in it.

Reimplemented in Opm::StandardWell< TypeTag >.

◆ linSys()

const Equations & Opm::MultisegmentWellEval< GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Indices > >::linSys ( ) const
inlineinherited

Returns a const reference to equation system.

◆ maxPerfPress()

template<typename TypeTag >
MultisegmentWell< TypeTag >::Scalar Opm::MultisegmentWell< TypeTag >::maxPerfPress ( const Simulator simulator) const
protected

◆ modelCompIdxToFlowCompIdx()

int Opm::WellInterfaceIndices< GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Indices > >::modelCompIdxToFlowCompIdx ( const unsigned  compIdx) const
inherited

◆ name()

const std::string & Opm::WellInterfaceGeneric< FluidSystem::Scalar >::name ( ) const
inherited

Well name.

◆ numberOfSegments()

int Opm::MultisegmentWellGeneric< FluidSystem::Scalar >::numberOfSegments ( ) const
inherited

number of segments for this well

◆ numComponents()

int Opm::WellInterfaceGeneric< FluidSystem::Scalar >::numComponents ( ) const
inlineinherited

◆ numPerfs()

int Opm::WellInterfaceGeneric< FluidSystem::Scalar >::numPerfs ( ) const
inlineinherited

◆ numPhases()

int Opm::WellInterfaceGeneric< FluidSystem::Scalar >::numPhases ( ) const
inlineinherited

◆ openCrossFlowAvoidSingularity()

template<typename TypeTag >
bool Opm::MultisegmentWell< TypeTag >::openCrossFlowAvoidSingularity ( const Simulator simulator) const
protected

◆ openWell()

void Opm::WellInterfaceGeneric< FluidSystem::Scalar >::openWell ( )
inlineinherited

◆ parallelWellInfo()

const ParallelWellInfo< FluidSystem::Scalar > & Opm::WellInterfaceGeneric< FluidSystem::Scalar >::parallelWellInfo ( ) const
inlineinherited

◆ perfDepth() [1/2]

std::vector< FluidSystem::Scalar > & Opm::WellInterfaceGeneric< FluidSystem::Scalar >::perfDepth ( )
inlineinherited

◆ perfDepth() [2/2]

const std::vector< FluidSystem::Scalar > & Opm::WellInterfaceGeneric< FluidSystem::Scalar >::perfDepth ( ) const
inlineinherited

◆ perforationData()

const std::vector< PerforationData< FluidSystem::Scalar > > & Opm::WellInterfaceGeneric< FluidSystem::Scalar >::perforationData ( ) const
inherited

Get the perforations of the well.

◆ phaseUsage()

const PhaseUsage & Opm::WellInterfaceGeneric< FluidSystem::Scalar >::phaseUsage ( ) const
inherited

◆ polymerInjTable_()

int Opm::WellInterfaceGeneric< FluidSystem::Scalar >::polymerInjTable_ ( ) const
protectedinherited

◆ polymerTable_()

int Opm::WellInterfaceGeneric< FluidSystem::Scalar >::polymerTable_ ( ) const
protectedinherited

◆ polymerWaterTable_()

int Opm::WellInterfaceGeneric< FluidSystem::Scalar >::polymerWaterTable_ ( ) const
protectedinherited

◆ prepareForPotentialCalculations()

void Opm::WellInterfaceGeneric< FluidSystem::Scalar >::prepareForPotentialCalculations ( const SummaryState &  summary_state,
WellState< FluidSystem::Scalar > &  well_state,
Well::InjectionControls &  inj_controls,
Well::ProductionControls &  prod_controls 
) const
protectedinherited

◆ prepareWellBeforeAssembling()

template<typename TypeTag >
void Opm::WellInterface< TypeTag >::prepareWellBeforeAssembling ( const Simulator simulator,
const double  dt,
WellState< Scalar > &  well_state,
const GroupState< Scalar > &  group_state,
DeferredLogger deferred_logger 
)
inherited

◆ pressureDropAutoICD()

EvalWell Opm::MultisegmentWellEval< GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Indices > >::pressureDropAutoICD ( const int  seg,
const UnitSystem &  unit_system 
) const
protectedinherited

◆ pvtRegionIdx()

int Opm::WellInterfaceGeneric< FluidSystem::Scalar >::pvtRegionIdx ( ) const
inlineinherited

◆ rateConverter()

const RateConverterType & Opm::WellInterfaceFluidSystem< GetPropType< TypeTag, Properties::FluidSystem > >::rateConverter ( ) const
inlineinherited

◆ recoverWellSolutionAndUpdateWellState()

template<typename TypeTag >
void Opm::MultisegmentWell< TypeTag >::recoverWellSolutionAndUpdateWellState ( const Simulator simulator,
const BVector x,
WellState< Scalar > &  well_state,
DeferredLogger deferred_logger 
)
overridevirtual

using the solution x to recover the solution xw for wells and applying xw to update Well State

Implements Opm::WellInterface< TypeTag >.

◆ refDepth()

FluidSystem::Scalar Opm::WellInterfaceGeneric< FluidSystem::Scalar >::refDepth ( ) const
inlineinherited

◆ reportWellSwitching()

void Opm::WellInterfaceGeneric< FluidSystem::Scalar >::reportWellSwitching ( const SingleWellState< FluidSystem::Scalar > &  ws,
DeferredLogger deferred_logger 
) const
inherited

◆ resetWellOperability()

void Opm::WellInterfaceGeneric< FluidSystem::Scalar >::resetWellOperability ( )
inherited

◆ restrictEval()

Eval Opm::WellInterfaceIndices< GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Indices > >::restrictEval ( const EvalWell &  in) const
inlineinherited

◆ rsRvInj()

FluidSystem::Scalar Opm::WellInterfaceGeneric< FluidSystem::Scalar >::rsRvInj ( ) const
inherited

◆ scaleSegmentPressuresWithBhp()

void Opm::MultisegmentWellGeneric< FluidSystem::Scalar >::scaleSegmentPressuresWithBhp ( WellState< FluidSystem::Scalar > &  well_state) const
protectedinherited

◆ scaleSegmentRatesWithWellRates()

void Opm::MultisegmentWellGeneric< FluidSystem::Scalar >::scaleSegmentRatesWithWellRates ( const std::vector< std::vector< int > > &  segment_inlets,
const std::vector< std::vector< int > > &  segment_perforations,
WellState< FluidSystem::Scalar > &  well_state 
) const
protectedinherited

◆ scalingFactor()

Scalar Opm::WellInterfaceIndices< GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Indices > >::scalingFactor ( const int  phaseIdx) const
inherited

◆ segmentNumberToIndex()

int Opm::MultisegmentWellGeneric< FluidSystem::Scalar >::segmentNumberToIndex ( const int  segment_number) const
inherited

◆ segmentSet()

const WellSegments & Opm::MultisegmentWellGeneric< FluidSystem::Scalar >::segmentSet ( ) const
inherited

◆ setDynamicThpLimit() [1/2]

void Opm::WellInterfaceGeneric< FluidSystem::Scalar >::setDynamicThpLimit ( const FluidSystem::Scalar  thp_limit)
inherited

◆ setDynamicThpLimit() [2/2]

void Opm::WellInterfaceGeneric< FluidSystem::Scalar >::setDynamicThpLimit ( const std::optional< FluidSystem::Scalar >  thp_limit)
inherited

◆ setGuideRate()

void Opm::WellInterfaceGeneric< FluidSystem::Scalar >::setGuideRate ( const GuideRate *  guide_rate_arg)
inherited

◆ setPrevSurfaceRates()

void Opm::WellInterfaceGeneric< FluidSystem::Scalar >::setPrevSurfaceRates ( WellState< FluidSystem::Scalar > &  well_state,
const WellState< FluidSystem::Scalar > &  prev_well_state 
) const
inherited

◆ setPrimaryVars()

template<typename TypeTag >
int Opm::MultisegmentWell< TypeTag >::setPrimaryVars ( typename std::vector< Scalar >::const_iterator  it)
overridevirtual

Reimplemented from Opm::WellInterface< TypeTag >.

◆ setRepRadiusPerfLength()

void Opm::WellInterfaceGeneric< FluidSystem::Scalar >::setRepRadiusPerfLength ( )
inherited

◆ setVFPProperties()

void Opm::WellInterfaceGeneric< FluidSystem::Scalar >::setVFPProperties ( const VFPProperties< FluidSystem::Scalar > *  vfp_properties_arg)
inherited

◆ setWellEfficiencyFactor()

void Opm::WellInterfaceGeneric< FluidSystem::Scalar >::setWellEfficiencyFactor ( const FluidSystem::Scalar  efficiency_factor)
inherited

◆ setWsolvent()

void Opm::WellInterfaceGeneric< FluidSystem::Scalar >::setWsolvent ( const FluidSystem::Scalar  wsolvent)
inherited

◆ solveEqAndUpdateWellState()

template<typename TypeTag >
void Opm::MultisegmentWell< TypeTag >::solveEqAndUpdateWellState ( const Simulator simulator,
WellState< Scalar > &  well_state,
DeferredLogger deferred_logger 
)
overridevirtual

◆ solveWellEquation()

template<typename TypeTag >
void Opm::WellInterface< TypeTag >::solveWellEquation ( const Simulator simulator,
WellState< Scalar > &  well_state,
const GroupState< Scalar > &  group_state,
DeferredLogger deferred_logger 
)
inherited

◆ solveWellForTesting()

template<typename TypeTag >
bool Opm::WellInterface< TypeTag >::solveWellForTesting ( const Simulator simulator,
WellState< Scalar > &  well_state,
const GroupState< Scalar > &  group_state,
DeferredLogger deferred_logger 
)
protectedinherited

◆ solveWellWithBhp()

template<typename TypeTag >
bool Opm::WellInterface< TypeTag >::solveWellWithBhp ( const Simulator simulator,
const double  dt,
const Scalar  bhp,
WellState< Scalar > &  well_state,
DeferredLogger deferred_logger 
)
protectedinherited

◆ solveWellWithTHPConstraint()

template<typename TypeTag >
bool Opm::WellInterface< TypeTag >::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 
)
protectedinherited

◆ solveWellWithZeroRate()

template<typename TypeTag >
bool Opm::WellInterface< TypeTag >::solveWellWithZeroRate ( const Simulator simulator,
const double  dt,
WellState< Scalar > &  well_state,
DeferredLogger deferred_logger 
)
protectedinherited

◆ stoppedOrZeroRateTarget()

template<typename TypeTag >
bool Opm::WellInterface< TypeTag >::stoppedOrZeroRateTarget ( const Simulator simulator,
const WellState< Scalar > &  well_state,
DeferredLogger deferred_logger 
) const
inherited

◆ stopWell()

void Opm::WellInterfaceGeneric< FluidSystem::Scalar >::stopWell ( )
inlineinherited

◆ thpLimitViolatedButNotSwitched()

bool Opm::WellInterfaceGeneric< FluidSystem::Scalar >::thpLimitViolatedButNotSwitched ( ) const
inherited

◆ underPredictionMode()

bool Opm::WellInterfaceGeneric< FluidSystem::Scalar >::underPredictionMode ( ) const
inherited

Returns true if the well is currently in prediction mode (i.e. not history mode).

◆ updateConnectionDFactor()

template<typename TypeTag >
void Opm::WellInterface< TypeTag >::updateConnectionDFactor ( const Simulator simulator,
SingleWellState< Scalar > &  ws 
) const
inherited

◆ updateConnectionTransmissibilityFactor()

template<typename TypeTag >
void Opm::WellInterface< TypeTag >::updateConnectionTransmissibilityFactor ( const Simulator simulator,
SingleWellState< Scalar > &  ws 
) const
inherited

◆ updateFilterCakeMultipliers()

void Opm::WellInterfaceGeneric< FluidSystem::Scalar >::updateFilterCakeMultipliers ( const std::vector< FluidSystem::Scalar > &  inj_fc_multiplier)
inlineinherited

Update filter cake multipliers.

◆ updateInjMult()

void Opm::WellInterfaceGeneric< FluidSystem::Scalar >::updateInjMult ( std::vector< FluidSystem::Scalar > &  inj_multipliers,
DeferredLogger deferred_logger 
) const
inherited

◆ updateIPR()

template<typename TypeTag >
void Opm::MultisegmentWell< TypeTag >::updateIPR ( const Simulator ebos_simulator,
DeferredLogger deferred_logger 
) const
overrideprotectedvirtual

◆ updateIPRImplicit()

template<typename TypeTag >
void Opm::MultisegmentWell< TypeTag >::updateIPRImplicit ( const Simulator simulator,
WellState< Scalar > &  well_state,
DeferredLogger deferred_logger 
)
overridevirtual

◆ updatePerforatedCell()

void Opm::WellInterfaceGeneric< FluidSystem::Scalar >::updatePerforatedCell ( std::vector< bool > &  is_cell_perforated)
inherited

◆ updatePrimaryVariables()

template<typename TypeTag >
void Opm::MultisegmentWell< TypeTag >::updatePrimaryVariables ( const Simulator simulator,
const WellState< Scalar > &  well_state,
DeferredLogger deferred_logger 
)
overridevirtual

◆ updateProductivityIndex()

template<typename TypeTag >
void Opm::MultisegmentWell< TypeTag >::updateProductivityIndex ( const Simulator simulator,
const WellProdIndexCalculator< Scalar > &  wellPICalc,
WellState< Scalar > &  well_state,
DeferredLogger deferred_logger 
) const
overridevirtual

◆ updateWaterThroughput()

template<typename TypeTag >
void Opm::MultisegmentWell< TypeTag >::updateWaterThroughput ( const double  dt,
WellState< Scalar > &  well_state 
) const
overrideprotectedvirtual

◆ updateWellControl()

template<typename TypeTag >
bool Opm::WellInterface< TypeTag >::updateWellControl ( const Simulator simulator,
const IndividualOrGroup  iog,
WellState< Scalar > &  well_state,
const GroupState< Scalar > &  group_state,
DeferredLogger deferred_logger 
)
inherited

◆ 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 Scalar  WQTotal,
DeferredLogger deferred_logger,
const bool  fixed_control = false,
const bool  fixed_status = false 
)
inherited

◆ updateWellOperability()

template<typename TypeTag >
void Opm::WellInterface< TypeTag >::updateWellOperability ( const Simulator simulator,
const WellState< Scalar > &  well_state,
DeferredLogger deferred_logger 
)
inherited

◆ updateWellOperabilityFromWellEq()

template<typename TypeTag >
bool Opm::WellInterface< TypeTag >::updateWellOperabilityFromWellEq ( const Simulator simulator,
const WellState< Scalar > &  well_state,
DeferredLogger deferred_logger 
)
inherited

◆ updateWellState()

template<typename TypeTag >
void Opm::MultisegmentWell< TypeTag >::updateWellState ( const Simulator simulator,
const BVectorWell dwells,
WellState< Scalar > &  well_state,
DeferredLogger deferred_logger,
const Scalar  relaxation_factor = 1.0 
)
protected

◆ updateWellStateRates()

template<typename TypeTag >
void Opm::WellInterface< TypeTag >::updateWellStateRates ( const Simulator simulator,
WellState< Scalar > &  well_state,
DeferredLogger deferred_logger 
) const
inherited

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 returned by computeCurrentWellRates().

References Opm::WellState< Scalar >::well().

◆ updateWellStateWithTarget()

template<typename TypeTag >
void Opm::MultisegmentWell< TypeTag >::updateWellStateWithTarget ( const Simulator simulator,
const GroupState< Scalar > &  group_state,
WellState< Scalar > &  well_state,
DeferredLogger deferred_logger 
) const
overridevirtual

updating the well state based the current control mode

Reimplemented from Opm::WellInterface< TypeTag >.

◆ updateWellStateWithTHPTargetProd()

template<typename TypeTag >
bool Opm::WellInterface< TypeTag >::updateWellStateWithTHPTargetProd ( const Simulator simulator,
WellState< Scalar > &  well_state,
DeferredLogger deferred_logger 
) const
inherited

◆ updateWellTestState()

void Opm::WellInterfaceGeneric< FluidSystem::Scalar >::updateWellTestState ( const SingleWellState< FluidSystem::Scalar > &  ws,
const double &  simulationTime,
const bool &  writeMessageToOPMLog,
const bool  zero_group_target,
WellTestState &  wellTestState,
DeferredLogger deferred_logger 
) const
inherited

◆ useVfpExplicit()

bool Opm::WellInterfaceGeneric< FluidSystem::Scalar >::useVfpExplicit ( ) const
inherited

◆ vfpProperties()

const VFPProperties< FluidSystem::Scalar > * Opm::WellInterfaceGeneric< FluidSystem::Scalar >::vfpProperties ( ) const
inlineinherited

◆ volumetricSurfaceRateForConnection()

template<typename TypeTag >
WellInterface< TypeTag >::Scalar Opm::WellInterface< TypeTag >::volumetricSurfaceRateForConnection ( int  cellIdx,
int  phaseIdx 
) const
inherited

References Opm::to_string().

◆ wellEcl() [1/2]

Well & Opm::WellInterfaceGeneric< FluidSystem::Scalar >::wellEcl ( )
inherited

◆ wellEcl() [2/2]

const Well & Opm::WellInterfaceGeneric< FluidSystem::Scalar >::wellEcl ( ) const
inherited

◆ wellEfficiencyFactor()

FluidSystem::Scalar Opm::WellInterfaceGeneric< FluidSystem::Scalar >::wellEfficiencyFactor ( ) const
inlineinherited

◆ wellHasTHPConstraints()

bool Opm::WellInterfaceGeneric< FluidSystem::Scalar >::wellHasTHPConstraints ( const SummaryState &  summaryState) const
inherited

Returns true if the well has one or more THP limits/constraints.

◆ wellIndex() [1/2]

const std::vector< FluidSystem::Scalar > & Opm::WellInterfaceGeneric< FluidSystem::Scalar >::wellIndex ( ) const
inlineinherited

◆ wellIndex() [2/2]

template<typename TypeTag >
std::vector< typename WellInterface< TypeTag >::Scalar > Opm::WellInterface< TypeTag >::wellIndex ( const int  perf,
const IntensiveQuantities intQuants,
const Scalar  trans_mult,
const SingleWellState< Scalar > &  ws 
) const
inherited

◆ wellIsStopped()

bool Opm::WellInterfaceGeneric< FluidSystem::Scalar >::wellIsStopped ( ) const
inlineinherited

◆ wellTesting()

template<typename TypeTag >
void Opm::WellInterface< TypeTag >::wellTesting ( const Simulator simulator,
const double  simulation_time,
WellState< Scalar > &  well_state,
const GroupState< Scalar > &  group_state,
WellTestState &  welltest_state,
DeferredLogger deferred_logger 
)
inherited

◆ wellUnderGroupControl()

bool Opm::WellInterfaceGeneric< FluidSystem::Scalar >::wellUnderGroupControl ( const SingleWellState< FluidSystem::Scalar > &  ws) const
protectedinherited

◆ wellUnderZeroGroupRateTarget()

template<typename TypeTag >
bool Opm::WellInterface< TypeTag >::wellUnderZeroGroupRateTarget ( const Simulator simulator,
const WellState< Scalar > &  well_state,
DeferredLogger deferred_logger,
std::optional< bool >  group_control = std::nullopt 
) const
inherited

◆ wellUnderZeroRateTarget()

template<typename TypeTag >
bool Opm::WellInterface< TypeTag >::wellUnderZeroRateTarget ( const Simulator simulator,
const WellState< Scalar > &  well_state,
DeferredLogger deferred_logger 
) const
inherited

◆ wellUnderZeroRateTargetIndividual()

bool Opm::WellInterfaceGeneric< FluidSystem::Scalar >::wellUnderZeroRateTargetIndividual ( const SummaryState &  summary_state,
const WellState< FluidSystem::Scalar > &  well_state 
) const
protectedinherited

◆ wfoam()

template<typename TypeTag >
WellInterface< TypeTag >::Scalar Opm::WellInterface< TypeTag >::wfoam
protectedinherited

◆ wfoam_()

FluidSystem::Scalar Opm::WellInterfaceGeneric< FluidSystem::Scalar >::wfoam_ ( ) const
protectedinherited

◆ wmicrobes()

template<typename TypeTag >
WellInterface< TypeTag >::Scalar Opm::WellInterface< TypeTag >::wmicrobes
protectedinherited

◆ wmicrobes_()

FluidSystem::Scalar Opm::WellInterfaceGeneric< FluidSystem::Scalar >::wmicrobes_ ( ) const
protectedinherited

◆ woxygen()

template<typename TypeTag >
WellInterface< TypeTag >::Scalar Opm::WellInterface< TypeTag >::woxygen
protectedinherited

◆ woxygen_()

FluidSystem::Scalar Opm::WellInterfaceGeneric< FluidSystem::Scalar >::woxygen_ ( ) const
protectedinherited

◆ wpolymer()

template<typename TypeTag >
WellInterface< TypeTag >::Scalar Opm::WellInterface< TypeTag >::wpolymer
protectedinherited

◆ wpolymer_()

FluidSystem::Scalar Opm::WellInterfaceGeneric< FluidSystem::Scalar >::wpolymer_ ( ) const
protectedinherited

◆ wsalt()

template<typename TypeTag >
WellInterface< TypeTag >::Scalar Opm::WellInterface< TypeTag >::wsalt
protectedinherited

◆ wsalt_()

FluidSystem::Scalar Opm::WellInterfaceGeneric< FluidSystem::Scalar >::wsalt_ ( ) const
protectedinherited

◆ wsolvent()

FluidSystem::Scalar Opm::WellInterfaceGeneric< FluidSystem::Scalar >::wsolvent ( ) const
inherited

◆ wurea()

template<typename TypeTag >
WellInterface< TypeTag >::Scalar Opm::WellInterface< TypeTag >::wurea
protectedinherited

◆ wurea_()

FluidSystem::Scalar Opm::WellInterfaceGeneric< FluidSystem::Scalar >::wurea_ ( ) const
protectedinherited

◆ zeroGroupRateTarget()

bool Opm::WellInterfaceFluidSystem< GetPropType< TypeTag, Properties::FluidSystem > >::zeroGroupRateTarget ( const SummaryState &  summary_state,
const Schedule &  schedule,
const WellState< Scalar > &  well_state,
const GroupState< Scalar > &  group_state,
DeferredLogger deferredLogger 
) const
protectedinherited

Member Data Documentation

◆ B_avg_

template<typename TypeTag >
std::vector<Scalar> Opm::WellInterface< TypeTag >::B_avg_
protectedinherited

◆ baseif_

◆ bore_diameters_

std::vector<FluidSystem::Scalar > Opm::WellInterfaceGeneric< FluidSystem::Scalar >::bore_diameters_
protectedinherited

◆ cell_perforation_depth_diffs_

std::vector<Scalar> Opm::MultisegmentWellEval< GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Indices > >::cell_perforation_depth_diffs_
protectedinherited

◆ cell_perforation_pressure_diffs_

std::vector<Scalar> Opm::MultisegmentWellEval< GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Indices > >::cell_perforation_pressure_diffs_
protectedinherited

◆ changed_to_open_this_step_

bool Opm::WellInterfaceGeneric< FluidSystem::Scalar >::changed_to_open_this_step_
protectedinherited

◆ changed_to_stopped_this_step_

template<typename TypeTag >
bool Opm::WellInterface< TypeTag >::changed_to_stopped_this_step_ = false
protectedinherited

◆ completions_

std::map<int, std::vector<int> > Opm::WellInterfaceGeneric< FluidSystem::Scalar >::completions_
protectedinherited

◆ connectionRates_

template<typename TypeTag >
std::vector<RateVector> Opm::WellInterface< TypeTag >::connectionRates_
protectedinherited

◆ current_step_

const int Opm::WellInterfaceGeneric< FluidSystem::Scalar >::current_step_
protectedinherited

◆ debug_cost_counter_

template<typename TypeTag >
int Opm::MultisegmentWell< TypeTag >::debug_cost_counter_ = 0
mutableprotected

◆ dynamic_thp_limit_

std::optional<FluidSystem::Scalar > Opm::WellInterfaceGeneric< FluidSystem::Scalar >::dynamic_thp_limit_
protectedinherited

◆ Gas

constexpr int Opm::WellInterfaceFluidSystem< GetPropType< TypeTag, Properties::FluidSystem > >::Gas
staticconstexprinherited

◆ gravity_

FluidSystem::Scalar Opm::WellInterfaceGeneric< FluidSystem::Scalar >::gravity_
protectedinherited

◆ guide_rate_

const GuideRate* Opm::WellInterfaceGeneric< FluidSystem::Scalar >::guide_rate_
protectedinherited

◆ has_brine

template<typename TypeTag >
constexpr bool Opm::WellInterface< TypeTag >::has_brine = getPropValue<TypeTag, Properties::EnableBrine>()
staticconstexprinherited

◆ 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 >
constexpr bool Opm::WellInterface< TypeTag >::has_energy = getPropValue<TypeTag, Properties::EnableEnergy>()
staticconstexprinherited

◆ has_foam

template<typename TypeTag >
constexpr bool Opm::WellInterface< TypeTag >::has_foam = getPropValue<TypeTag, Properties::EnableFoam>()
staticconstexprinherited

◆ has_micp

template<typename TypeTag >
constexpr bool Opm::WellInterface< TypeTag >::has_micp = getPropValue<TypeTag, Properties::EnableMICP>()
staticconstexprinherited

◆ has_polymer

template<typename TypeTag >
constexpr bool Opm::WellInterface< TypeTag >::has_polymer
staticconstexpr

◆ has_polymermw

template<typename TypeTag >
constexpr bool Opm::WellInterface< TypeTag >::has_polymermw = getPropValue<TypeTag, Properties::EnablePolymerMW>()
staticconstexprinherited

◆ has_saltPrecip

template<typename TypeTag >
constexpr bool Opm::WellInterface< TypeTag >::has_saltPrecip = getPropValue<TypeTag, Properties::EnableSaltPrecipitation>()
staticconstexprinherited

◆ has_solvent

template<typename TypeTag >
constexpr bool Opm::WellInterface< TypeTag >::has_solvent
staticconstexpr

◆ 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_zFraction

template<typename TypeTag >
constexpr bool Opm::WellInterface< TypeTag >::has_zFraction = getPropValue<TypeTag, Properties::EnableExtbo>()
staticconstexprinherited

◆ index_of_well_

int Opm::WellInterfaceGeneric< FluidSystem::Scalar >::index_of_well_
protectedinherited

◆ inj_fc_multiplier_

std::vector<FluidSystem::Scalar > Opm::WellInterfaceGeneric< FluidSystem::Scalar >::inj_fc_multiplier_
protectedinherited

◆ inj_multiplier_

std::vector<FluidSystem::Scalar > Opm::WellInterfaceGeneric< FluidSystem::Scalar >::inj_multiplier_
mutableprotectedinherited

◆ INVALIDCOMPLETION

constexpr int Opm::WellInterfaceFluidSystem< GetPropType< TypeTag, Properties::FluidSystem > >::INVALIDCOMPLETION
staticconstexprprotectedinherited

◆ ipr_a_

std::vector<FluidSystem::Scalar > Opm::WellInterfaceGeneric< FluidSystem::Scalar >::ipr_a_
mutableprotectedinherited

◆ ipr_b_

std::vector<FluidSystem::Scalar > Opm::WellInterfaceGeneric< FluidSystem::Scalar >::ipr_b_
mutableprotectedinherited

◆ linSys_

The equation system.

◆ num_components_

const int Opm::WellInterfaceGeneric< FluidSystem::Scalar >::num_components_
protectedinherited

◆ number_of_perforations_

int Opm::WellInterfaceGeneric< FluidSystem::Scalar >::number_of_perforations_
protectedinherited

◆ number_of_phases_

int Opm::WellInterfaceGeneric< FluidSystem::Scalar >::number_of_phases_
protectedinherited

◆ numWellEq

constexpr int Opm::MultisegmentWellEval< GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Indices > >::numWellEq
staticconstexprprotectedinherited

◆ Oil

constexpr int Opm::WellInterfaceFluidSystem< GetPropType< TypeTag, Properties::FluidSystem > >::Oil
staticconstexprinherited

◆ operability_status_

OperabilityStatus Opm::WellInterfaceGeneric< FluidSystem::Scalar >::operability_status_
protectedinherited

◆ parallel_well_info_

const ParallelWellInfo<FluidSystem::Scalar >& Opm::WellInterfaceGeneric< FluidSystem::Scalar >::parallel_well_info_
protectedinherited

◆ param_

template<typename TypeTag >
const ModelParameters& Opm::WellInterface< TypeTag >::param_
protectedinherited

◆ perf_data_

const std::vector<PerforationData<FluidSystem::Scalar > >* Opm::WellInterfaceGeneric< FluidSystem::Scalar >::perf_data_
protectedinherited

◆ perf_depth_

std::vector<FluidSystem::Scalar > Opm::WellInterfaceGeneric< FluidSystem::Scalar >::perf_depth_
protectedinherited

◆ perf_length_

std::vector<FluidSystem::Scalar > Opm::WellInterfaceGeneric< FluidSystem::Scalar >::perf_length_
protectedinherited

◆ perf_rep_radius_

std::vector<FluidSystem::Scalar > Opm::WellInterfaceGeneric< FluidSystem::Scalar >::perf_rep_radius_
protectedinherited

◆ phase_usage_

const PhaseUsage* Opm::WellInterfaceGeneric< FluidSystem::Scalar >::phase_usage_
protectedinherited

◆ prev_inj_multiplier_

std::vector<FluidSystem::Scalar > Opm::WellInterfaceGeneric< FluidSystem::Scalar >::prev_inj_multiplier_
protectedinherited

◆ primary_variables_

PrimaryVariables Opm::MultisegmentWellEval< GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Indices > >::primary_variables_
protectedinherited

The primary variables.

◆ pvtRegionIdx_

const int Opm::WellInterfaceGeneric< FluidSystem::Scalar >::pvtRegionIdx_
protectedinherited

◆ rateConverter_

const RateConverterType& Opm::WellInterfaceFluidSystem< GetPropType< TypeTag, Properties::FluidSystem > >::rateConverter_
protectedinherited

◆ ref_depth_

FluidSystem::Scalar Opm::WellInterfaceGeneric< FluidSystem::Scalar >::ref_depth_
protectedinherited

◆ regularize_

template<typename TypeTag >
bool Opm::MultisegmentWell< TypeTag >::regularize_
protected

◆ saturation_table_number_

std::vector<int> Opm::WellInterfaceGeneric< FluidSystem::Scalar >::saturation_table_number_
protectedinherited

◆ segment_fluid_initial_

template<typename TypeTag >
std::vector<std::vector<Scalar> > Opm::MultisegmentWell< TypeTag >::segment_fluid_initial_
protected

◆ segments_

Segment properties.

◆ SPres

constexpr int Opm::MultisegmentWellEval< GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Indices > >::SPres
staticconstexprprotectedinherited

◆ thp_update_iterations

template<typename TypeTag >
bool Opm::WellInterface< TypeTag >::thp_update_iterations = false
protectedinherited

◆ vfp_properties_

const VFPProperties<FluidSystem::Scalar >* Opm::WellInterfaceGeneric< FluidSystem::Scalar >::vfp_properties_
protectedinherited

◆ Water

constexpr int Opm::WellInterfaceFluidSystem< GetPropType< TypeTag, Properties::FluidSystem > >::Water
staticconstexprinherited

◆ well_cells_

std::vector<int> Opm::WellInterfaceGeneric< FluidSystem::Scalar >::well_cells_
protectedinherited

◆ well_control_log_

std::vector<std::string> Opm::WellInterfaceGeneric< FluidSystem::Scalar >::well_control_log_
protectedinherited

◆ well_ecl_

Well Opm::WellInterfaceGeneric< FluidSystem::Scalar >::well_ecl_
protectedinherited

◆ well_efficiency_factor_

FluidSystem::Scalar Opm::WellInterfaceGeneric< FluidSystem::Scalar >::well_efficiency_factor_
protectedinherited

◆ well_index_

std::vector<FluidSystem::Scalar > Opm::WellInterfaceGeneric< FluidSystem::Scalar >::well_index_
protectedinherited

◆ wellStatus_

Well::Status Opm::WellInterfaceGeneric< FluidSystem::Scalar >::wellStatus_
protectedinherited

◆ WQTotal

constexpr int Opm::MultisegmentWellEval< GetPropType< TypeTag, Properties::FluidSystem > , GetPropType< TypeTag, Properties::Indices > >::WQTotal
staticconstexprprotectedinherited

◆ wsolvent_

FluidSystem::Scalar Opm::WellInterfaceGeneric< FluidSystem::Scalar >::wsolvent_
protectedinherited

The documentation for this class was generated from the following files: