From afab98a5a4f0cb87f55cfd0f8fb5705717d9b428 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C3=A5kon=20H=C3=A6gland?= Date: Tue, 3 Dec 2024 12:44:03 +0100 Subject: [PATCH] Clarify how the timestep is selected Clarify how the master timestep is computed based on the slaves next report date or the slaves start date. --- opm/simulators/flow/ReservoirCouplingMaster.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/opm/simulators/flow/ReservoirCouplingMaster.cpp b/opm/simulators/flow/ReservoirCouplingMaster.cpp index ffac355d3..688182b13 100644 --- a/opm/simulators/flow/ReservoirCouplingMaster.cpp +++ b/opm/simulators/flow/ReservoirCouplingMaster.cpp @@ -88,6 +88,9 @@ maybeChopSubStep(double suggested_timestep_original, double elapsed_time) const double step_end_date{step_start_date + suggested_timestep_original}; double suggested_timestep{suggested_timestep_original}; auto num_slaves = this->numSlavesStarted(); + // Determine the minimum step_end_date and the corresponding suggested_timestep such that no + // slave process will report or start during the timestep [step_start_date, step_end_date] + // where suggested_timestep = step_end_date - step_start_date for (std::size_t i = 0; i < num_slaves; i++) { double slave_start_date = this->slave_start_dates_[i]; double slave_next_report_date{this->slave_next_report_time_offsets_[i] + slave_start_date};