Example #1
0
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();
}
Example #2
0
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;
}