Opm::GuideRateHandler< Scalar > Class Template Reference

Handles computation and reporting of guide rates for wells and groups. More...

#include <GuideRateHandler.hpp>

Classes

class  GuideRateDumper
 Responsible for formatting and printing guide rate information to logs. More...
 
class  UpdateGuideRates
 Computes and updates guide rate values for wells and groups. More...
 

Public Types

using Potentials = ReservoirCoupling::Potentials
 

Public Member Functions

 GuideRateHandler (BlackoilWellModelGeneric< Scalar > &well_model, const Schedule &schedule, const SummaryState &summary_state, const Parallel::Communication &comm)
 
bool isReservoirCouplingMaster () const
 
bool isReservoirCouplingSlave () const
 
void receiveMasterGroupPotentialsFromSlaves ()
 
ReservoirCouplingMasterreservoirCouplingMaster ()
 
ReservoirCouplingSlavereservoirCouplingSlave ()
 
void sendSlaveGroupPotentialsToMaster (const GroupState< Scalar > &group_state)
 
void setReservoirCouplingMaster (ReservoirCouplingMaster *reservoir_coupling_master)
 
void setReservoirCouplingSlave (ReservoirCouplingSlave *reservoir_coupling_slave)
 
DeferredLoggerdeferredLogger ()
 
void debugDumpGuideRates (const int report_step_idx, const double sim_time)
 Dumps guide rate information to the logger in a readable format. More...
 
const Parallel::CommunicationgetComm () const
 
void setLogger (DeferredLogger *deferred_logger)
 
const Schedule & schedule () const
 
void updateGuideRates (const int report_step_idx, const double sim_time, const WellState< Scalar > &well_state, GroupState< Scalar > &group_state)
 Updates guide rates for the current simulation step. More...
 
const BlackoilWellModelGeneric< Scalar > & wellModel () const
 

Detailed Description

template<class Scalar>
class Opm::GuideRateHandler< Scalar >

Handles computation and reporting of guide rates for wells and groups.

This class manages the update and dumping of guide rates, which are used to control and monitor the production and injection targets for wells and groups.

It integrates with the well model to compute guide rates and supports optional reservoir coupling to exchange guide rate information between master and slave models.

Template Parameters
ScalarThe scalar type (e.g., float or double) used in computations.

Member Typedef Documentation

◆ Potentials

template<class Scalar >
using Opm::GuideRateHandler< Scalar >::Potentials = ReservoirCoupling::Potentials

Constructor & Destructor Documentation

◆ GuideRateHandler()

template<class Scalar >
Opm::GuideRateHandler< Scalar >::GuideRateHandler ( BlackoilWellModelGeneric< Scalar > &  well_model,
const Schedule &  schedule,
const SummaryState &  summary_state,
const Parallel::Communication comm 
)

Member Function Documentation

◆ debugDumpGuideRates()

template<class Scalar >
void Opm::GuideRateHandler< Scalar >::debugDumpGuideRates ( const int  report_step_idx,
const double  sim_time 
)

Dumps guide rate information to the logger in a readable format.

Used mainly for debugging or inspection during simulation development.

Parameters
report_step_idxIndex of the current report step.
sim_timeCurrent simulation time.

◆ deferredLogger()

template<class Scalar >
DeferredLogger & Opm::GuideRateHandler< Scalar >::deferredLogger ( )

◆ getComm()

template<class Scalar >
const Parallel::Communication & Opm::GuideRateHandler< Scalar >::getComm ( ) const
inline

◆ isReservoirCouplingMaster()

template<class Scalar >
bool Opm::GuideRateHandler< Scalar >::isReservoirCouplingMaster ( ) const
inline

◆ isReservoirCouplingSlave()

template<class Scalar >
bool Opm::GuideRateHandler< Scalar >::isReservoirCouplingSlave ( ) const
inline

◆ receiveMasterGroupPotentialsFromSlaves()

template<class Scalar >
void Opm::GuideRateHandler< Scalar >::receiveMasterGroupPotentialsFromSlaves ( )

◆ reservoirCouplingMaster()

template<class Scalar >
ReservoirCouplingMaster & Opm::GuideRateHandler< Scalar >::reservoirCouplingMaster ( )
inline

◆ reservoirCouplingSlave()

template<class Scalar >
ReservoirCouplingSlave & Opm::GuideRateHandler< Scalar >::reservoirCouplingSlave ( )
inline

◆ schedule()

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

◆ sendSlaveGroupPotentialsToMaster()

template<class Scalar >
void Opm::GuideRateHandler< Scalar >::sendSlaveGroupPotentialsToMaster ( const GroupState< Scalar > &  group_state)

◆ setLogger()

template<class Scalar >
void Opm::GuideRateHandler< Scalar >::setLogger ( DeferredLogger deferred_logger)

◆ setReservoirCouplingMaster()

template<class Scalar >
void Opm::GuideRateHandler< Scalar >::setReservoirCouplingMaster ( ReservoirCouplingMaster reservoir_coupling_master)
inline

◆ setReservoirCouplingSlave()

template<class Scalar >
void Opm::GuideRateHandler< Scalar >::setReservoirCouplingSlave ( ReservoirCouplingSlave reservoir_coupling_slave)
inline

◆ updateGuideRates()

template<class Scalar >
void Opm::GuideRateHandler< Scalar >::updateGuideRates ( const int  report_step_idx,
const double  sim_time,
const WellState< Scalar > &  well_state,
GroupState< Scalar > &  group_state 
)

Updates guide rates for the current simulation step.

Parameters
report_step_idxIndex of the current report step.
sim_timeSimulation time at the current step.
well_stateWell state object containing current well potentials.
group_stateGroup state object to update with computed guide rates.

◆ wellModel()

template<class Scalar >
const BlackoilWellModelGeneric< Scalar > & Opm::GuideRateHandler< Scalar >::wellModel ( ) const
inline

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