mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
ENH: writeFile - enable file creation at a specified time. Fixes #1096
This commit is contained in:
@ -84,18 +84,18 @@ Foam::fileName Foam::functionObjects::writeFile::baseTimeDir() const
|
||||
|
||||
Foam::autoPtr<Foam::OFstream> Foam::functionObjects::writeFile::createFile
|
||||
(
|
||||
const word& name
|
||||
const word& name,
|
||||
const scalar time
|
||||
) const
|
||||
{
|
||||
autoPtr<OFstream> osPtr;
|
||||
|
||||
if (Pstream::master() && writeToFile_)
|
||||
{
|
||||
const scalar startTime = fileObr_.time().startTime().value();
|
||||
const scalar userStartTime = fileObr_.time().timeToUserTime(startTime);
|
||||
const word startTimeName = Time::timeName(userStartTime);
|
||||
const scalar userTime = fileObr_.time().timeToUserTime(time);
|
||||
const word timeName = Time::timeName(userTime);
|
||||
|
||||
fileName outputDir(baseFileDir()/prefix_/startTimeName);
|
||||
fileName outputDir(baseFileDir()/prefix_/timeName);
|
||||
|
||||
mkDir(outputDir);
|
||||
|
||||
@ -105,7 +105,7 @@ Foam::autoPtr<Foam::OFstream> Foam::functionObjects::writeFile::createFile
|
||||
IFstream is(outputDir/(fName + ".dat"));
|
||||
if (is.good())
|
||||
{
|
||||
fName = fName + "_" + startTimeName;
|
||||
fName = fName + "_" + timeName;
|
||||
}
|
||||
|
||||
osPtr.reset(new OFstream(outputDir/(fName + ".dat")));
|
||||
@ -123,6 +123,16 @@ Foam::autoPtr<Foam::OFstream> Foam::functionObjects::writeFile::createFile
|
||||
}
|
||||
|
||||
|
||||
Foam::autoPtr<Foam::OFstream> Foam::functionObjects::writeFile::createFile
|
||||
(
|
||||
const word& name
|
||||
) const
|
||||
{
|
||||
return createFile(name, startTime_);
|
||||
|
||||
}
|
||||
|
||||
|
||||
void Foam::functionObjects::writeFile::resetFile(const word& fileName)
|
||||
{
|
||||
fileName_ = fileName;
|
||||
@ -153,7 +163,8 @@ Foam::functionObjects::writeFile::writeFile
|
||||
filePtr_(),
|
||||
writePrecision_(IOstream::defaultPrecision()),
|
||||
writeToFile_(true),
|
||||
writtenHeader_(false)
|
||||
writtenHeader_(false),
|
||||
startTime_(obr.time().startTime().value())
|
||||
{}
|
||||
|
||||
|
||||
@ -171,7 +182,8 @@ Foam::functionObjects::writeFile::writeFile
|
||||
filePtr_(),
|
||||
writePrecision_(IOstream::defaultPrecision()),
|
||||
writeToFile_(true),
|
||||
writtenHeader_(false)
|
||||
writtenHeader_(false),
|
||||
startTime_(obr.time().startTime().value())
|
||||
{
|
||||
read(dict);
|
||||
|
||||
@ -182,12 +194,6 @@ Foam::functionObjects::writeFile::writeFile
|
||||
}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
||||
|
||||
Foam::functionObjects::writeFile::~writeFile()
|
||||
{}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||
|
||||
bool Foam::functionObjects::writeFile::read(const dictionary& dict)
|
||||
|
||||
Reference in New Issue
Block a user