Opm::GuideRateHandler< Scalar, IndexTraits > 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, IndexTraits > &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, IndexTraits > &well_state, GroupState< Scalar > &group_state)
 Updates guide rates for the current simulation step. More...
 
const BlackoilWellModelGeneric< Scalar, IndexTraits > & wellModel () const
 

Detailed Description

template<typename Scalar, typename IndexTraits>
class Opm::GuideRateHandler< Scalar, IndexTraits >

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<typename Scalar , typename IndexTraits >
using Opm::GuideRateHandler< Scalar, IndexTraits >::Potentials = ReservoirCoupling::Potentials

Constructor & Destructor Documentation

◆ GuideRateHandler()

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

Member Function Documentation

◆ debugDumpGuideRates()

template<typename Scalar , typename IndexTraits >
void Opm::GuideRateHandler< Scalar, IndexTraits >::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<typename Scalar , typename IndexTraits >
DeferredLogger & Opm::GuideRateHandler< Scalar, IndexTraits >::deferredLogger ( )

◆ getComm()

template<typename Scalar , typename IndexTraits >
const Parallel::Communication & Opm::GuideRateHandler< Scalar, IndexTraits >::getComm ( ) const
inline

◆ isReservoirCouplingMaster()

template<typename Scalar , typename IndexTraits >
bool Opm::GuideRateHandler< Scalar, IndexTraits >::isReservoirCouplingMaster ( ) const
inline

◆ isReservoirCouplingSlave()

template<typename Scalar , typename IndexTraits >
bool Opm::GuideRateHandler< Scalar, IndexTraits >::isReservoirCouplingSlave ( ) const
inline

◆ receiveMasterGroupPotentialsFromSlaves()

template<typename Scalar , typename IndexTraits >
void Opm::GuideRateHandler< Scalar, IndexTraits >::receiveMasterGroupPotentialsFromSlaves ( )

◆ reservoirCouplingMaster()

template<typename Scalar , typename IndexTraits >
ReservoirCouplingMaster & Opm::GuideRateHandler< Scalar, IndexTraits >::reservoirCouplingMaster ( )
inline

◆ reservoirCouplingSlave()

template<typename Scalar , typename IndexTraits >
ReservoirCouplingSlave & Opm::GuideRateHandler< Scalar, IndexTraits >::reservoirCouplingSlave ( )
inline

◆ schedule()

template<typename Scalar , typename IndexTraits >
const Schedule & Opm::GuideRateHandler< Scalar, IndexTraits >::schedule ( ) const
inline

◆ sendSlaveGroupPotentialsToMaster()

template<typename Scalar , typename IndexTraits >
void Opm::GuideRateHandler< Scalar, IndexTraits >::sendSlaveGroupPotentialsToMaster ( const GroupState< Scalar > &  group_state)

◆ setLogger()

template<typename Scalar , typename IndexTraits >
void Opm::GuideRateHandler< Scalar, IndexTraits >::setLogger ( DeferredLogger deferred_logger)

◆ setReservoirCouplingMaster()

template<typename Scalar , typename IndexTraits >
void Opm::GuideRateHandler< Scalar, IndexTraits >::setReservoirCouplingMaster ( ReservoirCouplingMaster reservoir_coupling_master)
inline

◆ setReservoirCouplingSlave()

template<typename Scalar , typename IndexTraits >
void Opm::GuideRateHandler< Scalar, IndexTraits >::setReservoirCouplingSlave ( ReservoirCouplingSlave reservoir_coupling_slave)
inline

◆ updateGuideRates()

template<typename Scalar , typename IndexTraits >
void Opm::GuideRateHandler< Scalar, IndexTraits >::updateGuideRates ( const int  report_step_idx,
const double  sim_time,
const WellState< Scalar, IndexTraits > &  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<typename Scalar , typename IndexTraits >
const BlackoilWellModelGeneric< Scalar, IndexTraits > & Opm::GuideRateHandler< Scalar, IndexTraits >::wellModel ( ) const
inline

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