#include <WellInterfaceIndices.hpp>
|
using | Scalar = typename FluidSystem::Scalar |
|
using | Eval = DenseAd::Evaluation< Scalar, Indices::numEq > |
|
|
int | flowPhaseToModelCompIdx (const int phaseIdx) const |
|
int | modelCompIdxToFlowCompIdx (const unsigned compIdx) const |
|
Scalar | scalingFactor (const int phaseIdx) const |
|
template<class EvalWell > |
Eval | restrictEval (const EvalWell &in) const |
|
int | flowPhaseToModelPhaseIdx (const int phaseIdx) const |
|
const RateConverterType & | rateConverter () 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 PhaseUsage & | phaseUsage () const |
|
bool | underPredictionMode () const |
| Returns true if the well is currently in prediction mode (i.e. not history mode). More...
|
|
bool | isOperableAndSolvable () const |
|
bool | useVfpExplicit () const |
|
bool | thpLimitViolatedButNotSwitched () const |
|
void | initCompletions () |
|
void | closeCompletions (const WellTestState &wellTestState) |
|
void | setVFPProperties (const VFPProperties< 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::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 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 () |
|
|
| WellInterfaceIndices (const Well &well, const ParallelWellInfo< Scalar > ¶llel_well_info, const int time_step, 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) |
|
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 |
|
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 |
|
◆ Eval
template<class FluidSystem , class Indices >
◆ RateConverterType
template<class FluidSystem >
using Opm::WellInterfaceFluidSystem< FluidSystem >::RateConverterType = RateConverter:: SurfaceToReservoirVoidage<FluidSystem, std::vector<int> > |
|
protectedinherited |
◆ Scalar
template<class FluidSystem , class Indices >
◆ WellInterfaceIndices()
template<class FluidSystem , class Indices >
◆ adaptRatesForVFP()
◆ calculateReservoirRates()
template<class FluidSystem >
◆ cells()
◆ changedToOpenThisStep()
◆ checkConstraints()
template<class FluidSystem >
◆ checkGroupConstraints()
template<class FluidSystem >
◆ checkIndividualConstraints()
template<class FluidSystem >
bool Opm::WellInterfaceFluidSystem< 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 |
◆ closeCompletions()
◆ computeWellPotentials()
std::pair< bool, bool > Opm::WellInterfaceGeneric< FluidSystem::Scalar >::computeWellPotentials |
( |
std::vector< FluidSystem::Scalar > & |
well_potentials, |
|
|
const WellState< FluidSystem::Scalar > & |
well_state |
|
) |
| |
|
protectedinherited |
◆ currentStep()
◆ flowPhaseToModelCompIdx()
template<class FluidSystem , class Indices >
◆ flowPhaseToModelPhaseIdx()
template<class FluidSystem >
◆ getAllowCrossFlow()
◆ getALQ()
◆ getCompletions()
◆ getDynamicThpLimit()
◆ getGroupInjectionTargetRate()
template<class FluidSystem >
◆ getGroupProductionTargetRate()
template<class FluidSystem >
◆ getInjMult()
FluidSystem::Scalar Opm::WellInterfaceGeneric< FluidSystem::Scalar >::getInjMult |
( |
const int |
perf, |
|
|
const FluidSystem::Scalar |
bhp, |
|
|
const FluidSystem::Scalar |
perf_pres |
|
) |
| const |
|
inherited |
◆ getTHPConstraint()
FluidSystem::Scalar Opm::WellInterfaceGeneric< FluidSystem::Scalar >::getTHPConstraint |
( |
const SummaryState & |
summaryState | ) |
const |
|
inherited |
◆ gravity()
◆ guideRate()
◆ indexOfWell()
Index of well in the wells struct and wellState.
◆ initCompletions()
◆ initInjMult()
void Opm::WellInterfaceGeneric< FluidSystem::Scalar >::initInjMult |
( |
const std::vector< FluidSystem::Scalar > & |
max_inj_mult | ) |
|
|
inherited |
◆ isInjector()
True if the well is an injector.
◆ isOperableAndSolvable()
◆ isPressureControlled()
◆ isProducer()
True if the well is a producer.
◆ isVFPActive()
◆ modelCompIdxToFlowCompIdx()
template<class FluidSystem , class Indices >
◆ name()
◆ numComponents()
◆ numPerfs()
◆ numPhases()
◆ openWell()
◆ parallelWellInfo()
◆ perfDepth() [1/2]
◆ perfDepth() [2/2]
◆ perforationData()
Get the perforations of the well.
◆ phaseUsage()
◆ polymerInjTable_()
◆ polymerTable_()
◆ polymerWaterTable_()
◆ 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 |
◆ pvtRegionIdx()
◆ rateConverter()
template<class FluidSystem >
◆ refDepth()
◆ reportWellSwitching()
◆ resetWellOperability()
◆ restrictEval()
template<class FluidSystem , class Indices >
template<class EvalWell >
◆ rsRvInj()
◆ scalingFactor()
template<class FluidSystem , class Indices >
◆ setDynamicThpLimit() [1/2]
◆ setDynamicThpLimit() [2/2]
void Opm::WellInterfaceGeneric< FluidSystem::Scalar >::setDynamicThpLimit |
( |
const std::optional< FluidSystem::Scalar > |
thp_limit | ) |
|
|
inherited |
◆ setGuideRate()
◆ setPrevSurfaceRates()
◆ setRepRadiusPerfLength()
◆ setVFPProperties()
◆ setWellEfficiencyFactor()
void Opm::WellInterfaceGeneric< FluidSystem::Scalar >::setWellEfficiencyFactor |
( |
const FluidSystem::Scalar |
efficiency_factor | ) |
|
|
inherited |
◆ setWsolvent()
◆ stopWell()
◆ thpLimitViolatedButNotSwitched()
◆ underPredictionMode()
Returns true if the well is currently in prediction mode (i.e. not history mode).
◆ updateFilterCakeMultipliers()
void Opm::WellInterfaceGeneric< FluidSystem::Scalar >::updateFilterCakeMultipliers |
( |
const std::vector< FluidSystem::Scalar > & |
inj_fc_multiplier | ) |
|
|
inlineinherited |
Update filter cake multipliers.
◆ updateInjMult()
◆ updatePerforatedCell()
◆ 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()
◆ vfpProperties()
◆ wellEcl() [1/2]
◆ wellEcl() [2/2]
◆ wellEfficiencyFactor()
◆ wellHasTHPConstraints()
Returns true if the well has one or more THP limits/constraints.
◆ wellIndex()
◆ wellIsStopped()
◆ wellUnderGroupControl()
◆ wellUnderZeroRateTargetIndividual()
bool Opm::WellInterfaceGeneric< FluidSystem::Scalar >::wellUnderZeroRateTargetIndividual |
( |
const SummaryState & |
summary_state, |
|
|
const WellState< FluidSystem::Scalar > & |
well_state |
|
) |
| const |
|
protectedinherited |
◆ wfoam_()
◆ wmicrobes_()
◆ woxygen_()
◆ wpolymer_()
◆ wsalt_()
◆ wsolvent()
◆ wurea_()
◆ zeroGroupRateTarget()
template<class FluidSystem >
◆ bore_diameters_
◆ changed_to_open_this_step_
◆ completions_
◆ current_step_
◆ dynamic_thp_limit_
◆ Gas
template<class FluidSystem >
◆ gravity_
◆ guide_rate_
◆ index_of_well_
◆ inj_fc_multiplier_
◆ inj_multiplier_
|
mutableprotectedinherited |
◆ INVALIDCOMPLETION
template<class FluidSystem >
|
staticconstexprprotectedinherited |
◆ ipr_a_
|
mutableprotectedinherited |
◆ ipr_b_
|
mutableprotectedinherited |
◆ num_components_
◆ number_of_perforations_
◆ number_of_phases_
◆ Oil
template<class FluidSystem >
◆ operability_status_
◆ parallel_well_info_
◆ perf_data_
◆ perf_depth_
◆ perf_length_
◆ perf_rep_radius_
◆ phase_usage_
◆ prev_inj_multiplier_
◆ pvtRegionIdx_
◆ rateConverter_
template<class FluidSystem >
◆ ref_depth_
◆ saturation_table_number_
◆ vfp_properties_
◆ Water
template<class FluidSystem >
◆ well_cells_
◆ well_control_log_
◆ well_ecl_
◆ well_efficiency_factor_
◆ well_index_
◆ wellStatus_
◆ wsolvent_
The documentation for this class was generated from the following files:
|