diff --git a/src/postProcessing/functionObjects/field/Make/files b/src/postProcessing/functionObjects/field/Make/files index f0223c3f94..cba907676a 100644 --- a/src/postProcessing/functionObjects/field/Make/files +++ b/src/postProcessing/functionObjects/field/Make/files @@ -10,12 +10,13 @@ fieldMinMax/fieldMinMax.C fieldMinMax/fieldMinMaxFunctionObject.C fieldValues/fieldValue/fieldValue.C +fieldValues/fieldValue/fieldValueNew.C +fieldValues/fieldValueDelta/fieldValueDelta.C +fieldValues/fieldValueDelta/fieldValueDeltaFunctionObject.C fieldValues/faceSource/faceSource.C fieldValues/faceSource/faceSourceFunctionObject.C fieldValues/cellSource/cellSource.C fieldValues/cellSource/cellSourceFunctionObject.C -fieldValues/faceSourceDelta/faceSourceDelta.C -fieldValues/faceSourceDelta/faceSourceDeltaFunctionObject.C nearWallFields/nearWallFields.C nearWallFields/nearWallFieldsFunctionObject.C diff --git a/src/postProcessing/functionObjects/field/fieldValues/faceSourceDelta/IOfaceSourceDelta.H b/src/postProcessing/functionObjects/field/fieldValues/fieldValueDelta/IOfieldValueDelta.H similarity index 86% rename from src/postProcessing/functionObjects/field/fieldValues/faceSourceDelta/IOfaceSourceDelta.H rename to src/postProcessing/functionObjects/field/fieldValues/fieldValueDelta/IOfieldValueDelta.H index 3dbf93f1ca..7c316e926e 100644 --- a/src/postProcessing/functionObjects/field/fieldValues/faceSourceDelta/IOfaceSourceDelta.H +++ b/src/postProcessing/functionObjects/field/fieldValues/fieldValueDelta/IOfieldValueDelta.H @@ -22,25 +22,25 @@ License along with OpenFOAM. If not, see . Typedef - Foam::IOfaceSourceDelta + Foam::IOfieldValueDelta Description - Instance of the generic IOOutputFilter for faceSourceDelta. + Instance of the generic IOOutputFilter for fieldValueDelta. \*---------------------------------------------------------------------------*/ -#ifndef IOfaceSourceDelta_H -#define IOfaceSourceDelta_H +#ifndef IOfieldValueDelta_H +#define IOfieldValueDelta_H -#include "faceSourceDelta.H" +#include "fieldValueDelta.H" #include "IOOutputFilter.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // namespace Foam { - typedef IOOutputFilter IOfaceSourceDelta; + typedef IOOutputFilter IOfieldValueDelta; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/postProcessing/functionObjects/field/fieldValues/faceSourceDelta/faceSourceDelta.C b/src/postProcessing/functionObjects/field/fieldValues/fieldValueDelta/fieldValueDelta.C similarity index 70% rename from src/postProcessing/functionObjects/field/fieldValues/faceSourceDelta/faceSourceDelta.C rename to src/postProcessing/functionObjects/field/fieldValues/fieldValueDelta/fieldValueDelta.C index 22af9e4afe..06a01c759c 100644 --- a/src/postProcessing/functionObjects/field/fieldValues/faceSourceDelta/faceSourceDelta.C +++ b/src/postProcessing/functionObjects/field/fieldValues/fieldValueDelta/fieldValueDelta.C @@ -23,22 +23,23 @@ License \*---------------------------------------------------------------------------*/ -#include "faceSourceDelta.H" +#include "fieldValueDelta.H" #include "ListOps.H" +#include "Time.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // -defineTypeNameAndDebug(Foam::fieldValues::faceSourceDelta, 0); +defineTypeNameAndDebug(Foam::fieldValues::fieldValueDelta, 0); // * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * // -void Foam::fieldValues::faceSourceDelta::updateMesh(const mapPolyMesh&) +void Foam::fieldValues::fieldValueDelta::updateMesh(const mapPolyMesh&) { // Do nothing } -void Foam::fieldValues::faceSourceDelta::movePoints(const Field&) +void Foam::fieldValues::fieldValueDelta::movePoints(const Field&) { // Do nothing } @@ -46,7 +47,7 @@ void Foam::fieldValues::faceSourceDelta::movePoints(const Field&) // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // -Foam::fieldValues::faceSourceDelta::faceSourceDelta +Foam::fieldValues::fieldValueDelta::fieldValueDelta ( const word& name, const objectRegistry& obr, @@ -55,31 +56,21 @@ Foam::fieldValues::faceSourceDelta::faceSourceDelta ) : functionObjectFile(obr, name, typeName), + name_(name), obr_(obr), + loadFromFiles_(loadFromFiles), log_(false), - faceSource1_ - ( - name + ".faceSource1", - obr, - dict.subDict("faceSource1"), - loadFromFiles - ), - faceSource2_ - ( - name + ".faceSource2", - obr, - dict.subDict("faceSource2"), - loadFromFiles - ) + source1Ptr_(NULL), + source2Ptr_(NULL) { read(dict); } -void Foam::fieldValues::faceSourceDelta::writeFileHeader(const label i) +void Foam::fieldValues::fieldValueDelta::writeFileHeader(const label i) { - const wordList& fields1 = faceSource1_.fields(); - const wordList& fields2 = faceSource2_.fields(); + const wordList& fields1 = source1Ptr_->fields(); + const wordList& fields2 = source2Ptr_->fields(); DynamicList commonFields(fields1.size()); forAll(fields1, i) @@ -104,26 +95,46 @@ void Foam::fieldValues::faceSourceDelta::writeFileHeader(const label i) // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // -Foam::fieldValues::faceSourceDelta::~faceSourceDelta() +Foam::fieldValues::fieldValueDelta::~fieldValueDelta() {} // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -void Foam::fieldValues::faceSourceDelta::read(const dictionary& dict) +void Foam::fieldValues::fieldValueDelta::read(const dictionary& dict) { log_ = dict.lookupOrDefault("log", false); - faceSource1_.read(dict.subDict("faceSource1")); - faceSource2_.read(dict.subDict("faceSource2")); + source1Ptr_.reset + ( + fieldValue::New + ( + name_ + ".source1", + obr_, + dict.subDict("source1"), + loadFromFiles_, + false + ).ptr() + ); + source2Ptr_.reset + ( + fieldValue::New + ( + name_ + ".source2", + obr_, + dict.subDict("source2"), + loadFromFiles_, + false + ).ptr() + ); } -void Foam::fieldValues::faceSourceDelta::write() +void Foam::fieldValues::fieldValueDelta::write() { functionObjectFile::write(); - faceSource1_.write(); - faceSource2_.write(); + source1Ptr_->write(); + source2Ptr_->write(); if (Pstream::master()) { @@ -161,13 +172,13 @@ void Foam::fieldValues::faceSourceDelta::write() } -void Foam::fieldValues::faceSourceDelta::execute() +void Foam::fieldValues::fieldValueDelta::execute() { // Do nothing } -void Foam::fieldValues::faceSourceDelta::end() +void Foam::fieldValues::fieldValueDelta::end() { // Do nothing } diff --git a/src/postProcessing/functionObjects/field/fieldValues/faceSourceDelta/faceSourceDelta.H b/src/postProcessing/functionObjects/field/fieldValues/fieldValueDelta/fieldValueDelta.H similarity index 80% rename from src/postProcessing/functionObjects/field/fieldValues/faceSourceDelta/faceSourceDelta.H rename to src/postProcessing/functionObjects/field/fieldValues/fieldValueDelta/fieldValueDelta.H index ba97b9e5a5..cd11545d93 100644 --- a/src/postProcessing/functionObjects/field/fieldValues/faceSourceDelta/faceSourceDelta.H +++ b/src/postProcessing/functionObjects/field/fieldValues/fieldValueDelta/fieldValueDelta.H @@ -22,26 +22,26 @@ License along with OpenFOAM. If not, see . Class - Foam::fieldValues::faceSourceDelta + Foam::fieldValues::fieldValueDelta Group grpFieldFunctionObjects Description - This function object provides a differencing option between two 'face - source' function objects. + This function object provides a differencing option between two 'field + value' function objects. Example of function object specification: \verbatim - faceSourceDelta1 + fieldValueDelta1 { - type faceSourceDelta; + type fieldValueDelta; functionObjectLibs ("libfieldFunctionObjects.so"); - faceSource1 + fieldValue1 { ... } - faceSource2 + fieldValue2 { ... } @@ -51,22 +51,23 @@ Description \heading Function object usage \table Property | Description | Required | Default value - type | type name: faceSourceDelta | yes | + type | type name: fieldValueDelta | yes | \endtable SeeAlso - Foam::faceSource + Foam::fieldValue SourceFiles - faceSourceDelta.C + fieldValueDelta.C \*---------------------------------------------------------------------------*/ -#ifndef faceSourceDelta_H -#define faceSourceDelta_H +#ifndef fieldValueDelta_H +#define fieldValueDelta_H #include "functionObjectFile.H" -#include "faceSource.H" +#include "fieldValue.H" +#include "autoPtr.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -77,10 +78,10 @@ namespace fieldValues { /*---------------------------------------------------------------------------*\ - Class faceSourceDelta Declaration + Class fieldValueDelta Declaration \*---------------------------------------------------------------------------*/ -class faceSourceDelta +class fieldValueDelta : public functionObjectFile { @@ -89,17 +90,23 @@ private: // Private data + //- Name of this fieldValue object + word name_; + //- Database this class is registered to const objectRegistry& obr_; + //- Flag to indicate to load from files + bool loadFromFiles_; + //- Switch to send output to Info as well as to file Switch log_; - //- Face source 1 - faceSource faceSource1_; + //- Field value source object 1 + autoPtr source1Ptr_; - //- Face source 2 - faceSource faceSource2_; + //- Field value source object 2 + autoPtr source2Ptr_; // Private Member Functions @@ -126,11 +133,11 @@ protected: public: //- Run-time type information - TypeName("faceSourceDelta"); + TypeName("fieldValueDelta"); //- Construct from components - faceSourceDelta + fieldValueDelta ( const word& name, const objectRegistry& obr, @@ -140,7 +147,7 @@ public: //- Destructor - virtual ~faceSourceDelta(); + virtual ~fieldValueDelta(); // Public Member Functions @@ -169,7 +176,7 @@ public: // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // #ifdef NoRepository - #include "faceSourceDeltaTemplates.C" + #include "fieldValueDeltaTemplates.C" #endif // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/postProcessing/functionObjects/field/fieldValues/faceSourceDelta/faceSourceDeltaFunctionObject.C b/src/postProcessing/functionObjects/field/fieldValues/fieldValueDelta/fieldValueDeltaFunctionObject.C similarity index 92% rename from src/postProcessing/functionObjects/field/fieldValues/faceSourceDelta/faceSourceDeltaFunctionObject.C rename to src/postProcessing/functionObjects/field/fieldValues/fieldValueDelta/fieldValueDeltaFunctionObject.C index aec39668b5..7d093c3781 100644 --- a/src/postProcessing/functionObjects/field/fieldValues/faceSourceDelta/faceSourceDeltaFunctionObject.C +++ b/src/postProcessing/functionObjects/field/fieldValues/fieldValueDelta/fieldValueDeltaFunctionObject.C @@ -23,7 +23,7 @@ License \*---------------------------------------------------------------------------*/ -#include "faceSourceDeltaFunctionObject.H" +#include "fieldValueDeltaFunctionObject.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // @@ -31,14 +31,14 @@ namespace Foam { defineNamedTemplateTypeNameAndDebug ( - faceSourceDeltaFunctionObject, + fieldValueDeltaFunctionObject, 0 ); addToRunTimeSelectionTable ( functionObject, - faceSourceDeltaFunctionObject, + fieldValueDeltaFunctionObject, dictionary ); } diff --git a/src/postProcessing/functionObjects/field/fieldValues/faceSourceDelta/faceSourceDeltaFunctionObject.H b/src/postProcessing/functionObjects/field/fieldValues/fieldValueDelta/fieldValueDeltaFunctionObject.H similarity index 81% rename from src/postProcessing/functionObjects/field/fieldValues/faceSourceDelta/faceSourceDeltaFunctionObject.H rename to src/postProcessing/functionObjects/field/fieldValues/fieldValueDelta/fieldValueDeltaFunctionObject.H index ceca4b9938..120d5991bc 100644 --- a/src/postProcessing/functionObjects/field/fieldValues/faceSourceDelta/faceSourceDeltaFunctionObject.H +++ b/src/postProcessing/functionObjects/field/fieldValues/fieldValueDelta/fieldValueDeltaFunctionObject.H @@ -22,29 +22,29 @@ License along with OpenFOAM. If not, see . Typedef - Foam::faceSourceDeltaFunctionObject + Foam::fieldValueDeltaFunctionObject Description - FunctionObject wrapper around faceSourceDelta to allow it to be + FunctionObject wrapper around fieldValueDelta to allow it to be created via the functions entry within controlDict. SourceFiles - faceSourceDeltaFunctionObject.C + fieldValueDeltaFunctionObject.C \*---------------------------------------------------------------------------*/ -#ifndef faceSourceDeltaFunctionObject_H -#define faceSourceDeltaFunctionObject_H +#ifndef fieldValueDeltaFunctionObject_H +#define fieldValueDeltaFunctionObject_H -#include "faceSourceDelta.H" +#include "fieldValueDelta.H" #include "OutputFilterFunctionObject.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // namespace Foam { - typedef OutputFilterFunctionObject - faceSourceDeltaFunctionObject; + typedef OutputFilterFunctionObject + fieldValueDeltaFunctionObject; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/postProcessing/functionObjects/field/fieldValues/faceSourceDelta/faceSourceDeltaTemplates.C b/src/postProcessing/functionObjects/field/fieldValues/fieldValueDelta/fieldValueDeltaTemplates.C similarity index 87% rename from src/postProcessing/functionObjects/field/fieldValues/faceSourceDelta/faceSourceDeltaTemplates.C rename to src/postProcessing/functionObjects/field/fieldValues/fieldValueDelta/fieldValueDeltaTemplates.C index 1cde69473e..7f5eda5b74 100644 --- a/src/postProcessing/functionObjects/field/fieldValues/faceSourceDelta/faceSourceDeltaTemplates.C +++ b/src/postProcessing/functionObjects/field/fieldValues/fieldValueDelta/fieldValueDeltaTemplates.C @@ -23,17 +23,20 @@ License \*---------------------------------------------------------------------------*/ +#include "GeometricField.H" +#include "volMesh.H" + // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // template -void Foam::fieldValues::faceSourceDelta::processFields(bool& found) +void Foam::fieldValues::fieldValueDelta::processFields(bool& found) { typedef GeometricField vf; - const wordList& fields1 = faceSource1_.fields(); + const wordList& fields1 = source1Ptr_->fields(); - const dictionary& results1 = faceSource1_.resultDict(); - const dictionary& results2 = faceSource2_.resultDict(); + const dictionary& results1 = source1Ptr_->resultDict(); + const dictionary& results2 = source2Ptr_->resultDict(); Type r1(pTraits::zero); Type r2(pTraits::zero);