BUG: Function objects - updated to enable user time emtries, e.g. if using engineTime. Fixes #437

This commit is contained in:
Andrew Heather
2017-03-21 13:32:55 +00:00
parent 6ebaa63d1c
commit 69bc13f300
12 changed files with 53 additions and 30 deletions

View File

@ -126,7 +126,8 @@ void Foam::timeControl::read(const dictionary& dict)
case ocCpuTime:
case ocAdjustableRunTime:
{
interval_ = readScalar(dict.lookup(intervalName));
const scalar userTime = readScalar(dict.lookup(intervalName));
interval_ = time_.userTimeToTime(userTime);
break;
}

View File

@ -43,8 +43,15 @@ namespace functionObjects
void Foam::functionObjects::timeControl::readControls()
{
dict_.readIfPresent("timeStart", timeStart_);
dict_.readIfPresent("timeEnd", timeEnd_);
if (dict_.readIfPresent("timeStart", timeStart_))
{
timeStart_ = time_.userTimeToTime(timeStart_);
}
if (dict_.readIfPresent("timeEnd", timeEnd_))
{
timeEnd_ = time_.userTimeToTime(timeEnd_);
}
dict_.readIfPresent("nStepsToStartTimeChange", nStepsToStartTimeChange_);
}

View File

@ -92,8 +92,8 @@ Foam::autoPtr<Foam::OFstream> Foam::functionObjects::writeFile::createFile
if (Pstream::master() && writeToFile_)
{
const word startTimeName =
fileObr_.time().timeName(fileObr_.time().startTime().value());
const scalar timeNow = fileObr_.time().timeOutputValue()
const word startTimeName = Time::timeName(timeNow);
fileName outputDir(baseFileDir()/prefix_/startTimeName);
@ -105,7 +105,7 @@ Foam::autoPtr<Foam::OFstream> Foam::functionObjects::writeFile::createFile
IFstream is(outputDir/(fName + ".dat"));
if (is.good())
{
fName = fName + "_" + fileObr_.time().timeName();
fName = fName + "_" + startTimeName;
}
osPtr.set(new OFstream(outputDir/(fName + ".dat")));
@ -258,7 +258,8 @@ void Foam::functionObjects::writeFile::writeHeader
void Foam::functionObjects::writeFile::writeTime(Ostream& os) const
{
os << setw(charWidth()) << fileObr_.time().timeName();
const scalar timeNow = fileObr_.time().timeOutputValue()
os << setw(charWidth()) << Time::timeName(timeNow);
}