From 4a301e94c63a2a34ae000dca04d677cd9a819573 Mon Sep 17 00:00:00 2001 From: Henry Weller Date: Sun, 7 Aug 2016 15:23:55 +0100 Subject: [PATCH] functionObjects: Separated writeFile and logFiles (previously writeFiles) from regionFunctionObject Now the functionality to write single graph files or log files (vs time) may be used in the creation of any form of functionObject, not just those relating to a mesh region. --- .../utilities/postProcessing/noise/noise.C | 1 - src/OpenFOAM/Make/files | 2 +- .../writeFiles.C => logFiles/logFiles.C} | 45 +++++--------- .../writeFiles.H => logFiles/logFiles.H} | 59 +++++++++---------- .../db/functionObjects/writeFile/writeFile.C | 32 ++-------- .../db/functionObjects/writeFile/writeFile.H | 56 +++++++----------- .../field/fieldMinMax/fieldMinMax.C | 7 ++- .../field/fieldMinMax/fieldMinMax.H | 10 ++-- .../field/fieldValues/fieldValue/fieldValue.C | 10 ++-- .../field/fieldValues/fieldValue/fieldValue.H | 11 +++- .../fieldValueDelta/fieldValueDelta.C | 7 ++- .../fieldValueDelta/fieldValueDelta.H | 11 +++- .../field/histogram/histogram.C | 5 +- .../field/histogram/histogram.H | 8 ++- .../regionSizeDistribution.C | 5 +- .../regionSizeDistribution.H | 6 +- .../field/wallHeatFlux/wallHeatFlux.C | 7 ++- .../field/wallHeatFlux/wallHeatFlux.H | 10 +++- .../field/wallShearStress/wallShearStress.C | 7 ++- .../field/wallShearStress/wallShearStress.H | 10 +++- src/functionObjects/field/yPlus/yPlus.C | 7 ++- src/functionObjects/field/yPlus/yPlus.H | 9 ++- .../forces/forceCoeffs/forceCoeffs.C | 2 +- src/functionObjects/forces/forces/forces.C | 10 ++-- src/functionObjects/forces/forces/forces.H | 10 +++- .../lagrangian/cloudInfo/cloudInfo.C | 11 +++- .../lagrangian/cloudInfo/cloudInfo.H | 9 ++- .../utilities/residuals/residuals.C | 7 ++- .../utilities/residuals/residuals.H | 9 ++- 29 files changed, 197 insertions(+), 186 deletions(-) rename src/OpenFOAM/db/functionObjects/{writeFiles/writeFiles.C => logFiles/logFiles.C} (78%) rename src/OpenFOAM/db/functionObjects/{writeFiles/writeFiles.H => logFiles/logFiles.H} (78%) diff --git a/applications/utilities/postProcessing/noise/noise.C b/applications/utilities/postProcessing/noise/noise.C index 77e549c9de..7230e0cd04 100644 --- a/applications/utilities/postProcessing/noise/noise.C +++ b/applications/utilities/postProcessing/noise/noise.C @@ -81,7 +81,6 @@ See also #include "noiseFFT.H" #include "argList.H" #include "Time.H" -#include "writeFiles.H" #include "CSV.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/OpenFOAM/Make/files b/src/OpenFOAM/Make/files index c975296d1d..e530cb2a00 100644 --- a/src/OpenFOAM/Make/files +++ b/src/OpenFOAM/Make/files @@ -222,7 +222,7 @@ $(dll)/codedBase/codedBase.C db/functionObjects/functionObject/functionObject.C db/functionObjects/functionObjectList/functionObjectList.C db/functionObjects/writeFile/writeFile.C -db/functionObjects/writeFiles/writeFiles.C +db/functionObjects/logFiles/logFiles.C db/functionObjects/timeControl/timeControl.C db/functionObjects/timeControl/timeControlFunctionObject.C db/functionObjects/regionFunctionObject/regionFunctionObject.C diff --git a/src/OpenFOAM/db/functionObjects/writeFiles/writeFiles.C b/src/OpenFOAM/db/functionObjects/logFiles/logFiles.C similarity index 78% rename from src/OpenFOAM/db/functionObjects/writeFiles/writeFiles.C rename to src/OpenFOAM/db/functionObjects/logFiles/logFiles.C index 4fdee06be4..32931590b5 100644 --- a/src/OpenFOAM/db/functionObjects/writeFiles/writeFiles.C +++ b/src/OpenFOAM/db/functionObjects/logFiles/logFiles.C @@ -23,18 +23,18 @@ License \*---------------------------------------------------------------------------*/ -#include "writeFiles.H" +#include "logFiles.H" #include "Time.H" #include "IFstream.H" // * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * // -void Foam::functionObjects::writeFiles::createFiles() +void Foam::functionObjects::logFiles::createFiles() { if (Pstream::master()) { const word startTimeName = - obr_.time().timeName(obr_.time().startTime().value()); + fileObr_.time().timeName(fileObr_.time().startTime().value()); forAll(names_, i) { @@ -49,7 +49,7 @@ void Foam::functionObjects::writeFiles::createFiles() IFstream is(outputDir/(fName + ".dat")); if (is.good()) { - fName = fName + "_" + obr_.time().timeName(); + fName = fName + "_" + fileObr_.time().timeName(); } filePtrs_.set(i, new OFstream(outputDir/(fName + ".dat"))); @@ -57,14 +57,13 @@ void Foam::functionObjects::writeFiles::createFiles() initStream(filePtrs_[i]); writeFileHeader(i); - } } } } -void Foam::functionObjects::writeFiles::resetNames(const wordList& names) +void Foam::functionObjects::logFiles::resetNames(const wordList& names) { names_.clear(); names_.append(names); @@ -77,7 +76,7 @@ void Foam::functionObjects::writeFiles::resetNames(const wordList& names) } -void Foam::functionObjects::writeFiles::resetName(const word& name) +void Foam::functionObjects::logFiles::resetName(const word& name) { names_.clear(); names_.append(name); @@ -92,29 +91,13 @@ void Foam::functionObjects::writeFiles::resetName(const word& name) // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // -Foam::functionObjects::writeFiles::writeFiles +Foam::functionObjects::logFiles::logFiles ( - const word& name, - const Time& time, - const dictionary& dict, - const word& prefix -) -: - writeFile(name, time, dict, prefix), - names_(), - filePtrs_() -{} - - -Foam::functionObjects::writeFiles::writeFiles -( - const word& name, const objectRegistry& obr, - const dictionary& dict, const word& prefix ) : - writeFile(name, obr, dict, prefix), + writeFile(obr, prefix), names_(), filePtrs_() {} @@ -122,19 +105,19 @@ Foam::functionObjects::writeFiles::writeFiles // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // -Foam::functionObjects::writeFiles::~writeFiles() +Foam::functionObjects::logFiles::~logFiles() {} // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -const Foam::wordList& Foam::functionObjects::writeFiles::names() const +const Foam::wordList& Foam::functionObjects::logFiles::names() const { return names_; } -Foam::OFstream& Foam::functionObjects::writeFiles::file() +Foam::OFstream& Foam::functionObjects::logFiles::file() { if (!Pstream::master()) { @@ -161,7 +144,7 @@ Foam::OFstream& Foam::functionObjects::writeFiles::file() } -Foam::PtrList& Foam::functionObjects::writeFiles::files() +Foam::PtrList& Foam::functionObjects::logFiles::files() { if (!Pstream::master()) { @@ -174,7 +157,7 @@ Foam::PtrList& Foam::functionObjects::writeFiles::files() } -Foam::OFstream& Foam::functionObjects::writeFiles::file(const label i) +Foam::OFstream& Foam::functionObjects::logFiles::file(const label i) { if (!Pstream::master()) { @@ -194,7 +177,7 @@ Foam::OFstream& Foam::functionObjects::writeFiles::file(const label i) } -bool Foam::functionObjects::writeFiles::write() +bool Foam::functionObjects::logFiles::write() { createFiles(); diff --git a/src/OpenFOAM/db/functionObjects/writeFiles/writeFiles.H b/src/OpenFOAM/db/functionObjects/logFiles/logFiles.H similarity index 78% rename from src/OpenFOAM/db/functionObjects/writeFiles/writeFiles.H rename to src/OpenFOAM/db/functionObjects/logFiles/logFiles.H index 12667a11ea..466d483f3e 100644 --- a/src/OpenFOAM/db/functionObjects/writeFiles/writeFiles.H +++ b/src/OpenFOAM/db/functionObjects/logFiles/logFiles.H @@ -22,22 +22,23 @@ License along with OpenFOAM. If not, see . Class - Foam::functionObjects::writeFiles + Foam::functionObjects::logFiles Description - functionObject base class for writing files + functionObject base class for creating, maintaining and writing log + files e.g. integrated of averaged field data vs time. See also Foam::functionObject - Foam::OutputFilterFunctionObject + Foam::functionObjects::writeFile SourceFiles - functionObjectFiles.C + logFiles.C \*---------------------------------------------------------------------------*/ -#ifndef functionObjects_writeFiles_H -#define functionObjects_writeFiles_H +#ifndef functionObjects_logFiles_H +#define functionObjects_logFiles_H #include "writeFile.H" #include "OFstream.H" @@ -51,14 +52,17 @@ namespace functionObjects { /*---------------------------------------------------------------------------*\ - Class writeFiles Declaration + Class logFiles Declaration \*---------------------------------------------------------------------------*/ -class writeFiles +class logFiles : public writeFile { - // Private data + +protected: + + // Protected data //- File names wordList names_; @@ -67,8 +71,6 @@ class writeFiles PtrList filePtrs_; -protected: - // Protected Member Functions //- Create the output file @@ -80,38 +82,35 @@ protected: //- Reset the list of names to a single name entry virtual void resetName(const word& name); + //- File header information + virtual void writeFileHeader(const label i = 0) = 0; + + +private: + + // Private Member Functions + //- Disallow default bitwise copy construct - writeFiles(const writeFiles&); + logFiles(const logFiles&); //- Disallow default bitwise assignment - void operator=(const writeFiles&); + void operator=(const logFiles&); public: // Constructors - //- Construct from name, Time, dictionary and prefix - writeFiles + //- Construct from objectRegistry and prefix + logFiles ( - const word& name, - const Time& time, - const dictionary& dict, - const word& prefix - ); - - //- Construct from name, objectRegistry, dictionary and prefix - writeFiles - ( - const word& name, const objectRegistry& obr, - const dictionary& dict, const word& prefix ); //- Destructor - virtual ~writeFiles(); + virtual ~logFiles(); // Member Functions @@ -119,12 +118,12 @@ public: //- Return const access to the names const wordList& names() const; - //- Return access to the file (if only 1) - OFstream& file(); - //- Return access to the files PtrList& files(); + //- Return access to the file (if only 1) + OFstream& file(); + //- Return file 'i' OFstream& file(const label i); diff --git a/src/OpenFOAM/db/functionObjects/writeFile/writeFile.C b/src/OpenFOAM/db/functionObjects/writeFile/writeFile.C index d2a172d408..919b948b0d 100644 --- a/src/OpenFOAM/db/functionObjects/writeFile/writeFile.C +++ b/src/OpenFOAM/db/functionObjects/writeFile/writeFile.C @@ -26,7 +26,6 @@ License #include "writeFile.H" #include "Time.H" #include "polyMesh.H" -#include "IOmanip.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // @@ -49,7 +48,7 @@ void Foam::functionObjects::writeFile::initStream(Ostream& os) const Foam::fileName Foam::functionObjects::writeFile::baseFileDir() const { - fileName baseDir = obr_.time().path(); + fileName baseDir = fileObr_.time().path(); if (Pstream::parRun()) { @@ -63,9 +62,9 @@ Foam::fileName Foam::functionObjects::writeFile::baseFileDir() const } // Append mesh name if not default region - if (isA(obr_)) + if (isA(fileObr_)) { - const polyMesh& mesh = refCast(obr_); + const polyMesh& mesh = refCast(fileObr_); if (mesh.name() != polyMesh::defaultRegion) { baseDir = baseDir/mesh.name(); @@ -78,14 +77,10 @@ Foam::fileName Foam::functionObjects::writeFile::baseFileDir() const Foam::fileName Foam::functionObjects::writeFile::baseTimeDir() const { - return baseFileDir()/prefix_/obr_.time().timeName(); + return baseFileDir()/prefix_/fileObr_.time().timeName(); } -void Foam::functionObjects::writeFile::writeFileHeader(const label i) -{} - - Foam::Omanip Foam::functionObjects::writeFile::valueWidth ( const label offset @@ -99,26 +94,11 @@ Foam::Omanip Foam::functionObjects::writeFile::valueWidth Foam::functionObjects::writeFile::writeFile ( - const word& name, - const Time& runTime, - const dictionary& dict, - const word& prefix -) -: - regionFunctionObject(name, runTime, dict), - prefix_(prefix) -{} - - -Foam::functionObjects::writeFile::writeFile -( - const word& name, const objectRegistry& obr, - const dictionary& dict, const word& prefix ) : - regionFunctionObject(name, obr, dict), + fileObr_(obr), prefix_(prefix) {} @@ -171,7 +151,7 @@ void Foam::functionObjects::writeFile::writeHeader void Foam::functionObjects::writeFile::writeTime(Ostream& os) const { - os << setw(charWidth()) << obr_.time().timeName(); + os << setw(charWidth()) << fileObr_.time().timeName(); } diff --git a/src/OpenFOAM/db/functionObjects/writeFile/writeFile.H b/src/OpenFOAM/db/functionObjects/writeFile/writeFile.H index 111a50a7f9..ccf6e0e3e4 100644 --- a/src/OpenFOAM/db/functionObjects/writeFile/writeFile.H +++ b/src/OpenFOAM/db/functionObjects/writeFile/writeFile.H @@ -28,19 +28,18 @@ Description functionObject base class for writing single files See also - Foam::regionFunctionObject Foam::functionObject + Foam::functionObjects::logFiles SourceFiles - functionObjectFile.C + writeFile.C \*---------------------------------------------------------------------------*/ #ifndef functionObjects_writeFile_H #define functionObjects_writeFile_H -#include "regionFunctionObject.H" -#include "Time.H" +#include "objectRegistry.H" #include "IOmanip.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -55,34 +54,22 @@ namespace functionObjects \*---------------------------------------------------------------------------*/ class writeFile -: - public regionFunctionObject { protected: // Protected data + //- Reference to the region objectRegistry + const objectRegistry& fileObr_; + //- Prefix const word prefix_; - // Protected Member Functions +private: - //- Initialise the output stream for writing - virtual void initStream(Ostream& os) const; - - //- Return the base directory for output - virtual fileName baseFileDir() const; - - //- Return the base directory for the current time value - virtual fileName baseTimeDir() const; - - //- File header information - virtual void writeFileHeader(const label i = 0); - - //- Return the value width when writing to stream with optional offset - virtual Omanip valueWidth(const label offset = 0) const; + // Private Member Functions //- Disallow default bitwise copy construct writeFile(const writeFile&); @@ -102,31 +89,32 @@ public: // Constructors - //- Construct from name, Time, dictionary and prefix + //- Construct from objectRegistry and prefix writeFile ( - const word& name, - const Time& t, - const dictionary& dict, - const word& prefix - ); - - //- Construct from name, objectRegistry, dictionary and prefix - writeFile - ( - const word& name, const objectRegistry& obr, - const dictionary& dict, const word& prefix ); //- Destructor - virtual ~writeFile(); + ~writeFile(); // Member Functions + //- Initialise the output stream for writing + void initStream(Ostream& os) const; + + //- Return the base directory for output + fileName baseFileDir() const; + + //- Return the base directory for the current time value + fileName baseTimeDir() const; + + //- Return the value width when writing to stream with optional offset + Omanip valueWidth(const label offset = 0) const; + //- Write a commented string to stream void writeCommented(Ostream& os, const string& str) const; diff --git a/src/functionObjects/field/fieldMinMax/fieldMinMax.C b/src/functionObjects/field/fieldMinMax/fieldMinMax.C index 18e66003cb..94c4655345 100644 --- a/src/functionObjects/field/fieldMinMax/fieldMinMax.C +++ b/src/functionObjects/field/fieldMinMax/fieldMinMax.C @@ -103,7 +103,8 @@ Foam::functionObjects::fieldMinMax::fieldMinMax const dictionary& dict ) : - writeFiles(name, runTime, dict, name), + regionFunctionObject(name, runTime, dict), + logFiles(obr_, name), location_(true), mode_(mdMag), fieldSet_() @@ -129,7 +130,7 @@ Foam::functionObjects::fieldMinMax::~fieldMinMax() bool Foam::functionObjects::fieldMinMax::read(const dictionary& dict) { - writeFiles::read(dict); + regionFunctionObject::read(dict); location_ = dict.lookupOrDefault("location", true); @@ -148,7 +149,7 @@ bool Foam::functionObjects::fieldMinMax::execute() bool Foam::functionObjects::fieldMinMax::write() { - writeFiles::write(); + logFiles::write(); if (!location_) writeTime(file()); Log << type() << " " << name() << " write:" << nl; diff --git a/src/functionObjects/field/fieldMinMax/fieldMinMax.H b/src/functionObjects/field/fieldMinMax/fieldMinMax.H index a024b61cbc..24a218e424 100644 --- a/src/functionObjects/field/fieldMinMax/fieldMinMax.H +++ b/src/functionObjects/field/fieldMinMax/fieldMinMax.H @@ -67,8 +67,8 @@ Usage Output data is written to the file \/fieldMinMax.dat See also - Foam::functionObject - Foam::functionObjects::writeFiles + Foam::functionObjects::regionFunctionObject + Foam::functionObjects::logFiles SourceFiles fieldMinMax.C @@ -78,7 +78,8 @@ SourceFiles #ifndef functionObjects_fieldMinMax_H #define functionObjects_fieldMinMax_H -#include "writeFiles.H" +#include "regionFunctionObject.H" +#include "logFiles.H" #include "vector.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -94,7 +95,8 @@ namespace functionObjects class fieldMinMax : - public writeFiles + public regionFunctionObject, + public logFiles { public: diff --git a/src/functionObjects/field/fieldValues/fieldValue/fieldValue.C b/src/functionObjects/field/fieldValues/fieldValue/fieldValue.C index 54731bb9ff..fac60d2f9c 100644 --- a/src/functionObjects/field/fieldValues/fieldValue/fieldValue.C +++ b/src/functionObjects/field/fieldValues/fieldValue/fieldValue.C @@ -49,7 +49,8 @@ Foam::functionObjects::fieldValue::fieldValue const word& valueType ) : - writeFiles(name, runTime, dict, name), + regionFunctionObject(name, runTime, dict), + logFiles(obr_, name), dict_(dict), regionName_(word::null), resultDict_(fileName("name"), dictionary::null) @@ -67,7 +68,8 @@ Foam::functionObjects::fieldValue::fieldValue const word& valueType ) : - writeFiles(name, obr, dict, name), + regionFunctionObject(name, obr, dict), + logFiles(obr_, name), dict_(dict), regionName_(word::null), resultDict_(fileName("name"), dictionary::null) @@ -88,7 +90,7 @@ Foam::functionObjects::fieldValue::~fieldValue() bool Foam::functionObjects::fieldValue::read(const dictionary& dict) { dict_ = dict; - writeFiles::read(dict); + regionFunctionObject::read(dict); dict.lookup("fields") >> fields_; dict.lookup("writeFields") >> writeFields_; @@ -105,7 +107,7 @@ bool Foam::functionObjects::fieldValue::execute() bool Foam::functionObjects::fieldValue::write() { - writeFiles::write(); + logFiles::write(); Log << type() << " " << name() << " write:" << nl; diff --git a/src/functionObjects/field/fieldValues/fieldValue/fieldValue.H b/src/functionObjects/field/fieldValues/fieldValue/fieldValue.H index cad2b65490..c6331b5abb 100644 --- a/src/functionObjects/field/fieldValues/fieldValue/fieldValue.H +++ b/src/functionObjects/field/fieldValues/fieldValue/fieldValue.H @@ -30,6 +30,11 @@ Group Description Base class for field value -based function objects. +See also + Foam::functionObject + Foam::functionObjects::regionFunctionObject + Foam::functionObjects::logFiles + SourceFiles fieldValue.C @@ -38,7 +43,8 @@ SourceFiles #ifndef functionObjects_fieldValue_H #define functionObjects_fieldValue_H -#include "writeFiles.H" +#include "regionFunctionObject.H" +#include "logFiles.H" #include "Switch.H" #include "Field.H" @@ -59,7 +65,8 @@ namespace functionObjects class fieldValue : - public writeFiles + public regionFunctionObject, + public logFiles { protected: diff --git a/src/functionObjects/field/fieldValues/fieldValueDelta/fieldValueDelta.C b/src/functionObjects/field/fieldValues/fieldValueDelta/fieldValueDelta.C index 5c0b22c3e9..3b243f87b5 100644 --- a/src/functionObjects/field/fieldValues/fieldValueDelta/fieldValueDelta.C +++ b/src/functionObjects/field/fieldValues/fieldValueDelta/fieldValueDelta.C @@ -106,7 +106,8 @@ Foam::functionObjects::fieldValues::fieldValueDelta::fieldValueDelta const dictionary& dict ) : - writeFiles(name, runTime, dict, name), + regionFunctionObject(name, runTime, dict), + logFiles(obr_, name), operation_(opSubtract), region1Ptr_(nullptr), region2Ptr_(nullptr) @@ -135,7 +136,7 @@ bool Foam::functionObjects::fieldValues::fieldValueDelta::read const dictionary& dict ) { - writeFiles::read(dict); + regionFunctionObject::read(dict); region1Ptr_.reset ( @@ -166,7 +167,7 @@ bool Foam::functionObjects::fieldValues::fieldValueDelta::read bool Foam::functionObjects::fieldValues::fieldValueDelta::write() { - writeFiles::write(); + logFiles::write(); region1Ptr_->write(); region2Ptr_->write(); diff --git a/src/functionObjects/field/fieldValues/fieldValueDelta/fieldValueDelta.H b/src/functionObjects/field/fieldValues/fieldValueDelta/fieldValueDelta.H index 127efb9753..d31620c97f 100644 --- a/src/functionObjects/field/fieldValues/fieldValueDelta/fieldValueDelta.H +++ b/src/functionObjects/field/fieldValues/fieldValueDelta/fieldValueDelta.H @@ -65,7 +65,10 @@ Usage \endplaintable See also - Foam::fieldValue + Foam::functionObject + Foam::functionObject::fieldValue + Foam::functionObjects::regionFunctionObject + Foam::functionObjects::logFiles SourceFiles fieldValueDelta.C @@ -75,7 +78,8 @@ SourceFiles #ifndef functionObjects_fieldValueDelta_H #define functionObjects_fieldValueDelta_H -#include "writeFiles.H" +#include "regionFunctionObject.H" +#include "logFiles.H" #include "fieldValue.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -93,7 +97,8 @@ namespace fieldValues class fieldValueDelta : - public writeFiles + public regionFunctionObject, + public logFiles { public: //- Operation type enumeration diff --git a/src/functionObjects/field/histogram/histogram.C b/src/functionObjects/field/histogram/histogram.C index f8e015020d..6ccc0dbaf4 100644 --- a/src/functionObjects/field/histogram/histogram.C +++ b/src/functionObjects/field/histogram/histogram.C @@ -50,7 +50,7 @@ void Foam::functionObjects::histogram::writeGraph { const wordList fieldNames(1, fieldName); - fileName outputPath = baseTimeDir(); + fileName outputPath = file_.baseTimeDir(); mkDir(outputPath); OFstream graphFile ( @@ -75,7 +75,8 @@ Foam::functionObjects::histogram::histogram const dictionary& dict ) : - writeFile(name, runTime, dict, name) + regionFunctionObject(name, runTime, dict), + file_(obr_, name) { if (!isA(obr_)) { diff --git a/src/functionObjects/field/histogram/histogram.H b/src/functionObjects/field/histogram/histogram.H index 0767444369..9972e7fd03 100644 --- a/src/functionObjects/field/histogram/histogram.H +++ b/src/functionObjects/field/histogram/histogram.H @@ -59,6 +59,7 @@ Usage See also Foam::functionObject + Foam::functionObjects::regionFunctionObject Foam::functionObjects::writeFile SourceFiles @@ -69,8 +70,9 @@ SourceFiles #ifndef functionObjects_histogram_H #define functionObjects_histogram_H -#include "writer.H" +#include "regionFunctionObject.H" #include "writeFile.H" +#include "writer.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -85,10 +87,12 @@ namespace functionObjects class histogram : - public writeFile + public regionFunctionObject { // Private data + writeFile file_; + //- Name of field word fieldName_; diff --git a/src/functionObjects/field/regionSizeDistribution/regionSizeDistribution.C b/src/functionObjects/field/regionSizeDistribution/regionSizeDistribution.C index 95bab35c13..f6bd360ef3 100644 --- a/src/functionObjects/field/regionSizeDistribution/regionSizeDistribution.C +++ b/src/functionObjects/field/regionSizeDistribution/regionSizeDistribution.C @@ -74,7 +74,7 @@ void Foam::functionObjects::regionSizeDistribution::writeGraph { const wordList valNames(1, valueName); - fileName outputPath = baseTimeDir(); + fileName outputPath = file_.baseTimeDir(); mkDir(outputPath); OFstream str(outputPath/formatterPtr_().getFileName(coords, valNames)); @@ -330,7 +330,8 @@ Foam::functionObjects::regionSizeDistribution::regionSizeDistribution const dictionary& dict ) : - writeFile(name, runTime, dict, name), + regionFunctionObject(name, runTime, dict), + file_(obr_, name), alphaName_(dict.lookup("field")), patchNames_(dict.lookup("patches")) { diff --git a/src/functionObjects/field/regionSizeDistribution/regionSizeDistribution.H b/src/functionObjects/field/regionSizeDistribution/regionSizeDistribution.H index f3a7b53a0c..52d45ef292 100644 --- a/src/functionObjects/field/regionSizeDistribution/regionSizeDistribution.H +++ b/src/functionObjects/field/regionSizeDistribution/regionSizeDistribution.H @@ -96,6 +96,7 @@ Usage See also Foam::functionObject + Foam::functionObjects::regionFunctionObject Foam::functionObjects::writeFile SourceFiles @@ -106,6 +107,7 @@ SourceFiles #ifndef functionObjects_regionSizeDistribution_H #define functionObjects_regionSizeDistribution_H +#include "regionFunctionObject.H" #include "writeFile.H" #include "writer.H" #include "Map.H" @@ -130,10 +132,12 @@ namespace functionObjects class regionSizeDistribution : - public writeFile + public regionFunctionObject { // Private data + writeFile file_; + //- Name of field word alphaName_; diff --git a/src/functionObjects/field/wallHeatFlux/wallHeatFlux.C b/src/functionObjects/field/wallHeatFlux/wallHeatFlux.C index 142d3d739a..9f42c56491 100644 --- a/src/functionObjects/field/wallHeatFlux/wallHeatFlux.C +++ b/src/functionObjects/field/wallHeatFlux/wallHeatFlux.C @@ -102,7 +102,8 @@ Foam::functionObjects::wallHeatFlux::wallHeatFlux const dictionary& dict ) : - writeFiles(name, runTime, dict, name), + regionFunctionObject(name, runTime, dict), + logFiles(obr_, name), patchSet_() { if (!isA(obr_)) @@ -147,7 +148,7 @@ Foam::functionObjects::wallHeatFlux::~wallHeatFlux() bool Foam::functionObjects::wallHeatFlux::read(const dictionary& dict) { - writeFiles::read(dict); + regionFunctionObject::read(dict); const fvMesh& mesh = refCast(obr_); const polyBoundaryMesh& pbm = mesh.boundaryMesh(); @@ -237,7 +238,7 @@ bool Foam::functionObjects::wallHeatFlux::execute() bool Foam::functionObjects::wallHeatFlux::write() { - writeFiles::write(); + logFiles::write(); const volScalarField& wallHeatFlux = obr_.lookupObject(type()); diff --git a/src/functionObjects/field/wallHeatFlux/wallHeatFlux.H b/src/functionObjects/field/wallHeatFlux/wallHeatFlux.H index 505d019669..4cb46bea23 100644 --- a/src/functionObjects/field/wallHeatFlux/wallHeatFlux.H +++ b/src/functionObjects/field/wallHeatFlux/wallHeatFlux.H @@ -54,7 +54,8 @@ Usage See also Foam::functionObject - Foam::functionObjects::writeFiles + Foam::functionObjects::regionFunctionObject + Foam::functionObjects::logFiles Foam::functionObjects::pressureTools Foam::functionObjects::timeControl @@ -66,7 +67,8 @@ SourceFiles #ifndef functionObjects_wallHeatFlux_H #define functionObjects_wallHeatFlux_H -#include "writeFiles.H" +#include "regionFunctionObject.H" +#include "logFiles.H" #include "volFieldsFwd.H" #include "surfaceFieldsFwd.H" #include "HashSet.H" @@ -89,8 +91,10 @@ namespace functionObjects class wallHeatFlux : - public writeFiles + public regionFunctionObject, + public logFiles { + protected: // Protected data diff --git a/src/functionObjects/field/wallShearStress/wallShearStress.C b/src/functionObjects/field/wallShearStress/wallShearStress.C index a31714a406..b9427c6a5f 100644 --- a/src/functionObjects/field/wallShearStress/wallShearStress.C +++ b/src/functionObjects/field/wallShearStress/wallShearStress.C @@ -89,7 +89,8 @@ Foam::functionObjects::wallShearStress::wallShearStress const dictionary& dict ) : - writeFiles(name, runTime, dict, name), + regionFunctionObject(name, runTime, dict), + logFiles(obr_, name), patchSet_() { if (!isA(obr_)) @@ -139,7 +140,7 @@ Foam::functionObjects::wallShearStress::~wallShearStress() bool Foam::functionObjects::wallShearStress::read(const dictionary& dict) { - writeFiles::read(dict); + regionFunctionObject::read(dict); const fvMesh& mesh = refCast(obr_); const polyBoundaryMesh& pbm = mesh.boundaryMesh(); @@ -236,7 +237,7 @@ bool Foam::functionObjects::wallShearStress::execute() bool Foam::functionObjects::wallShearStress::write() { - writeFiles::write(); + logFiles::write(); const volVectorField& wallShearStress = obr_.lookupObject(type()); diff --git a/src/functionObjects/field/wallShearStress/wallShearStress.H b/src/functionObjects/field/wallShearStress/wallShearStress.H index 5836f08b86..f63ffa5542 100644 --- a/src/functionObjects/field/wallShearStress/wallShearStress.H +++ b/src/functionObjects/field/wallShearStress/wallShearStress.H @@ -65,7 +65,8 @@ Usage See also Foam::functionObject - Foam::functionObjects::writeFiles + Foam::functionObjects::regionFunctionObject + Foam::functionObjects::logFiles Foam::functionObjects::pressureTools Foam::functionObjects::timeControl @@ -77,7 +78,8 @@ SourceFiles #ifndef functionObjects_wallShearStress_H #define functionObjects_wallShearStress_H -#include "writeFiles.H" +#include "regionFunctionObject.H" +#include "logFiles.H" #include "volFieldsFwd.H" #include "HashSet.H" @@ -98,8 +100,10 @@ namespace functionObjects class wallShearStress : - public writeFiles + public regionFunctionObject, + public logFiles { + protected: // Protected data diff --git a/src/functionObjects/field/yPlus/yPlus.C b/src/functionObjects/field/yPlus/yPlus.C index e9db697e78..a2dc994da1 100644 --- a/src/functionObjects/field/yPlus/yPlus.C +++ b/src/functionObjects/field/yPlus/yPlus.C @@ -121,7 +121,8 @@ Foam::functionObjects::yPlus::yPlus const dictionary& dict ) : - writeFiles(name, runTime, dict, name) + regionFunctionObject(name, runTime, dict), + logFiles(obr_, name) { if (!isA(obr_)) { @@ -164,7 +165,7 @@ Foam::functionObjects::yPlus::~yPlus() bool Foam::functionObjects::yPlus::read(const dictionary& dict) { - writeFiles::read(dict); + regionFunctionObject::read(dict); return true; } @@ -208,7 +209,7 @@ bool Foam::functionObjects::yPlus::write() yPlus.write(); - writeFiles::write(); + logFiles::write(); const volScalarField::Boundary& yPlusBf = yPlus.boundaryField(); diff --git a/src/functionObjects/field/yPlus/yPlus.H b/src/functionObjects/field/yPlus/yPlus.H index 45696b8300..e8435189ec 100644 --- a/src/functionObjects/field/yPlus/yPlus.H +++ b/src/functionObjects/field/yPlus/yPlus.H @@ -33,7 +33,8 @@ Description See also Foam::functionObject - Foam::functionObjects::writeFiles + Foam::functionObjects::regionFunctionObject + Foam::functionObjects::logFiles Foam::functionObjects::timeControl SourceFiles @@ -44,7 +45,8 @@ SourceFiles #ifndef functionObjects_yPlus_H #define functionObjects_yPlus_H -#include "writeFiles.H" +#include "regionFunctionObject.H" +#include "logFiles.H" #include "volFieldsFwd.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -65,7 +67,8 @@ namespace functionObjects class yPlus : - public writeFiles + public regionFunctionObject, + public logFiles { // Private Member Functions diff --git a/src/functionObjects/forces/forceCoeffs/forceCoeffs.C b/src/functionObjects/forces/forceCoeffs/forceCoeffs.C index 64d72517e6..cf6d258bfa 100644 --- a/src/functionObjects/forces/forceCoeffs/forceCoeffs.C +++ b/src/functionObjects/forces/forceCoeffs/forceCoeffs.C @@ -179,7 +179,7 @@ bool Foam::functionObjects::forceCoeffs::write() if (Pstream::master()) { - writeFiles::write(); + logFiles::write(); scalar pDyn = 0.5*rhoRef_*magUInf_*magUInf_; diff --git a/src/functionObjects/forces/forces/forces.C b/src/functionObjects/forces/forces/forces.C index 6b208963d5..8f33033733 100644 --- a/src/functionObjects/forces/forces/forces.C +++ b/src/functionObjects/forces/forces/forces.C @@ -529,7 +529,8 @@ Foam::functionObjects::forces::forces const dictionary& dict ) : - writeFiles(name, runTime, dict, name), + regionFunctionObject(name, runTime, dict), + logFiles(obr_, name), force_(3), moment_(3), patchSet_(), @@ -569,7 +570,8 @@ Foam::functionObjects::forces::forces const dictionary& dict ) : - writeFiles(name, obr, dict, name), + regionFunctionObject(name, obr, dict), + logFiles(obr_, name), force_(3), moment_(3), patchSet_(), @@ -612,7 +614,7 @@ Foam::functionObjects::forces::~forces() bool Foam::functionObjects::forces::read(const dictionary& dict) { - writeFiles::read(dict); + regionFunctionObject::read(dict); initialised_ = false; @@ -909,7 +911,7 @@ bool Foam::functionObjects::forces::write() if (Pstream::master()) { - writeFiles::write(); + logFiles::write(); writeForces(); diff --git a/src/functionObjects/forces/forces/forces.H b/src/functionObjects/forces/forces/forces.H index 223c4cd632..a3ecac8f16 100644 --- a/src/functionObjects/forces/forces/forces.H +++ b/src/functionObjects/forces/forces/forces.H @@ -101,7 +101,8 @@ Note See also Foam::functionObject - Foam::functionObjects::writeFiles + Foam::functionObjects::regionFunctionObject + Foam::functionObjects::logFiles Foam::functionObjects::timeControl Foam::forceCoeffs @@ -113,7 +114,8 @@ SourceFiles #ifndef functionObjects_forces_H #define functionObjects_forces_H -#include "writeFiles.H" +#include "regionFunctionObject.H" +#include "logFiles.H" #include "coordinateSystem.H" #include "volFieldsFwd.H" #include "HashSet.H" @@ -131,8 +133,10 @@ namespace functionObjects class forces : - public writeFiles + public regionFunctionObject, + public logFiles { + protected: // Protected data diff --git a/src/functionObjects/lagrangian/cloudInfo/cloudInfo.C b/src/functionObjects/lagrangian/cloudInfo/cloudInfo.C index f2e8639f8c..f8cb1dfb71 100644 --- a/src/functionObjects/lagrangian/cloudInfo/cloudInfo.C +++ b/src/functionObjects/lagrangian/cloudInfo/cloudInfo.C @@ -25,6 +25,8 @@ License #include "cloudInfo.H" #include "kinematicCloud.H" +#include "dictionary.H" +#include "PstreamReduceOps.H" #include "addToRunTimeSelectionTable.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // @@ -66,7 +68,8 @@ Foam::functionObjects::cloudInfo::cloudInfo const dictionary& dict ) : - writeFiles(name, runTime, dict, name) + regionFunctionObject(name, runTime, dict), + logFiles(obr_, name) { read(dict); } @@ -82,7 +85,9 @@ Foam::functionObjects::cloudInfo::~cloudInfo() bool Foam::functionObjects::cloudInfo::read(const dictionary& dict) { - writeFiles::resetNames(dict.lookup("clouds")); + regionFunctionObject::read(dict); + + logFiles::resetNames(dict.lookup("clouds")); Info<< type() << " " << name() << ": "; if (names().size()) @@ -111,7 +116,7 @@ bool Foam::functionObjects::cloudInfo::execute() bool Foam::functionObjects::cloudInfo::write() { - writeFiles::write(); + logFiles::write(); forAll(names(), i) { diff --git a/src/functionObjects/lagrangian/cloudInfo/cloudInfo.H b/src/functionObjects/lagrangian/cloudInfo/cloudInfo.H index 564406dde5..a2720ea4e5 100644 --- a/src/functionObjects/lagrangian/cloudInfo/cloudInfo.H +++ b/src/functionObjects/lagrangian/cloudInfo/cloudInfo.H @@ -61,7 +61,8 @@ Usage See also Foam::functionObject - Foam::functionObjects::writeFiles + Foam::functionObjects::regionFunctionObject + Foam::functionObjects::logFiles SourceFiles cloudInfo.C @@ -71,7 +72,8 @@ SourceFiles #ifndef functionObjects_cloudInfo_H #define functionObjects_cloudInfo_H -#include "writeFiles.H" +#include "regionFunctionObject.H" +#include "logFiles.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -86,7 +88,8 @@ namespace functionObjects class cloudInfo : - public writeFiles + public regionFunctionObject, + public logFiles { protected: diff --git a/src/functionObjects/utilities/residuals/residuals.C b/src/functionObjects/utilities/residuals/residuals.C index 17e1cb1a76..b86454a8a7 100644 --- a/src/functionObjects/utilities/residuals/residuals.C +++ b/src/functionObjects/utilities/residuals/residuals.C @@ -53,7 +53,8 @@ Foam::functionObjects::residuals::residuals const dictionary& dict ) : - writeFiles(name, runTime, dict, name), + regionFunctionObject(name, runTime, dict), + logFiles(obr_, name), fieldSet_() { if (!isA(obr_)) @@ -77,6 +78,8 @@ Foam::functionObjects::residuals::~residuals() bool Foam::functionObjects::residuals::read(const dictionary& dict) { + regionFunctionObject::read(dict); + dict.lookup("fields") >> fieldSet_; return true; @@ -114,7 +117,7 @@ bool Foam::functionObjects::residuals::execute() bool Foam::functionObjects::residuals::write() { - writeFiles::write(); + logFiles::write(); if (Pstream::master()) { diff --git a/src/functionObjects/utilities/residuals/residuals.H b/src/functionObjects/utilities/residuals/residuals.H index 92b23ddc6d..0bd5972712 100644 --- a/src/functionObjects/utilities/residuals/residuals.H +++ b/src/functionObjects/utilities/residuals/residuals.H @@ -51,7 +51,8 @@ Description See also Foam::functionObject - Foam::functionObjects::writeFiles + Foam::functionObjects::regionFunctionObject + Foam::functionObjects::logFiles Foam::functionObjects::timeControl SourceFiles @@ -62,7 +63,8 @@ SourceFiles #ifndef functionObjects_residuals_H #define functionObjects_residuals_H -#include "writeFiles.H" +#include "regionFunctionObject.H" +#include "logFiles.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -77,7 +79,8 @@ namespace functionObjects class residuals : - public writeFiles + public regionFunctionObject, + public logFiles { protected: