Opm::ReservoirCoupling Namespace Reference

Classes

struct  InjectionGroupTarget
 
struct  InjectionRates
 
class  Logger
 
struct  Potentials
 
struct  ProductionGroupTarget
 
struct  ProductionRates
 
class  Proxy
 Thin proxy for reservoir coupling master/slave pointers. More...
 
class  ScopedLoggerGuard
 Guard for managing DeferredLogger lifecycle in ReservoirCoupling. More...
 
struct  Seconds
 Utility class for comparing double values representing epoch dates or elapsed time. More...
 
struct  SlaveGroupInjectionData
 
struct  SlaveGroupProductionData
 

Enumerations

enum class  MessageTag : int {
  InjectionGroupTargets , MasterGroupNames , MasterGroupNamesSize , MasterStartOfReportStep ,
  NumSlaveGroupTargets , ProductionGroupTargets , SlaveActivationDate , SlaveActivationHandshake ,
  SlaveInjectionData , SlaveProcessTermination , SlaveName , SlaveNameSize ,
  SlaveNextReportDate , SlaveNextTimeStep , SlaveProductionData , SlaveSimulationStartDate ,
  SlaveStartOfReportStep
}
 
enum class  Phase : std::size_t { Oil = 0 , Gas , Water , Count }
 Phase indices for reservoir coupling, we currently only support black-oil phases (oil, gas, and water). More...
 
enum class  RateKind {
  InjectionSurface , InjectionReservoir , ProductionSurface , ProductionNetworkSurface ,
  ProductionReservoir
}
 Selects which kind of rate to retrieve from slave group data. More...
 

Functions

Phase convertPhaseToReservoirCouplingPhase (::Opm::Phase phase)
 
void customErrorHandler_ (MPI_Comm *comm, int *err, const std::string &msg)
 
void customErrorHandlerSlave_ (MPI_Comm *comm, int *err,...)
 
void customErrorHandlerMaster_ (MPI_Comm *comm, int *err,...)
 
void setErrhandler (MPI_Comm comm, bool is_master)
 
std::pair< std::vector< char >, std::size_t > serializeStrings (const std::vector< std::string > &data)
 
std::string formatDays (double seconds)
 Format seconds as a human-readable string showing both seconds and days. More...
 

Enumeration Type Documentation

◆ MessageTag

enum class Opm::ReservoirCoupling::MessageTag : int
strong
Enumerator
InjectionGroupTargets 
MasterGroupNames 
MasterGroupNamesSize 
MasterStartOfReportStep 
NumSlaveGroupTargets 
ProductionGroupTargets 
SlaveActivationDate 
SlaveActivationHandshake 
SlaveInjectionData 
SlaveProcessTermination 
SlaveName 
SlaveNameSize 
SlaveNextReportDate 
SlaveNextTimeStep 
SlaveProductionData 
SlaveSimulationStartDate 
SlaveStartOfReportStep 

◆ Phase

enum class Opm::ReservoirCoupling::Phase : std::size_t
strong

Phase indices for reservoir coupling, we currently only support black-oil phases (oil, gas, and water).

Enumerator
Oil 
Gas 
Water 
Count 

◆ RateKind

Selects which kind of rate to retrieve from slave group data.

Replaces multiple bool parameters (res_rates, is_injection, network) with a single enum that names the 5 valid rate categories directly. Only these 5 combinations of the bools are meaningful; the enum prevents callers from constructing invalid states.

Enumerator
InjectionSurface 
InjectionReservoir 
ProductionSurface 
ProductionNetworkSurface 
ProductionReservoir 

Function Documentation

◆ convertPhaseToReservoirCouplingPhase()

Phase Opm::ReservoirCoupling::convertPhaseToReservoirCouplingPhase ( ::Opm::Phase  phase)

◆ customErrorHandler_()

void Opm::ReservoirCoupling::customErrorHandler_ ( MPI_Comm *  comm,
int *  err,
const std::string &  msg 
)

◆ customErrorHandlerMaster_()

void Opm::ReservoirCoupling::customErrorHandlerMaster_ ( MPI_Comm *  comm,
int *  err,
  ... 
)

◆ customErrorHandlerSlave_()

void Opm::ReservoirCoupling::customErrorHandlerSlave_ ( MPI_Comm *  comm,
int *  err,
  ... 
)

◆ formatDays()

std::string Opm::ReservoirCoupling::formatDays ( double  seconds)
inline

Format seconds as a human-readable string showing both seconds and days.

Parameters
secondsThe time value in seconds.
Returns
A string like "864000s (10.00 days)".

◆ serializeStrings()

std::pair< std::vector< char >, std::size_t > Opm::ReservoirCoupling::serializeStrings ( const std::vector< std::string > &  data)

◆ setErrhandler()

void Opm::ReservoirCoupling::setErrhandler ( MPI_Comm  comm,
bool  is_master 
)