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
|
Foam::autoPtr<Foam::OFstream> Foam::functionObjects::writeFile::createFile
|
||||||
(
|
(
|
||||||
const word& name,
|
const word& name,
|
||||||
const scalar time
|
const scalar time0
|
||||||
) const
|
) const
|
||||||
{
|
{
|
||||||
autoPtr<OFstream> osPtr;
|
autoPtr<OFstream> osPtr;
|
||||||
|
|
||||||
if (Pstream::master() && writeToFile_)
|
if (Pstream::master() && writeToFile_)
|
||||||
{
|
{
|
||||||
const scalar userTime = fileObr_.time().timeToUserTime(time);
|
const scalar time = useUserTime_ ?
|
||||||
const word timeName = Time::timeName(userTime);
|
fileObr_.time().timeToUserTime(time0)
|
||||||
|
: time0;
|
||||||
|
|
||||||
|
const word timeName = Time::timeName(time);
|
||||||
|
|
||||||
fileName outputDir(baseFileDir()/prefix_/timeName);
|
fileName outputDir(baseFileDir()/prefix_/timeName);
|
||||||
|
|
||||||
@ -164,6 +167,7 @@ Foam::functionObjects::writeFile::writeFile
|
|||||||
writePrecision_(IOstream::defaultPrecision()),
|
writePrecision_(IOstream::defaultPrecision()),
|
||||||
writeToFile_(true),
|
writeToFile_(true),
|
||||||
writtenHeader_(false),
|
writtenHeader_(false),
|
||||||
|
useUserTime_(true),
|
||||||
startTime_(obr.time().startTime().value())
|
startTime_(obr.time().startTime().value())
|
||||||
{}
|
{}
|
||||||
|
|
||||||
@ -183,6 +187,7 @@ Foam::functionObjects::writeFile::writeFile
|
|||||||
writePrecision_(IOstream::defaultPrecision()),
|
writePrecision_(IOstream::defaultPrecision()),
|
||||||
writeToFile_(true),
|
writeToFile_(true),
|
||||||
writtenHeader_(false),
|
writtenHeader_(false),
|
||||||
|
useUserTime_(true),
|
||||||
startTime_(obr.time().startTime().value())
|
startTime_(obr.time().startTime().value())
|
||||||
{
|
{
|
||||||
read(dict);
|
read(dict);
|
||||||
@ -205,6 +210,9 @@ bool Foam::functionObjects::writeFile::read(const dictionary& dict)
|
|||||||
writeToFile_ = dict.lookupOrDefault("writeToFile", true);
|
writeToFile_ = dict.lookupOrDefault("writeToFile", true);
|
||||||
writeToFile_ = writeToFile_ && Pstream::master();
|
writeToFile_ = writeToFile_ && Pstream::master();
|
||||||
|
|
||||||
|
// Use user time, e.g. CA deg in preference to seconds
|
||||||
|
useUserTime_ = dict.lookupOrDefault("useUserTime", true);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -277,7 +285,10 @@ void Foam::functionObjects::writeFile::writeHeader
|
|||||||
|
|
||||||
void Foam::functionObjects::writeFile::writeTime(Ostream& os) const
|
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);
|
os << setw(charWidth()) << Time::timeName(timeNow);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -82,6 +82,10 @@ protected:
|
|||||||
//- Flag to identify whether the header has been written
|
//- Flag to identify whether the header has been written
|
||||||
bool writtenHeader_;
|
bool writtenHeader_;
|
||||||
|
|
||||||
|
//- Flag to use the specified user time, e.g. CA deg instead
|
||||||
|
//- of seconds. Default = true
|
||||||
|
bool useUserTime_;
|
||||||
|
|
||||||
//- Start time value
|
//- Start time value
|
||||||
scalar startTime_;
|
scalar startTime_;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user