Opm::ReservoirCouplingMaster Class Reference

#include <ReservoirCouplingMaster.hpp>

Public Types

using MessageTag = ReservoirCoupling::MessageTag
 
using Seconds = ReservoirCoupling::Seconds
 
using Potentials = ReservoirCoupling::Potentials
 

Public Member Functions

 ReservoirCouplingMaster (const Parallel::Communication &comm, const Schedule &schedule, int argc, char **argv)
 
bool activated ()
 
void addSlaveCommunicator (MPI_Comm comm)
 
void addSlaveName (const std::string &name)
 
void addSlaveNextReportTimeOffset (double offset)
 
void addSlaveStartDate (std::time_t date)
 
void clearDeferredLogger ()
 
double getActivationDate () const
 
int getArgc () const
 
char * getArgv (int index) const
 
char ** getArgv () const
 
const Parallel::CommunicationgetComm () const
 
std::size_t getMasterGroupPotIdx (const std::string &slave_name, const std::string &master_group_name) const
 Get the index of the master group potential for a given slave name and master group name. The index is used to map the slave group potentials to the master group potentials. More...
 
std::map< std::string, std::string > & getMasterGroupToSlaveNameMap ()
 
double getSimulationStartDate () const
 
MPI_Comm getSlaveComm (int index) const
 
const PotentialsgetSlaveGroupPotentials (const std::string &master_group_name)
 
const std::string & getSlaveName (int index) const
 
const double * getSlaveStartDates ()
 
bool isMasterGroup (const std::string &group_name) const
 
double maybeChopSubStep (double suggested_timestep, double current_time) const
 
void maybeSpawnSlaveProcesses (int report_step)
 
std::size_t numSlaveGroups (unsigned int index)
 
std::size_t numSlavesStarted () const
 
void receiveNextReportDateFromSlaves ()
 
void receivePotentialsFromSlaves ()
 
void resizeSlaveStartDates (int size)
 
void resizeNextReportDates (int size)
 
void sendNextTimeStepToSlaves (double next_time_step)
 
void setDeferredLogger (DeferredLogger *deferred_logger)
 
void setSlaveStartDate (int index, std::time_t date)
 
void setSlaveNextReportTimeOffset (int index, double offset)
 
void updateMasterGroupNameOrderMap (const std::string &slave_name, const std::map< std::string, std::size_t > &master_group_map)
 

Member Typedef Documentation

◆ MessageTag

◆ Potentials

◆ Seconds

Constructor & Destructor Documentation

◆ ReservoirCouplingMaster()

Opm::ReservoirCouplingMaster::ReservoirCouplingMaster ( const Parallel::Communication comm,
const Schedule &  schedule,
int  argc,
char **  argv 
)

Member Function Documentation

◆ activated()

bool Opm::ReservoirCouplingMaster::activated ( )
inline

References numSlavesStarted().

◆ addSlaveCommunicator()

void Opm::ReservoirCouplingMaster::addSlaveCommunicator ( MPI_Comm  comm)
inline

◆ addSlaveName()

void Opm::ReservoirCouplingMaster::addSlaveName ( const std::string &  name)
inline

◆ addSlaveNextReportTimeOffset()

void Opm::ReservoirCouplingMaster::addSlaveNextReportTimeOffset ( double  offset)
inline

◆ addSlaveStartDate()

void Opm::ReservoirCouplingMaster::addSlaveStartDate ( std::time_t  date)
inline

◆ clearDeferredLogger()

void Opm::ReservoirCouplingMaster::clearDeferredLogger ( )
inline

◆ getActivationDate()

double Opm::ReservoirCouplingMaster::getActivationDate ( ) const
inline

◆ getArgc()

int Opm::ReservoirCouplingMaster::getArgc ( ) const
inline

◆ getArgv() [1/2]

char ** Opm::ReservoirCouplingMaster::getArgv ( ) const
inline

◆ getArgv() [2/2]

char * Opm::ReservoirCouplingMaster::getArgv ( int  index) const
inline

◆ getComm()

const Parallel::Communication & Opm::ReservoirCouplingMaster::getComm ( ) const
inline

◆ getMasterGroupPotIdx()

std::size_t Opm::ReservoirCouplingMaster::getMasterGroupPotIdx ( const std::string &  slave_name,
const std::string &  master_group_name 
) const

Get the index of the master group potential for a given slave name and master group name. The index is used to map the slave group potentials to the master group potentials.

Parameters
slave_nameThe name of the slave reservoir.
master_group_nameThe name of the master group.
Returns
The index of the master group potential for the given slave name and master group name.

◆ getMasterGroupToSlaveNameMap()

std::map< std::string, std::string > & Opm::ReservoirCouplingMaster::getMasterGroupToSlaveNameMap ( )
inline

◆ getSimulationStartDate()

double Opm::ReservoirCouplingMaster::getSimulationStartDate ( ) const
inline

◆ getSlaveComm()

MPI_Comm Opm::ReservoirCouplingMaster::getSlaveComm ( int  index) const
inline

◆ getSlaveGroupPotentials()

const Potentials & Opm::ReservoirCouplingMaster::getSlaveGroupPotentials ( const std::string &  master_group_name)

◆ getSlaveName()

const std::string & Opm::ReservoirCouplingMaster::getSlaveName ( int  index) const
inline

◆ getSlaveStartDates()

const double * Opm::ReservoirCouplingMaster::getSlaveStartDates ( )
inline

◆ isMasterGroup()

bool Opm::ReservoirCouplingMaster::isMasterGroup ( const std::string &  group_name) const

◆ maybeChopSubStep()

double Opm::ReservoirCouplingMaster::maybeChopSubStep ( double  suggested_timestep,
double  current_time 
) const

◆ maybeSpawnSlaveProcesses()

void Opm::ReservoirCouplingMaster::maybeSpawnSlaveProcesses ( int  report_step)

◆ numSlaveGroups()

std::size_t Opm::ReservoirCouplingMaster::numSlaveGroups ( unsigned int  index)

◆ numSlavesStarted()

std::size_t Opm::ReservoirCouplingMaster::numSlavesStarted ( ) const

Referenced by activated().

◆ receiveNextReportDateFromSlaves()

void Opm::ReservoirCouplingMaster::receiveNextReportDateFromSlaves ( )

◆ receivePotentialsFromSlaves()

void Opm::ReservoirCouplingMaster::receivePotentialsFromSlaves ( )

◆ resizeNextReportDates()

void Opm::ReservoirCouplingMaster::resizeNextReportDates ( int  size)
inline

◆ resizeSlaveStartDates()

void Opm::ReservoirCouplingMaster::resizeSlaveStartDates ( int  size)
inline

◆ sendNextTimeStepToSlaves()

void Opm::ReservoirCouplingMaster::sendNextTimeStepToSlaves ( double  next_time_step)

◆ setDeferredLogger()

void Opm::ReservoirCouplingMaster::setDeferredLogger ( DeferredLogger deferred_logger)
inline

◆ setSlaveNextReportTimeOffset()

void Opm::ReservoirCouplingMaster::setSlaveNextReportTimeOffset ( int  index,
double  offset 
)
inline

◆ setSlaveStartDate()

void Opm::ReservoirCouplingMaster::setSlaveStartDate ( int  index,
std::time_t  date 
)
inline

◆ updateMasterGroupNameOrderMap()

void Opm::ReservoirCouplingMaster::updateMasterGroupNameOrderMap ( const std::string &  slave_name,
const std::map< std::string, std::size_t > &  master_group_map 
)

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