opm-simulators
Loading...
Searching...
No Matches
Opm::ReservoirCoupling::Proxy< Scalar > Class Template Reference

Thin proxy for reservoir coupling master/slave pointers. More...

#include <RescoupProxy.hpp>

Public Member Functions

 Proxy (const Proxy &)=default
Proxy & operator= (const Proxy &)=default
 Proxy (Proxy &&) noexcept=default
Proxy & operator= (Proxy &&) noexcept=default
bool isEnabled () const noexcept
bool isMaster () const noexcept
bool isSlave () const noexcept
void setMaster (ReservoirCouplingMaster< Scalar > *)
void setSlave (ReservoirCouplingSlave< Scalar > *)
ReservoirCouplingMaster< Scalar > * masterPtr () noexcept
const ReservoirCouplingMaster< Scalar > * masterPtr () const noexcept
ReservoirCouplingSlave< Scalar > * slavePtr () noexcept
const ReservoirCouplingSlave< Scalar > * slavePtr () const noexcept
ReservoirCouplingMaster< Scalar > & master ()
const ReservoirCouplingMaster< Scalar > & master () const
ReservoirCouplingSlave< Scalar > & slave ()
const ReservoirCouplingSlave< Scalar > & slave () const
bool isMasterGroup (const std::string &) const noexcept
bool isSlaveGroup (const std::string &) const noexcept

Detailed Description

template<class Scalar>
class Opm::ReservoirCoupling::Proxy< Scalar >

Thin proxy for reservoir coupling master/slave pointers.

This class encapsulates pointers to ReservoirCouplingMaster and ReservoirCouplingSlave, providing mode queries that work regardless of MPI availability. This eliminates the need for #ifdef RESERVOIR_COUPLING_ENABLED guards in consumer code.

The proxy does not own the master/slave objects - they are owned by SimulatorFullyImplicitBlackoil. Pointers are set after construction via setMaster()/setSlave().

Master and slave modes are mutually exclusive - setting one clears the other.


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