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 77e549c9d..7230e0cd0 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 c975296d1..e530cb2a0 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 4fdee06be..32931590b 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 12667a11e..466d483f3 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 d2a172d40..919b948b0 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 111a50a7f..ccf6e0e3e 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 18e66003c..94c465534 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 a024b61cb..24a218e42 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 54731bb9f..fac60d2f9 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 cad2b6549..c6331b5ab 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 5c0b22c3e..3b243f87b 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 127efb975..d31620c97 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 f8e015020..6ccc0dbaf 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 076744436..9972e7fd0 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 95bab35c1..f6bd360ef 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 f3a7b53a0..52d45ef29 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 142d3d739..9f42c5649 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 505d01966..4cb46bea2 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 a31714a40..b9427c6a5 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 5836f08b8..f63ffa554 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 e9db697e7..a2dc994da 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 45696b830..e8435189e 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 64d72517e..cf6d258bf 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 6b208963d..8f3303373 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 223c4cd63..a3ecac8f1 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 f2e8639f8..f8cb1dfb7 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 564406dde..a2720ea4e 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 17e1cb1a7..b86454a8a 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 92b23ddc6..0bd597271 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: