@@ -98,6 +98,15 @@ class ReservoirCouplingSlaveReportStep {
9898 // / @return true if this is the first substep of a "sync" timestep, false if not
9999 bool isFirstSubstepOfSyncTimestep () const { return is_first_substep_of_sync_timestep_; }
100100
101+ // / @brief Check if this is the last substep within a "sync" timestep.
102+ // / @details This flag is used to control reservoir coupling synchronization of
103+ // / summary data sent from the slave to the master process.
104+ // / The slave should send production data to the master at the end of
105+ // / its "sync" timestep, while master is waiting for it in timeStepSucceeded()
106+ // / of the first substep of the sync step.
107+ // / @return true if this is the last substep of a "sync" timestep, false if not
108+ bool isLastSubstepOfSyncTimestep () const { return is_last_substep_of_sync_timestep_; }
109+
101110 // / @brief Get the logger for reservoir coupling operations
102111 // / @return Reference to the logger object for this coupling session
103112 ReservoirCoupling::Logger& logger () const { return this ->slave_ .logger (); }
@@ -162,6 +171,11 @@ class ReservoirCouplingSlaveReportStep {
162171 // / @param value true at start of sync timestep, false after first runSubStep_() call
163172 void setFirstSubstepOfSyncTimestep (bool value) { is_first_substep_of_sync_timestep_ = value; }
164173
174+ // / @brief Set whether this is the last substep within a "sync" timestep.
175+ // / @details See isLastSubstepOfSyncTimestep() for details.
176+ // / @param value true if this is the last substep of a "sync" timestep, false if not
177+ void setLastSubstepOfSyncTimestep (bool value) { is_last_substep_of_sync_timestep_ = value; }
178+
165179 // / @brief Get the name of this slave process
166180 // / @return Reference to the name string for this slave
167181 const std::string& slaveName () const { return this ->slave_ .getSlaveName (); }
@@ -215,6 +229,10 @@ class ReservoirCouplingSlaveReportStep {
215229 // Flag to track if this is the first substep within a "sync" timestep.
216230 // Used to control reservoir coupling synchronization.
217231 bool is_first_substep_of_sync_timestep_{true };
232+ // Flag to track if this is the last substep within a "sync" timestep.
233+ // Used to control reservoir coupling synchronization of summary data sent from
234+ // the slave to the master process.
235+ bool is_last_substep_of_sync_timestep_{false };
218236
219237 // Master-imposed targets and corresponding control modes, received from the master
220238 // process at the beginning of each sync timestep. Cleared and repopulated on every
0 commit comments