void IOConfig::initFirstOutput(const Schedule& schedule) { m_first_restart_step = -1; m_first_rft_step = -1; assertTimeMap( schedule.getTimeMap() ); { size_t report_step = 0; while (true) { if (getWriteRestartFile(report_step)) { m_first_restart_step = report_step; break; } report_step++; if (report_step == m_timemap->size()) break; } } { for (const auto& well : schedule.getWells( )) { int well_output = well->firstRFTOutput(); if (well_output >= 0) { if ((m_first_rft_step < 0) || (well_output < m_first_rft_step)) m_first_rft_step = well_output; } } } }
void IOConfig::dumpRestartConfig() const { for (size_t reportStep = 0; reportStep < m_timemap->size(); reportStep++) { if (getWriteRestartFile(reportStep)) { auto time = (*m_timemap)[reportStep]; boost::gregorian::date date = time.date(); printf("%04zu : %02hu/%02hu/%hu \n" , reportStep , date.day().as_number() , date.month().as_number() , static_cast<unsigned short>(date.year())); } } }
void RestartConfig::initFirstOutput( ) { size_t report_step = 0; while (true) { if (getWriteRestartFile(report_step)) { m_first_restart_step = report_step; break; } report_step++; if (report_step == m_timemap->size()) break; } }