|
Opm::ReservoirCouplingTimeStepper< Scalar > Class Template Reference Manages time stepping coordination between master and slave processes. More...
Inheritance diagram for Opm::ReservoirCouplingTimeStepper< Scalar >:
![]()
Detailed Descriptiontemplate<class Scalar> class Opm::ReservoirCouplingTimeStepper< Scalar > Manages time stepping coordination between master and slave processes. This class handles the synchronization of time steps and report dates between the master and slave processes in reservoir coupling simulations. It is responsible for:
The class ensures that the master and all slaves advance through simulation time in a coordinated manner, respecting individual slave report schedules while maintaining overall simulation consistency.
Member Typedef Documentation◆ MessageTag
template<class Scalar >
◆ Potentials
template<class Scalar >
◆ Seconds
template<class Scalar >
Constructor & Destructor Documentation◆ ReservoirCouplingTimeStepper()
template<class Scalar >
Construct a time stepper for coordinating master-slave time stepping.
Member Function Documentation◆ comm()
template<class Scalar >
Get the MPI communicator for master-to-master communication.
◆ getSlaveComm()
template<class Scalar >
Get the MPI communicator for a specific slave process.
◆ logger()
template<class Scalar >
Get the logger for reservoir coupling operations.
◆ maybeChopSubStep()
template<class Scalar >
Potentially adjust time step to align with slave report boundaries. This method checks if the suggested time step would cause the master simulation to advance past any slave's next report time. If so, it "chops" the time step to ensure the master stops at the slave's report boundary, allowing for proper synchronization between master and slave processes.
◆ numSlaves()
template<class Scalar >
Get the total number of active slave processes.
◆ receiveNextReportDateFromSlaves()
template<class Scalar >
Receive next report dates from all active slave processes. This method receives the next report time from each slave process via MPI communication. The times are stored as offsets from the simulation start time and used to coordinate time stepping between master and slaves.
◆ resizeNextReportDates()
template<class Scalar >
Resize the internal storage for slave next report times.
◆ schedule()
template<class Scalar >
Get the simulation schedule.
◆ sendNextTimeStepToSlaves()
template<class Scalar >
Send the next time step size to all active slave processes. This method broadcasts the time step size that slaves should use for their next simulation step via MPI communication. This ensures all processes advance through simulation time in a coordinated manner.
◆ setSlaveNextReportTimeOffset()
template<class Scalar >
Set the next report time offset for a specific slave.
◆ slaveActivationDate()
template<class Scalar >
Get the activation date for a specific slave.
◆ 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.
◆ slaveStartDate()
template<class Scalar >
Get the simulation start date for a specific slave.
The documentation for this class was generated from the following file: |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||