Opm::BlackoilWellModelGeneric< Scalar > Class Template Referenceabstract

Class for handling the blackoil well model. More...

#include <BlackoilWellModelGeneric.hpp>

Inheritance diagram for Opm::BlackoilWellModelGeneric< Scalar >:
Inheritance graph

Classes

class  ConnectionIndexMap
 Connection index mappings. More...
 

Public Types

using GLiftOptWells = std::map< std::string, std::unique_ptr< GasLiftSingleWellGeneric > >
 
using GLiftProdWells = std::map< std::string, const WellInterfaceGeneric * >
 
using GLiftWellStateMap = std::map< std::string, std::unique_ptr< GasLiftWellState > >
 

Public Member Functions

 BlackoilWellModelGeneric (Schedule &schedule, const SummaryState &summaryState, const EclipseState &eclState, const PhaseUsage &phase_usage, const Parallel::Communication &comm)
 
virtual ~BlackoilWellModelGeneric ()=default
 
int numLocalWells () const
 
int numLocalWellsEnd () const
 
int numLocalNonshutWells () const
 
int numPhases () const
 
bool wellsActive () const
 return true if wells are available in the reservoir More...
 
bool hasWell (const std::string &wname) const
 
bool networkActive () const
 return true if network is active (at least one network well in prediction mode) More...
 
bool anyMSWellOpenLocal () const
 
const Well & getWellEcl (const std::string &well_name) const
 
std::vector< Well > getLocalWells (const int timeStepIdx) const
 
const Schedule & schedule () const
 
const PhaseUsagephaseUsage () const
 
const GroupState< Scalar > & groupState () const
 
std::vector< const WellInterfaceGeneric * > genericWells () const
 
const WellState< Scalar > & wellState () const
 
WellState< Scalar > & wellState ()
 
const WellState< Scalar > & nupcolWellState () const
 
GroupState< Scalar > & groupState ()
 
WellTestState & wellTestState ()
 
const WellTestState & wellTestState () const
 
Scalar wellPI (const int well_index) const
 
Scalar wellPI (const std::string &well_name) const
 
void updateEclWells (const int timeStepIdx, const SimulatorUpdate &sim_update, const SummaryState &st)
 
void initFromRestartFile (const RestartValue &restartValues, WellTestState wtestState, const std::size_t numCells, bool handle_ms_well)
 
void prepareDeserialize (int report_step, const std::size_t numCells, bool handle_ms_well)
 
void commitWGState ()
 
data::GroupAndNetworkValues groupAndNetworkData (const int reportStepIdx) const
 
bool hasTHPConstraints () const
 Return true if any well has a THP constraint. More...
 
void updateNetworkActiveState (const int report_step)
 Checks if network is active (at least one network well on prediction). More...
 
bool needPreStepNetworkRebalance (const int report_step) const
 
bool forceShutWellByName (const std::string &wellname, const double simulation_time)
 
const std::vector< PerforationData > & perfData (const int well_idx) const
 
const Parallel::Communicationcomm () const
 
const EclipseState & eclipseState () const
 
const SummaryState & summaryState () const
 
const GuideRate & guideRate () const
 
bool reportStepStarts () const
 
bool shouldBalanceNetwork (const int reportStepIndex, const int iterationIdx) const
 
void updateClosedWellsThisStep (const std::string &well_name) const
 
bool wasDynamicallyShutThisTimeStep (const std::string &well_name) const
 
template<class Serializer >
void serializeOp (Serializer &serializer)
 
bool operator== (const BlackoilWellModelGeneric &rhs) const
 

Protected Types

using WellTracerRates = std::map< std::pair< std::string, std::string >, Scalar >
 

Protected Member Functions

const WellState< Scalar > & prevWellState () const
 
const WGState< Scalar > & prevWGState () const
 
void commitWGState (WGState< Scalar > wgstate)
 
void resetWGState ()
 
void updateNupcolWGState ()
 
std::vector< std::reference_wrapper< ParallelWellInfo > > createLocalParallelWellInfo (const std::vector< Well > &wells)
 Create the parallel well information. More...
 
void initializeWellProdIndCalculators ()
 
void initializeWellPerfData ()
 
bool wasDynamicallyShutThisTimeStep (const int well_index) const
 
Scalar updateNetworkPressures (const int reportStepIdx)
 
void updateWsolvent (const Group &group, const int reportStepIdx, const WellState< Scalar > &wellState)
 
void setWsolvent (const Group &group, const int reportStepIdx, Scalar wsolvent)
 
virtual void calcRates (const int fipnum, const int pvtreg, const std::vector< Scalar > &production_rates, std::vector< Scalar > &resv_coeff)=0
 
virtual void calcInjRates (const int fipnum, const int pvtreg, std::vector< Scalar > &resv_coeff)=0
 
void assignShutConnections (data::Wells &wsrpt, const int reportStepIndex) const
 
void assignGroupControl (const Group &group, data::GroupData &gdata) const
 
void assignGroupValues (const int reportStepIdx, std::map< std::string, data::GroupData > &gvalues) const
 
void assignNodeValues (std::map< std::string, data::NodeData > &nodevalues, const int reportStepIdx) const
 
void calculateEfficiencyFactors (const int reportStepIdx)
 
void checkGconsaleLimits (const Group &group, WellState< Scalar > &well_state, const int reportStepIdx, DeferredLogger &deferred_logger)
 
void checkGEconLimits (const Group &group, const double simulation_time, const int report_step_idx, DeferredLogger &deferred_logger)
 
bool checkGroupHigherConstraints (const Group &group, DeferredLogger &deferred_logger, const int reportStepIdx)
 
void updateAndCommunicateGroupData (const int reportStepIdx, const int iterationIdx)
 
void inferLocalShutWells ()
 
void setRepRadiusPerfLength ()
 
void gliftDebug (const std::string &msg, DeferredLogger &deferred_logger) const
 
void gliftDebugShowALQ (DeferredLogger &deferred_logger)
 
void gasLiftOptimizationStage2 (DeferredLogger &deferred_logger, GLiftProdWells &prod_wells, GLiftOptWells &glift_wells, GasLiftGroupInfo &group_info, GLiftWellStateMap &map, const int episodeIndex)
 
virtual void computePotentials (const std::size_t widx, const WellState< Scalar > &well_state_copy, std::string &exc_msg, ExceptionType::ExcEnum &exc_type, DeferredLogger &deferred_logger)=0
 
void updateWellPotentials (const int reportStepIdx, const bool onlyAfterEvent, const SummaryConfig &summaryConfig, DeferredLogger &deferred_logger)
 
void initInjMult ()
 
void updateInjMult (DeferredLogger &deferred_logger)
 
void updateInjFCMult (DeferredLogger &deferred_logger)
 
void updateFiltrationParticleVolume (const double dt, const std::size_t water_index)
 
virtual void createWellContainer (const int time_step)=0
 
virtual void initWellContainer (const int reportStepIdx)=0
 
virtual void calculateProductivityIndexValuesShutWells (const int reportStepIdx, DeferredLogger &deferred_logger)=0
 
virtual void calculateProductivityIndexValues (DeferredLogger &deferred_logger)=0
 
void runWellPIScaling (const int reportStepIdx, DeferredLogger &local_deferredLogger)
 
virtual int compressedIndexForInterior (int cartesian_cell_idx) const =0
 get compressed index for interior cells (-1, otherwise More...
 
std::vector< int > getCellsForConnections (const Well &well) const
 
std::vector< std::vector< int > > getMaxWellConnections () const
 
std::vector< std::string > getWellsForTesting (const int timeStepIdx, const double simulationTime)
 
void assignWellTracerRates (data::Wells &wsrpt, const WellTracerRates &wellTracerRates) const
 

Protected Attributes

Schedule & schedule_
 
const SummaryState & summaryState_
 
const EclipseState & eclState_
 
const Parallel::Communicationcomm_
 
PhaseUsage phase_usage_
 
bool terminal_output_ {false}
 
bool wells_active_ {false}
 
bool network_active_ {false}
 
bool initial_step_ {}
 
bool report_step_starts_ {}
 
std::optional< int > last_run_wellpi_ {}
 
std::vector< Well > wells_ecl_
 
std::vector< std::vector< PerforationData > > well_perf_data_
 
std::vector< ConnectionIndexMapconn_idx_map_ {}
 
std::function< bool(const Well &)> not_on_process_ {}
 
std::vector< WellInterfaceGeneric * > well_container_generic_ {}
 
std::vector< int > local_shut_wells_ {}
 
std::vector< ParallelWellInfoparallel_well_info_
 
std::vector< std::reference_wrapper< ParallelWellInfo > > local_parallel_well_info_
 
std::vector< WellProdIndexCalculatorprod_index_calc_
 
ParallelWBPCalculation wbpCalculationService_
 
std::vector< int > pvt_region_idx_
 
std::unordered_set< std::string > closed_this_step_
 
GuideRate guideRate_
 
std::unique_ptr< VFPPropertiesvfp_properties_ {}
 
std::map< std::string, Scalar > node_pressures_
 
std::unordered_map< std::string, std::vector< Scalar > > prev_inj_multipliers_
 
std::unordered_map< std::string, WellFilterCake< Scalar > > filter_cake_
 
WGState< Scalar > active_wgstate_
 
WGState< Scalar > last_valid_wgstate_
 
WGState< Scalar > nupcol_wgstate_
 
bool glift_debug = false
 
double last_glift_opt_time_ = -1.0
 
bool wellStructureChangedDynamically_ {false}
 
std::map< std::string, std::string > switched_prod_groups_
 
std::map< std::pair< std::string, Phase >, std::string > switched_inj_groups_
 
std::map< std::string, std::pair< std::string, std::string > > closed_offending_wells_
 

Detailed Description

template<class Scalar>
class Opm::BlackoilWellModelGeneric< Scalar >

Class for handling the blackoil well model.

Member Typedef Documentation

◆ GLiftOptWells

template<class Scalar >
using Opm::BlackoilWellModelGeneric< Scalar >::GLiftOptWells = std::map<std::string, std::unique_ptr<GasLiftSingleWellGeneric> >

◆ GLiftProdWells

template<class Scalar >
using Opm::BlackoilWellModelGeneric< Scalar >::GLiftProdWells = std::map<std::string, const WellInterfaceGeneric*>

◆ GLiftWellStateMap

template<class Scalar >
using Opm::BlackoilWellModelGeneric< Scalar >::GLiftWellStateMap = std::map<std::string, std::unique_ptr<GasLiftWellState> >

◆ WellTracerRates

template<class Scalar >
using Opm::BlackoilWellModelGeneric< Scalar >::WellTracerRates = std::map<std::pair<std::string, std::string>, Scalar>
protected

Constructor & Destructor Documentation

◆ BlackoilWellModelGeneric()

template<class Scalar >
Opm::BlackoilWellModelGeneric< Scalar >::BlackoilWellModelGeneric ( Schedule &  schedule,
const SummaryState &  summaryState,
const EclipseState &  eclState,
const PhaseUsage phase_usage,
const Parallel::Communication comm 
)

◆ ~BlackoilWellModelGeneric()

template<class Scalar >
virtual Opm::BlackoilWellModelGeneric< Scalar >::~BlackoilWellModelGeneric ( )
virtualdefault

Member Function Documentation

◆ anyMSWellOpenLocal()

template<class Scalar >
bool Opm::BlackoilWellModelGeneric< Scalar >::anyMSWellOpenLocal ( ) const

◆ assignGroupControl()

template<class Scalar >
void Opm::BlackoilWellModelGeneric< Scalar >::assignGroupControl ( const Group &  group,
data::GroupData &  gdata 
) const
protected

◆ assignGroupValues()

template<class Scalar >
void Opm::BlackoilWellModelGeneric< Scalar >::assignGroupValues ( const int  reportStepIdx,
std::map< std::string, data::GroupData > &  gvalues 
) const
protected

◆ assignNodeValues()

template<class Scalar >
void Opm::BlackoilWellModelGeneric< Scalar >::assignNodeValues ( std::map< std::string, data::NodeData > &  nodevalues,
const int  reportStepIdx 
) const
protected

◆ assignShutConnections()

template<class Scalar >
void Opm::BlackoilWellModelGeneric< Scalar >::assignShutConnections ( data::Wells &  wsrpt,
const int  reportStepIndex 
) const
protected

◆ assignWellTracerRates()

template<class Scalar >
void Opm::BlackoilWellModelGeneric< Scalar >::assignWellTracerRates ( data::Wells &  wsrpt,
const WellTracerRates wellTracerRates 
) const
protected

◆ calcInjRates()

template<class Scalar >
virtual void Opm::BlackoilWellModelGeneric< Scalar >::calcInjRates ( const int  fipnum,
const int  pvtreg,
std::vector< Scalar > &  resv_coeff 
)
protectedpure virtual

◆ calcRates()

template<class Scalar >
virtual void Opm::BlackoilWellModelGeneric< Scalar >::calcRates ( const int  fipnum,
const int  pvtreg,
const std::vector< Scalar > &  production_rates,
std::vector< Scalar > &  resv_coeff 
)
protectedpure virtual

◆ calculateEfficiencyFactors()

template<class Scalar >
void Opm::BlackoilWellModelGeneric< Scalar >::calculateEfficiencyFactors ( const int  reportStepIdx)
protected

◆ calculateProductivityIndexValues()

template<class Scalar >
virtual void Opm::BlackoilWellModelGeneric< Scalar >::calculateProductivityIndexValues ( DeferredLogger deferred_logger)
protectedpure virtual

◆ calculateProductivityIndexValuesShutWells()

template<class Scalar >
virtual void Opm::BlackoilWellModelGeneric< Scalar >::calculateProductivityIndexValuesShutWells ( const int  reportStepIdx,
DeferredLogger deferred_logger 
)
protectedpure virtual

◆ checkGconsaleLimits()

template<class Scalar >
void Opm::BlackoilWellModelGeneric< Scalar >::checkGconsaleLimits ( const Group &  group,
WellState< Scalar > &  well_state,
const int  reportStepIdx,
DeferredLogger deferred_logger 
)
protected

◆ checkGEconLimits()

template<class Scalar >
void Opm::BlackoilWellModelGeneric< Scalar >::checkGEconLimits ( const Group &  group,
const double  simulation_time,
const int  report_step_idx,
DeferredLogger deferred_logger 
)
protected

◆ checkGroupHigherConstraints()

template<class Scalar >
bool Opm::BlackoilWellModelGeneric< Scalar >::checkGroupHigherConstraints ( const Group &  group,
DeferredLogger deferred_logger,
const int  reportStepIdx 
)
protected

◆ comm()

template<class Scalar >
const Parallel::Communication & Opm::BlackoilWellModelGeneric< Scalar >::comm ( ) const
inline

◆ commitWGState() [1/2]

◆ commitWGState() [2/2]

template<class Scalar >
void Opm::BlackoilWellModelGeneric< Scalar >::commitWGState ( WGState< Scalar >  wgstate)
inlineprotected

◆ compressedIndexForInterior()

template<class Scalar >
virtual int Opm::BlackoilWellModelGeneric< Scalar >::compressedIndexForInterior ( int  cartesian_cell_idx) const
protectedpure virtual

get compressed index for interior cells (-1, otherwise

Implemented in Opm::BlackoilWellModel< TypeTag >.

◆ computePotentials()

template<class Scalar >
virtual void Opm::BlackoilWellModelGeneric< Scalar >::computePotentials ( const std::size_t  widx,
const WellState< Scalar > &  well_state_copy,
std::string &  exc_msg,
ExceptionType::ExcEnum exc_type,
DeferredLogger deferred_logger 
)
protectedpure virtual

◆ createLocalParallelWellInfo()

template<class Scalar >
std::vector< std::reference_wrapper< ParallelWellInfo > > Opm::BlackoilWellModelGeneric< Scalar >::createLocalParallelWellInfo ( const std::vector< Well > &  wells)
protected

Create the parallel well information.

Parameters
localWellsThe local wells from ECL schedule

◆ createWellContainer()

template<class Scalar >
virtual void Opm::BlackoilWellModelGeneric< Scalar >::createWellContainer ( const int  time_step)
protectedpure virtual

◆ eclipseState()

template<class Scalar >
const EclipseState & Opm::BlackoilWellModelGeneric< Scalar >::eclipseState ( ) const
inline

◆ forceShutWellByName()

template<class Scalar >
bool Opm::BlackoilWellModelGeneric< Scalar >::forceShutWellByName ( const std::string &  wellname,
const double  simulation_time 
)

Shut down any single well Returns true if the well was actually found and shut.

◆ gasLiftOptimizationStage2()

template<class Scalar >
void Opm::BlackoilWellModelGeneric< Scalar >::gasLiftOptimizationStage2 ( DeferredLogger deferred_logger,
GLiftProdWells prod_wells,
GLiftOptWells glift_wells,
GasLiftGroupInfo group_info,
GLiftWellStateMap map,
const int  episodeIndex 
)
protected

◆ genericWells()

template<class Scalar >
std::vector< const WellInterfaceGeneric * > Opm::BlackoilWellModelGeneric< Scalar >::genericWells ( ) const
inline

◆ getCellsForConnections()

template<class Scalar >
std::vector< int > Opm::BlackoilWellModelGeneric< Scalar >::getCellsForConnections ( const Well &  well) const
protected

◆ getLocalWells()

template<class Scalar >
std::vector< Well > Opm::BlackoilWellModelGeneric< Scalar >::getLocalWells ( const int  timeStepIdx) const

◆ getMaxWellConnections()

template<class Scalar >
std::vector< std::vector< int > > Opm::BlackoilWellModelGeneric< Scalar >::getMaxWellConnections ( ) const
protected

◆ getWellEcl()

template<class Scalar >
const Well & Opm::BlackoilWellModelGeneric< Scalar >::getWellEcl ( const std::string &  well_name) const

◆ getWellsForTesting()

template<class Scalar >
std::vector< std::string > Opm::BlackoilWellModelGeneric< Scalar >::getWellsForTesting ( const int  timeStepIdx,
const double  simulationTime 
)
protected

◆ gliftDebug()

template<class Scalar >
void Opm::BlackoilWellModelGeneric< Scalar >::gliftDebug ( const std::string &  msg,
DeferredLogger deferred_logger 
) const
protected

◆ gliftDebugShowALQ()

template<class Scalar >
void Opm::BlackoilWellModelGeneric< Scalar >::gliftDebugShowALQ ( DeferredLogger deferred_logger)
protected

◆ groupAndNetworkData()

template<class Scalar >
data::GroupAndNetworkValues Opm::BlackoilWellModelGeneric< Scalar >::groupAndNetworkData ( const int  reportStepIdx) const

◆ groupState() [1/2]

template<class Scalar >
GroupState< Scalar > & Opm::BlackoilWellModelGeneric< Scalar >::groupState ( )
inline

◆ groupState() [2/2]

template<class Scalar >
const GroupState< Scalar > & Opm::BlackoilWellModelGeneric< Scalar >::groupState ( ) const
inline

◆ guideRate()

template<class Scalar >
const GuideRate & Opm::BlackoilWellModelGeneric< Scalar >::guideRate ( ) const
inline

◆ hasTHPConstraints()

template<class Scalar >
bool Opm::BlackoilWellModelGeneric< Scalar >::hasTHPConstraints ( ) const

Return true if any well has a THP constraint.

◆ hasWell()

template<class Scalar >
bool Opm::BlackoilWellModelGeneric< Scalar >::hasWell ( const std::string &  wname) const

◆ inferLocalShutWells()

template<class Scalar >
void Opm::BlackoilWellModelGeneric< Scalar >::inferLocalShutWells ( )
protected

◆ initFromRestartFile()

template<class Scalar >
void Opm::BlackoilWellModelGeneric< Scalar >::initFromRestartFile ( const RestartValue &  restartValues,
WellTestState  wtestState,
const std::size_t  numCells,
bool  handle_ms_well 
)

◆ initializeWellPerfData()

template<class Scalar >
void Opm::BlackoilWellModelGeneric< Scalar >::initializeWellPerfData ( )
protected

◆ initializeWellProdIndCalculators()

template<class Scalar >
void Opm::BlackoilWellModelGeneric< Scalar >::initializeWellProdIndCalculators ( )
protected

◆ initInjMult()

template<class Scalar >
void Opm::BlackoilWellModelGeneric< Scalar >::initInjMult ( )
protected

◆ initWellContainer()

template<class Scalar >
virtual void Opm::BlackoilWellModelGeneric< Scalar >::initWellContainer ( const int  reportStepIdx)
protectedpure virtual

◆ needPreStepNetworkRebalance()

template<class Scalar >
bool Opm::BlackoilWellModelGeneric< Scalar >::needPreStepNetworkRebalance ( const int  report_step) const

Checks if there are reasons to perform a pre-step network re-balance. (Currently, the only reasons are network well status changes.) (TODO: Consider if adding network change events would be helpful.)

◆ networkActive()

template<class Scalar >
bool Opm::BlackoilWellModelGeneric< Scalar >::networkActive ( ) const

return true if network is active (at least one network well in prediction mode)

◆ numLocalNonshutWells()

template<class Scalar >
int Opm::BlackoilWellModelGeneric< Scalar >::numLocalNonshutWells ( ) const

◆ numLocalWells()

template<class Scalar >
int Opm::BlackoilWellModelGeneric< Scalar >::numLocalWells ( ) const

◆ numLocalWellsEnd()

template<class Scalar >
int Opm::BlackoilWellModelGeneric< Scalar >::numLocalWellsEnd ( ) const

◆ numPhases()

template<class Scalar >
int Opm::BlackoilWellModelGeneric< Scalar >::numPhases ( ) const

◆ nupcolWellState()

template<class Scalar >
const WellState< Scalar > & Opm::BlackoilWellModelGeneric< Scalar >::nupcolWellState ( ) const
inline

◆ operator==()

◆ perfData()

template<class Scalar >
const std::vector< PerforationData > & Opm::BlackoilWellModelGeneric< Scalar >::perfData ( const int  well_idx) const
inline

◆ phaseUsage()

template<class Scalar >
const PhaseUsage & Opm::BlackoilWellModelGeneric< Scalar >::phaseUsage ( ) const
inline

◆ prepareDeserialize()

template<class Scalar >
void Opm::BlackoilWellModelGeneric< Scalar >::prepareDeserialize ( int  report_step,
const std::size_t  numCells,
bool  handle_ms_well 
)

◆ prevWellState()

template<class Scalar >
const WellState< Scalar > & Opm::BlackoilWellModelGeneric< Scalar >::prevWellState ( ) const
inlineprotected

◆ prevWGState()

template<class Scalar >
const WGState< Scalar > & Opm::BlackoilWellModelGeneric< Scalar >::prevWGState ( ) const
inlineprotected

◆ reportStepStarts()

template<class Scalar >
bool Opm::BlackoilWellModelGeneric< Scalar >::reportStepStarts ( ) const
inline

◆ resetWGState()

◆ runWellPIScaling()

template<class Scalar >
void Opm::BlackoilWellModelGeneric< Scalar >::runWellPIScaling ( const int  reportStepIdx,
DeferredLogger local_deferredLogger 
)
protected

◆ schedule()

template<class Scalar >
const Schedule & Opm::BlackoilWellModelGeneric< Scalar >::schedule ( ) const
inline

◆ serializeOp()

◆ setRepRadiusPerfLength()

template<class Scalar >
void Opm::BlackoilWellModelGeneric< Scalar >::setRepRadiusPerfLength ( )
protected

◆ setWsolvent()

template<class Scalar >
void Opm::BlackoilWellModelGeneric< Scalar >::setWsolvent ( const Group &  group,
const int  reportStepIdx,
Scalar  wsolvent 
)
protected

◆ shouldBalanceNetwork()

template<class Scalar >
bool Opm::BlackoilWellModelGeneric< Scalar >::shouldBalanceNetwork ( const int  reportStepIndex,
const int  iterationIdx 
) const

◆ summaryState()

template<class Scalar >
const SummaryState & Opm::BlackoilWellModelGeneric< Scalar >::summaryState ( ) const
inline

◆ updateAndCommunicateGroupData()

template<class Scalar >
void Opm::BlackoilWellModelGeneric< Scalar >::updateAndCommunicateGroupData ( const int  reportStepIdx,
const int  iterationIdx 
)
protected

◆ updateClosedWellsThisStep()

template<class Scalar >
void Opm::BlackoilWellModelGeneric< Scalar >::updateClosedWellsThisStep ( const std::string &  well_name) const
inline

◆ updateEclWells()

template<class Scalar >
void Opm::BlackoilWellModelGeneric< Scalar >::updateEclWells ( const int  timeStepIdx,
const SimulatorUpdate &  sim_update,
const SummaryState &  st 
)

◆ updateFiltrationParticleVolume()

template<class Scalar >
void Opm::BlackoilWellModelGeneric< Scalar >::updateFiltrationParticleVolume ( const double  dt,
const std::size_t  water_index 
)
protected

◆ updateInjFCMult()

template<class Scalar >
void Opm::BlackoilWellModelGeneric< Scalar >::updateInjFCMult ( DeferredLogger deferred_logger)
protected

◆ updateInjMult()

template<class Scalar >
void Opm::BlackoilWellModelGeneric< Scalar >::updateInjMult ( DeferredLogger deferred_logger)
protected

◆ updateNetworkActiveState()

template<class Scalar >
void Opm::BlackoilWellModelGeneric< Scalar >::updateNetworkActiveState ( const int  report_step)

Checks if network is active (at least one network well on prediction).

◆ updateNetworkPressures()

template<class Scalar >
Scalar Opm::BlackoilWellModelGeneric< Scalar >::updateNetworkPressures ( const int  reportStepIdx)
protected

◆ updateNupcolWGState()

template<class Scalar >
void Opm::BlackoilWellModelGeneric< Scalar >::updateNupcolWGState ( )
inlineprotected

◆ updateWellPotentials()

template<class Scalar >
void Opm::BlackoilWellModelGeneric< Scalar >::updateWellPotentials ( const int  reportStepIdx,
const bool  onlyAfterEvent,
const SummaryConfig &  summaryConfig,
DeferredLogger deferred_logger 
)
protected

◆ updateWsolvent()

template<class Scalar >
void Opm::BlackoilWellModelGeneric< Scalar >::updateWsolvent ( const Group &  group,
const int  reportStepIdx,
const WellState< Scalar > &  wellState 
)
protected

◆ wasDynamicallyShutThisTimeStep() [1/2]

template<class Scalar >
bool Opm::BlackoilWellModelGeneric< Scalar >::wasDynamicallyShutThisTimeStep ( const int  well_index) const
protected

◆ wasDynamicallyShutThisTimeStep() [2/2]

template<class Scalar >
bool Opm::BlackoilWellModelGeneric< Scalar >::wasDynamicallyShutThisTimeStep ( const std::string &  well_name) const

◆ wellPI() [1/2]

template<class Scalar >
Scalar Opm::BlackoilWellModelGeneric< Scalar >::wellPI ( const int  well_index) const

◆ wellPI() [2/2]

template<class Scalar >
Scalar Opm::BlackoilWellModelGeneric< Scalar >::wellPI ( const std::string &  well_name) const

◆ wellsActive()

template<class Scalar >
bool Opm::BlackoilWellModelGeneric< Scalar >::wellsActive ( ) const

return true if wells are available in the reservoir

◆ wellState() [1/2]

template<class Scalar >
WellState< Scalar > & Opm::BlackoilWellModelGeneric< Scalar >::wellState ( )
inline

◆ wellState() [2/2]

template<class Scalar >
const WellState< Scalar > & Opm::BlackoilWellModelGeneric< Scalar >::wellState ( ) const
inline

◆ wellTestState() [1/2]

template<class Scalar >
WellTestState & Opm::BlackoilWellModelGeneric< Scalar >::wellTestState ( )
inline

◆ wellTestState() [2/2]

template<class Scalar >
const WellTestState & Opm::BlackoilWellModelGeneric< Scalar >::wellTestState ( ) const
inline

Member Data Documentation

◆ active_wgstate_

◆ closed_offending_wells_

template<class Scalar >
std::map<std::string, std::pair<std::string, std::string> > Opm::BlackoilWellModelGeneric< Scalar >::closed_offending_wells_
protected

◆ closed_this_step_

◆ comm_

template<class Scalar >
const Parallel::Communication& Opm::BlackoilWellModelGeneric< Scalar >::comm_
protected

◆ conn_idx_map_

template<class Scalar >
std::vector<ConnectionIndexMap> Opm::BlackoilWellModelGeneric< Scalar >::conn_idx_map_ {}
protected

◆ eclState_

template<class Scalar >
const EclipseState& Opm::BlackoilWellModelGeneric< Scalar >::eclState_
protected

◆ filter_cake_

template<class Scalar >
std::unordered_map<std::string, WellFilterCake<Scalar> > Opm::BlackoilWellModelGeneric< Scalar >::filter_cake_
protected

◆ glift_debug

template<class Scalar >
bool Opm::BlackoilWellModelGeneric< Scalar >::glift_debug = false
protected

◆ guideRate_

template<class Scalar >
GuideRate Opm::BlackoilWellModelGeneric< Scalar >::guideRate_
protected

◆ initial_step_

template<class Scalar >
bool Opm::BlackoilWellModelGeneric< Scalar >::initial_step_ {}
protected

◆ last_glift_opt_time_

template<class Scalar >
double Opm::BlackoilWellModelGeneric< Scalar >::last_glift_opt_time_ = -1.0
protected

◆ last_run_wellpi_

template<class Scalar >
std::optional<int> Opm::BlackoilWellModelGeneric< Scalar >::last_run_wellpi_ {}
protected

◆ last_valid_wgstate_

◆ local_parallel_well_info_

template<class Scalar >
std::vector<std::reference_wrapper<ParallelWellInfo> > Opm::BlackoilWellModelGeneric< Scalar >::local_parallel_well_info_
protected

◆ local_shut_wells_

template<class Scalar >
std::vector<int> Opm::BlackoilWellModelGeneric< Scalar >::local_shut_wells_ {}
protected

◆ network_active_

template<class Scalar >
bool Opm::BlackoilWellModelGeneric< Scalar >::network_active_ {false}
protected

◆ node_pressures_

template<class Scalar >
std::map<std::string, Scalar> Opm::BlackoilWellModelGeneric< Scalar >::node_pressures_
protected

◆ not_on_process_

template<class Scalar >
std::function<bool(const Well&)> Opm::BlackoilWellModelGeneric< Scalar >::not_on_process_ {}
protected

◆ nupcol_wgstate_

◆ parallel_well_info_

template<class Scalar >
std::vector<ParallelWellInfo> Opm::BlackoilWellModelGeneric< Scalar >::parallel_well_info_
protected

◆ phase_usage_

template<class Scalar >
PhaseUsage Opm::BlackoilWellModelGeneric< Scalar >::phase_usage_
protected

◆ prev_inj_multipliers_

template<class Scalar >
std::unordered_map<std::string, std::vector<Scalar> > Opm::BlackoilWellModelGeneric< Scalar >::prev_inj_multipliers_
protected

◆ prod_index_calc_

template<class Scalar >
std::vector<WellProdIndexCalculator> Opm::BlackoilWellModelGeneric< Scalar >::prod_index_calc_
protected

◆ pvt_region_idx_

template<class Scalar >
std::vector<int> Opm::BlackoilWellModelGeneric< Scalar >::pvt_region_idx_
protected

◆ report_step_starts_

◆ schedule_

template<class Scalar >
Schedule& Opm::BlackoilWellModelGeneric< Scalar >::schedule_
protected

◆ summaryState_

template<class Scalar >
const SummaryState& Opm::BlackoilWellModelGeneric< Scalar >::summaryState_
protected

◆ switched_inj_groups_

template<class Scalar >
std::map<std::pair<std::string, Phase>, std::string> Opm::BlackoilWellModelGeneric< Scalar >::switched_inj_groups_
protected

◆ switched_prod_groups_

template<class Scalar >
std::map<std::string, std::string> Opm::BlackoilWellModelGeneric< Scalar >::switched_prod_groups_
protected

◆ terminal_output_

template<class Scalar >
bool Opm::BlackoilWellModelGeneric< Scalar >::terminal_output_ {false}
protected

◆ vfp_properties_

template<class Scalar >
std::unique_ptr<VFPProperties> Opm::BlackoilWellModelGeneric< Scalar >::vfp_properties_ {}
protected

◆ wbpCalculationService_

template<class Scalar >
ParallelWBPCalculation Opm::BlackoilWellModelGeneric< Scalar >::wbpCalculationService_
mutableprotected

◆ well_container_generic_

template<class Scalar >
std::vector<WellInterfaceGeneric*> Opm::BlackoilWellModelGeneric< Scalar >::well_container_generic_ {}
protected

◆ well_perf_data_

template<class Scalar >
std::vector<std::vector<PerforationData> > Opm::BlackoilWellModelGeneric< Scalar >::well_perf_data_
protected

◆ wells_active_

template<class Scalar >
bool Opm::BlackoilWellModelGeneric< Scalar >::wells_active_ {false}
protected

◆ wells_ecl_

template<class Scalar >
std::vector<Well> Opm::BlackoilWellModelGeneric< Scalar >::wells_ecl_
protected

◆ wellStructureChangedDynamically_

template<class Scalar >
bool Opm::BlackoilWellModelGeneric< Scalar >::wellStructureChangedDynamically_ {false}
protected

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