Opm::RescoupReceiveSlaveGroupData< Scalar, IndexTraits > Class Template Reference

Receives and processes group data from slave processes in reservoir coupling. More...

#include <RescoupReceiveSlaveGroupData.hpp>

Public Types

using SlaveGroupProductionData = ReservoirCoupling::SlaveGroupProductionData< Scalar >
 
using SlaveGroupInjectionData = ReservoirCoupling::SlaveGroupInjectionData< Scalar >
 
using Potentials = ReservoirCoupling::Potentials< Scalar >
 
using ProductionRates = ReservoirCoupling::ProductionRates< Scalar >
 
using WellGroupHelperType = WellGroupHelper< Scalar, IndexTraits >
 

Public Member Functions

 RescoupReceiveSlaveGroupData (WellGroupHelperType &wg_helper)
 Construct a receiver for slave group data. More...
 
void receiveSlaveGroupData ()
 Receive and process group data from all active slave processes. More...
 

Detailed Description

template<class Scalar, class IndexTraits>
class Opm::RescoupReceiveSlaveGroupData< Scalar, IndexTraits >

Receives and processes group data from slave processes in reservoir coupling.

This class handles the reception of production and injection data from slave processes and integrates it into the master process's group state. It is responsible for:

  • Receiving production data (rates, potentials) from all active slave processes
  • Receiving injection data (rates) from all active slave processes
  • Processing and storing the data in the appropriate group state structures
  • Coordinating with WellGroupHelper for group control calculations

The class acts as a bridge between the MPI communication layer (ReservoirCouplingMaster) and the well/group management system (WellGroupHelper), ensuring that slave group data is properly incorporated into the master's group control logic.

Template Parameters
ScalarFloating-point type for rate and potential values (typically double or float)
IndexTraitsType traits for phase indexing
See also
ReservoirCouplingMaster
WellGroupHelper

Member Typedef Documentation

◆ Potentials

template<class Scalar , class IndexTraits >
using Opm::RescoupReceiveSlaveGroupData< Scalar, IndexTraits >::Potentials = ReservoirCoupling::Potentials<Scalar>

◆ ProductionRates

template<class Scalar , class IndexTraits >
using Opm::RescoupReceiveSlaveGroupData< Scalar, IndexTraits >::ProductionRates = ReservoirCoupling::ProductionRates<Scalar>

◆ SlaveGroupInjectionData

template<class Scalar , class IndexTraits >
using Opm::RescoupReceiveSlaveGroupData< Scalar, IndexTraits >::SlaveGroupInjectionData = ReservoirCoupling::SlaveGroupInjectionData<Scalar>

◆ SlaveGroupProductionData

template<class Scalar , class IndexTraits >
using Opm::RescoupReceiveSlaveGroupData< Scalar, IndexTraits >::SlaveGroupProductionData = ReservoirCoupling::SlaveGroupProductionData<Scalar>

◆ WellGroupHelperType

template<class Scalar , class IndexTraits >
using Opm::RescoupReceiveSlaveGroupData< Scalar, IndexTraits >::WellGroupHelperType = WellGroupHelper<Scalar, IndexTraits>

Constructor & Destructor Documentation

◆ RescoupReceiveSlaveGroupData()

template<class Scalar , class IndexTraits >
Opm::RescoupReceiveSlaveGroupData< Scalar, IndexTraits >::RescoupReceiveSlaveGroupData ( WellGroupHelperType wg_helper)

Construct a receiver for slave group data.

Parameters
wg_helperReference to the WellGroupHelper for accessing group state and schedule

Member Function Documentation

◆ receiveSlaveGroupData()

template<class Scalar , class IndexTraits >
void Opm::RescoupReceiveSlaveGroupData< Scalar, IndexTraits >::receiveSlaveGroupData ( )

Receive and process group data from all active slave processes.

This method orchestrates the reception of both production and injection data from all active slave processes via the ReservoirCouplingMaster. The received data is then processed and integrated into the master's group state, making it available for group control calculations.

The method performs the following operations:

  1. Receives production data (rates and potentials) from all slaves
  2. Receives injection data (rates) from all slaves
  3. Processes and stores the data in appropriate group state structures
Note
This is a blocking operation that waits for all slaves to send their data
Must be called at appropriate synchronization points in the simulation

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