My Project
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 >

Public Types

using Scalar = typename FluidSystem::Scalar
 
using Eval = DenseAd::Evaluation< Scalar, Indices::numEq >
 
using ModelParameters = typename WellInterfaceFluidSystem< FluidSystem >::ModelParameters
 
- Public Types inherited from Opm::WellInterfaceFluidSystem< FluidSystem >
using Scalar = typename FluidSystem::Scalar
 
using ModelParameters = typename WellInterfaceGeneric< Scalar >::ModelParameters
 
- Public Types inherited from Opm::WellInterfaceGeneric< FluidSystem::Scalar >
using ModelParameters = BlackoilModelParameters< FluidSystem::Scalar >
 

Public Member Functions

int flowPhaseToModelCompIdx (const int phaseIdx) const
 
int modelCompIdxToFlowCompIdx (const int compIdx) const
 
Scalar scalingFactor (const int phaseIdx) const
 
template<class EvalWell >
Eval restrictEval (const EvalWell &in) const
 
- Public Member Functions inherited from Opm::WellInterfaceFluidSystem< FluidSystem >
int flowPhaseToModelPhaseIdx (const int phaseIdx) const
 
const RateConverterTyperateConverter () const
 
- Public Member Functions inherited from Opm::WellInterfaceGeneric< FluidSystem::Scalar >
 WellInterfaceGeneric (const Well &well, const ParallelWellInfo< FluidSystem::Scalar > &parallel_well_info, const int time_step, const ModelParameters &param, const int pvtRegionIdx, const int num_components, const int num_phases, const int index_of_well, const std::vector< PerforationData< FluidSystem::Scalar > > &perf_data)
 
const std::vector< PerforationData< FluidSystem::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< 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).
 
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.
 
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::vector< FluidSystem::Scalar > & wellIndex () const
 
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 local_perf_index, const FluidSystem::Scalar bhp, const FluidSystem::Scalar perf_pres, DeferredLogger &dlogger) const
 
bool isVFPActive (DeferredLogger &deferred_logger) const
 
void reportWellSwitching (const SingleWellState< FluidSystem::Scalar > &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.
 
void resetWellOperability ()
 
virtual std::vector< FluidSystem::Scalar > getPrimaryVars () const
 
virtual int setPrimaryVars (typename std::vector< FluidSystem::Scalar >::const_iterator)
 
virtual FluidSystem::Scalar connectionDensity (const int globalConnIdx, const int openConnIdx) const=0
 
void addPerforations (const std::vector< RuntimePerforation > &perfs)
 

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_components, 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_components, const int num_phases, const int index_of_well, const std::vector< PerforationData< Scalar > > &perf_data)
 
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< Scalar > 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
 
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
 
- Protected Member Functions inherited from Opm::WellInterfaceGeneric< FluidSystem::Scalar >
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
 
std::pair< bool, bool > computeWellPotentials (std::vector< FluidSystem::Scalar > &well_potentials, const WellState< FluidSystem::Scalar > &well_state)
 
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 resetDampening ()
 

Additional Inherited Members

- Static Public Attributes inherited from Opm::WellInterfaceFluidSystem< FluidSystem >
static constexpr int Water = BlackoilPhases::Aqua
 
static constexpr int Oil = BlackoilPhases::Liquid
 
static constexpr int Gas = BlackoilPhases::Vapour
 
- Protected Types inherited from Opm::WellInterfaceFluidSystem< FluidSystem >
using RateConverterType = RateConverter::SurfaceToReservoirVoidage< FluidSystem, std::vector< int > >
 
- Protected Attributes inherited from Opm::WellInterfaceFluidSystem< FluidSystem >
const RateConverterTyperateConverter_
 
- Protected Attributes inherited from Opm::WellInterfaceGeneric< FluidSystem::Scalar >
OperabilityStatus operability_status_
 
Well well_ecl_
 
const ParallelWellInfo< FluidSystem::Scalar > & parallel_well_info_
 
const int current_step_
 
const ModelParametersparam_
 
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_local_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_multiplier_previter_
 
std::vector< FluidSystem::Scalar > inj_multiplier_damp_factor_
 
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_
 
- 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: