diff --git a/src/OpenFOAM/db/functionObjects/writeFile/writeFile.C b/src/OpenFOAM/db/functionObjects/writeFile/writeFile.C index 23265362793e78e6552af6c0b9edaa7f9519e391..94e02f6b0a93d954f8b3dc61215c6f8d335d39ad 100644 --- a/src/OpenFOAM/db/functionObjects/writeFile/writeFile.C +++ b/src/OpenFOAM/db/functionObjects/writeFile/writeFile.C @@ -85,15 +85,18 @@ Foam::fileName Foam::functionObjects::writeFile::baseTimeDir() const Foam::autoPtr<Foam::OFstream> Foam::functionObjects::writeFile::createFile ( const word& name, - const scalar time + const scalar time0 ) const { autoPtr<OFstream> osPtr; if (Pstream::master() && writeToFile_) { - const scalar userTime = fileObr_.time().timeToUserTime(time); - const word timeName = Time::timeName(userTime); + const scalar time = useUserTime_ ? + fileObr_.time().timeToUserTime(time0) + : time0; + + const word timeName = Time::timeName(time); fileName outputDir(baseFileDir()/prefix_/timeName); @@ -164,6 +167,7 @@ Foam::functionObjects::writeFile::writeFile writePrecision_(IOstream::defaultPrecision()), writeToFile_(true), writtenHeader_(false), + useUserTime_(true), startTime_(obr.time().startTime().value()) {} @@ -183,6 +187,7 @@ Foam::functionObjects::writeFile::writeFile writePrecision_(IOstream::defaultPrecision()), writeToFile_(true), writtenHeader_(false), + useUserTime_(true), startTime_(obr.time().startTime().value()) { read(dict); @@ -205,6 +210,9 @@ bool Foam::functionObjects::writeFile::read(const dictionary& dict) writeToFile_ = dict.lookupOrDefault("writeToFile", true); writeToFile_ = writeToFile_ && Pstream::master(); + // Use user time, e.g. CA deg in preference to seconds + useUserTime_ = dict.lookupOrDefault("useUserTime", true); + return true; } @@ -277,7 +285,10 @@ void Foam::functionObjects::writeFile::writeHeader void Foam::functionObjects::writeFile::writeTime(Ostream& os) const { - const scalar timeNow = fileObr_.time().timeOutputValue(); + scalar timeNow = useUserTime_ ? + fileObr_.time().timeOutputValue() + : fileObr_.time().value(); + os << setw(charWidth()) << Time::timeName(timeNow); } diff --git a/src/OpenFOAM/db/functionObjects/writeFile/writeFile.H b/src/OpenFOAM/db/functionObjects/writeFile/writeFile.H index 3dcc397ff69f410434752b721a484f16969354a6..d430f0c34033b8601f3026dce75f6b39586d14b0 100644 --- a/src/OpenFOAM/db/functionObjects/writeFile/writeFile.H +++ b/src/OpenFOAM/db/functionObjects/writeFile/writeFile.H @@ -82,6 +82,10 @@ protected: //- Flag to identify whether the header has been written bool writtenHeader_; + //- Flag to use the specified user time, e.g. CA deg instead + //- of seconds. Default = true + bool useUserTime_; + //- Start time value scalar startTime_;