|
Opm::ReservoirCouplingMasterReportStep< Scalar > Class Template Reference Manages master-side reservoir coupling operations for a single report step. More...
Detailed Descriptiontemplate<class Scalar> class Opm::ReservoirCouplingMasterReportStep< Scalar > Manages master-side reservoir coupling operations for a single report step. This class encapsulates the master process's communication and coordination with slave processes during a single report step in reservoir coupling simulations. It handles:
The class serves as a helper to ReservoirCouplingMaster, separating the report-step-specific logic from the overall coupling lifecycle management. This separation improves code organization and makes the coupling logic easier to understand and maintain.
Member Typedef Documentation◆ InjectionGroupTarget
template<class Scalar >
◆ MessageTag
template<class Scalar >
◆ Potentials
template<class Scalar >
◆ ProductionGroupTarget
template<class Scalar >
◆ SlaveGroupInjectionData
template<class Scalar >
◆ SlaveGroupProductionData
template<class Scalar >
Constructor & Destructor Documentation◆ ReservoirCouplingMasterReportStep()
template<class Scalar >
Construct a report step manager for the master process.
Member Function Documentation◆ comm()
template<class Scalar >
Get the MPI communicator for master-slave communication.
◆ getMasterGroupCanonicalIdx()
template<class Scalar >
Get the canonical index for a master group.
◆ getMasterGroupInjectionReservoirRate()
template<class Scalar >
Get the injection reservoir rate for a master group.
◆ getMasterGroupInjectionSurfaceRate()
template<class Scalar >
Get the injection surface rate for a master group.
◆ getMasterGroupNamesForSlave()
template<class Scalar >
Get the names of master groups associated with a specific slave.
◆ getMasterGroupProductionReservoirRate()
template<class Scalar >
Get the production reservoir rate for a master group. This returns the production rate at reservoir conditions, computed using the slave's PVT properties. This is needed when the master's parent group has RESV control mode, so the conversion uses slave's formation volume factors rather than master's.
◆ getMasterGroupProductionSurfaceRate()
template<class Scalar >
Get the production surface rate for a master group.
◆ getMasterGroupToSlaveNameMap()
template<class Scalar >
Get the mapping from master group names to slave names.
◆ getSlaveComm()
template<class Scalar >
Get the MPI communicator for a specific slave process.
◆ getSlaveGroupPotentials()
template<class Scalar >
Get the production potentials for a slave group.
◆ logger()
template<class Scalar >
Get the logger for reservoir coupling operations.
◆ numSlaveGroups()
template<class Scalar >
Get the number of slave groups for a specific slave process.
◆ numSlaves()
template<class Scalar >
Get the total number of active slave processes.
◆ receiveInjectionDataFromSlaves()
template<class Scalar >
Receive injection data from all active slave processes. This method receives injection rates and related data from each slave process via MPI communication. The data is organized by slave groups and stored in slave_group_injection_data_ for use in group control calculations.
◆ receiveProductionDataFromSlaves()
template<class Scalar >
Receive production data from all active slave processes. This method receives production rates, potentials, and related data from each slave process via MPI communication. The data is organized by slave groups and stored in slave_group_production_data_ for use in group control calculations.
◆ schedule()
template<class Scalar >
Get the simulation schedule.
◆ sendInjectionTargetsToSlave()
template<class Scalar >
◆ sendNumGroupTargetsToSlave()
template<class Scalar >
◆ sendProductionTargetsToSlave()
template<class Scalar >
◆ setReportStepIdx()
template<class Scalar >
Set the current report step index.
This updates the internal state to track which report step is currently being processed. ◆ slaveIsActivated()
template<class Scalar >
Check if a specific slave process has been activated.
◆ slaveName()
template<class Scalar >
Get the name of a specific slave process.
The documentation for this class was generated from the following file: |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||