|
Opm::ReservoirCouplingMasterReportStep< Scalar > Class Template Reference Manages master-side reservoir coupling operations for a single report step. More...
Inheritance diagram for Opm::ReservoirCouplingMasterReportStep< Scalar >:
![]()
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◆ MessageTag
template<class Scalar >
◆ Potentials
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.
◆ getMasterGroupNamesForSlave()
template<class Scalar >
Get the names of master groups associated with a specific slave.
◆ 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.
◆ maybeReceiveGroupInfoFromSlaves()
template<class Scalar >
Receive group information from slaves if needed. This method conditionally receives group information from slave processes. The reception is triggered based on simulation state and timing requirements. ◆ 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.
◆ sendGroupInfoToSlaves()
template<class Scalar >
Send group control information to all slaves for a specific report step.
This method sends group control information (targets, constraints, well controls) from the master to each slave process. Each slave receives the information relevant to the groups it manages. ◆ 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: |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||