49 currentTime_(startTime_),
54 lastSaved_(startTime_),
75 checkForOutputToFile();
87 dict.getVal<
real>(
"dt")
89 startTime_(startTime),
92 currentTime_(startTime_),
93 saveInterval_(saveInterval),
94 lastSaved_(startTime_),
98 dict.getValOrSet(
"timePrecision", 4)
100 managedExternaly_(true),
101 timeName_(startTimeName),
102 timersReportInterval_
105 dict.getValOrSet(
"timersReportInterval", 0.04)
109 dict.getValOrSet(
"performSorting",
Logical(
"No"))
114 dict.getValOrSet(
"sortingInterval", static_cast<
real>(1.0))
122 real tmp = currentTime_;
125 checkForOutputToFile();
131 if(managedExternaly_)
134 return currentTimeWord();
139 if( currentTime_ >= endTime_ )
return true;
140 if(
std::abs(currentTime_-endTime_) < 0.5*dt_ )
return true;
146 if( currentTime_ >= stopAt_ )
return true;
147 if(
std::abs(currentTime_-stopAt_) < 0.5*dt_ )
return true;
155 if(managedExternaly_)
157 if(
std::abs(currentTime_-writeTime_) < 0.5*dt_)
160 lastSaved_ = currentTime_;
165 if (
std::abs(currentTime_ - lastSaved_ - saveInterval_) < 0.5 * dt_ )
167 lastSaved_ = currentTime_;
170 else if(
std::abs(currentTime_ - lastSaved_) <
std::min(
pow(10.0,-1.0*timePrecision_), 0.5 *dt_) )
172 lastSaved_ = currentTime_;
178 outputToFile_ = save;
183 if(currentIter_<=1)
return false;
184 return timersReportInterval_.isMember(currentTime_, 0.55*dt_);
189 return performSorting_()&&sortingInterval_.isMember(currentTime_,dt_);
194 const word& timeName)
196 if(managedExternaly_)
198 outputToFile_ = saveToFile;
199 timeName_ = timeName;
206 if( reachedStopAt() )
return false;
211 if(screenReport() && !managedExternaly_)
216 checkForOutputToFile();