mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
ENH: writeFile - add option to (not)use user time. Fixes #1078
This commit is contained in:
@ -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);
|
||||
}
|
||||
|
||||
|
||||
@ -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_;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user