void SFDSolver::solve() { if ( m_physical_model.expired() == true ) trigger_physical_model(); if ( m_domain.expired() == true ) trigger_domain(); if ( m_time.expired() == true ) trigger_time(); m_iterate->execute(); }
int Timer::run_day(uint64_t old_time) { uint64_t now_time = now(); if (old_time >= now_time) { return 0; } uint64_t delta_time = now_time - old_time; int day_num = delta_time / 86400000; uint64_t ltime = old_time + day_num * 86400000; if (trigger_time(ltime, 0, 0)) { day_num++; } return day_num; }