opm-simulators
Loading...
Searching...
No Matches
Opm::WellInterfaceIndices< FluidSystem, Indices > Class Template Reference
Inheritance diagram for Opm::WellInterfaceIndices< FluidSystem, Indices >:
Opm::WellInterfaceFluidSystem< FluidSystem > Opm::WellInterfaceGeneric< FluidSystem::Scalar, FluidSystem::IndexTraitsType >

Public Types

using Scalar = typename FluidSystem::Scalar
using Eval = DenseAd::Evaluation<Scalar, Indices::numDerivatives>
using ModelParameters = typename WellInterfaceFluidSystem<FluidSystem>::ModelParameters
Public Types inherited from Opm::WellInterfaceFluidSystem< FluidSystem >
using Scalar = typename FluidSystem::Scalar
using IndexTraits = typename FluidSystem::IndexTraitsType
using ModelParameters = typename WellInterfaceGeneric<Scalar, IndexTraits>::ModelParameters
using GroupStateHelperType = GroupStateHelper<Scalar, IndexTraits>
using WellStateType = WellState<Scalar, IndexTraits>
Public Types inherited from Opm::WellInterfaceGeneric< FluidSystem::Scalar, FluidSystem::IndexTraitsType >
using ModelParameters
using WellStateType

Public Member Functions

Scalar scalingFactor (const int phaseIdx) const
template<class EvalWell>
Eval restrictEval (const EvalWell &in) const
Public Member Functions inherited from Opm::WellInterfaceFluidSystem< FluidSystem >
const RateConverterType & rateConverter () const
Public Member Functions inherited from Opm::WellInterfaceGeneric< FluidSystem::Scalar, FluidSystem::IndexTraitsType >
 WellInterfaceGeneric (const Well &well, const ParallelWellInfo< Scalar > &parallel_well_info, const int time_step, const ModelParameters &param, const int pvtRegionIdx, const int num_conservation_quantities, const int num_phases, const int index_of_well, const PhaseUsageInfo< FluidSystem::IndexTraitsType > &phase_usage, const std::vector< PerforationData< Scalar > > &perf_data)
const std::vector< PerforationData< Scalar > > & perforationData () const
 Get the perforations of the well.
const std::string & name () const
 Well name.
bool isInjector () const
 True if the well is an injector.
bool isProducer () const
 True if the well is a producer.
const std::vector< int > & cells () const
 Well cells.
int indexOfWell () const
 Index of well in the wells struct and wellState.
void adaptRatesForVFP (std::vector< Scalar > &rates) const
const Well & wellEcl () const
const PhaseUsageInfo< FluidSystem::IndexTraitsType > & phaseUsage () const
bool underPredictionMode () const
 Returns true if the well is currently in prediction mode (i.e. not history mode).
bool isOperableAndSolvable () const
bool useVfpExplicit () const
bool thpLimitViolatedButNotSwitched () const
void initCompletions ()
void closeCompletions (const WellTestState &wellTestState)
void setVFPProperties (const VFPProperties< 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 Scalar efficiency_factor)
void setRepRadiusPerfLength ()
void setWsolvent (const Scalar wsolvent)
void setDynamicThpLimit (const Scalar thp_limit)
std::optional< 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.
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
Scalar refDepth () const
Scalar gravity () const
const VFPProperties< Scalar, FluidSystem::IndexTraitsType > * vfpProperties () const
const ParallelWellInfo< Scalar > & parallelWellInfo () const
const std::vector< Scalar > & perfDepth () const
const std::vector< Scalar > & wellIndex () const
const std::map< int, std::vector< int > > & getCompletions () const
Scalar getTHPConstraint (const SummaryState &summaryState) const
Scalar getALQ (const WellStateType &well_state) const
Scalar wsolvent () const
Scalar rsRvInj () const
void initInjMult (const std::vector< Scalar > &max_inj_mult)
void updateInjMult (std::vector< Scalar > &inj_multipliers, DeferredLogger &deferred_logger) const
Scalar getInjMult (const int local_perf_index, const Scalar bhp, const Scalar perf_pres, DeferredLogger &dlogger) const
bool isVFPActive (DeferredLogger &deferred_logger) const
void reportWellSwitching (const SingleWellState< Scalar, FluidSystem::IndexTraitsType > &ws, DeferredLogger &deferred_logger) const
bool changedToOpenThisStep () const
void updateWellTestState (const SingleWellState< Scalar, FluidSystem::IndexTraitsType > &ws, const double &simulationTime, const bool &writeMessageToOPMLog, const bool zero_group_target, WellTestState &wellTestState, DeferredLogger &deferred_logger) const
bool isPressureControlled (const WellStateType &well_state) const
Scalar wellEfficiencyFactor () const
void updateFilterCakeMultipliers (const std::vector< Scalar > &inj_fc_multiplier)
 Update filter cake multipliers.
void resetWellOperability ()
virtual std::vector< Scalar > getPrimaryVars () const
virtual int setPrimaryVars (typename std::vector< Scalar >::const_iterator)
virtual Scalar connectionDensity (const int globalConnIdx, const int openConnIdx) const=0
void addPerforations (const std::vector< RuntimePerforation > &perfs)

Protected Member Functions

 WellInterfaceIndices (const Well &well, const ParallelWellInfo< Scalar > &parallel_well_info, const int time_step, const ModelParameters &param, const typename WellInterfaceFluidSystem< FluidSystem >::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)
Protected Member Functions inherited from Opm::WellInterfaceFluidSystem< FluidSystem >
 WellInterfaceFluidSystem (const Well &well, const ParallelWellInfo< Scalar > &parallel_well_info, const int time_step, const ModelParameters &param, 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)
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
Protected Member Functions inherited from Opm::WellInterfaceGeneric< FluidSystem::Scalar, FluidSystem::IndexTraitsType >
bool getAllowCrossFlow () const
Scalar wmicrobes_ () const
Scalar wfoam_ () const
Scalar woxygen_ () const
Scalar wpolymer_ () const
Scalar wsalt_ () const
Scalar wurea_ () const
int polymerTable_ () const
int polymerInjTable_ () const
int polymerWaterTable_ () const
bool wellUnderZeroRateTargetIndividual (const SummaryState &summary_state, const WellState< Scalar, FluidSystem::IndexTraitsType > &well_state) const
bool wellUnderGroupControl (const SingleWellState< Scalar, FluidSystem::IndexTraitsType > &ws) const
std::pair< bool, bool > computeWellPotentials (std::vector< Scalar > &well_potentials, const WellStateType &well_state)
void checkNegativeWellPotentials (std::vector< 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 ()

Additional Inherited Members

Static Public Attributes inherited from Opm::WellInterfaceFluidSystem< FluidSystem >
static constexpr int Water = IndexTraits::waterPhaseIdx
static constexpr int Oil = IndexTraits::oilPhaseIdx
static constexpr int Gas = IndexTraits::gasPhaseIdx
Protected Types inherited from Opm::WellInterfaceFluidSystem< FluidSystem >
using RateConverterType
Protected Attributes inherited from Opm::WellInterfaceFluidSystem< FluidSystem >
const RateConverterType & rateConverter_
Protected Attributes inherited from Opm::WellInterfaceGeneric< FluidSystem::Scalar, FluidSystem::IndexTraitsType >
OperabilityStatus operability_status_
Well well_ecl_
const ParallelWellInfo< Scalar > & parallel_well_info_
const int current_step_
const ModelParameters & param_
const int pvtRegionIdx_
const int num_conservation_quantities_
int number_of_phases_
int index_of_well_
const PhaseUsageInfo< FluidSystem::IndexTraitsType > & phase_usage_
const std::vector< PerforationData< Scalar > > * perf_data_
std::vector< Scalar > ipr_a_
std::vector< Scalar > ipr_b_
std::vector< int > well_cells_
std::vector< Scalar > well_index_
int number_of_local_perforations_
std::vector< Scalar > perf_depth_
std::vector< Scalar > perf_rep_radius_
std::vector< Scalar > perf_length_
std::vector< Scalar > bore_diameters_
std::map< int, std::vector< int > > completions_
Scalar ref_depth_
std::vector< int > saturation_table_number_
Well::Status wellStatus_
Scalar gravity_
Scalar wsolvent_
std::optional< Scalar > dynamic_thp_limit_
std::vector< Scalar > inj_multiplier_
std::vector< Scalar > prev_inj_multiplier_
std::vector< Scalar > inj_multiplier_previter_
std::vector< Scalar > inj_multiplier_damp_factor_
std::vector< Scalar > inj_fc_multiplier_
Scalar well_efficiency_factor_
const VFPProperties< Scalar, FluidSystem::IndexTraitsType > * vfp_properties_
const GuideRate * guide_rate_
std::vector< std::string > well_control_log_
bool changed_to_open_this_step_
Static Protected Attributes inherited from Opm::WellInterfaceFluidSystem< FluidSystem >
static constexpr int INVALIDCOMPLETION = std::numeric_limits<int>::max()

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