diff --git a/src/postProcessing/functionObjects/utilities/CourantNo/CourantNo.C b/src/postProcessing/functionObjects/field/CourantNo/CourantNo.C similarity index 96% rename from src/postProcessing/functionObjects/utilities/CourantNo/CourantNo.C rename to src/postProcessing/functionObjects/field/CourantNo/CourantNo.C index ff99c21b4b..40fa5ca004 100644 --- a/src/postProcessing/functionObjects/utilities/CourantNo/CourantNo.C +++ b/src/postProcessing/functionObjects/field/CourantNo/CourantNo.C @@ -111,8 +111,8 @@ Foam::functionObjects::CourantNo::~CourantNo() bool Foam::functionObjects::CourantNo::read(const dictionary& dict) { - phiName_ = dict.lookupOrDefault("phiName", "phi"); - rhoName_ = dict.lookupOrDefault("rhoName", "rho"); + phiName_ = dict.lookupOrDefault("phi", "phi"); + rhoName_ = dict.lookupOrDefault("rho", "rho"); return true; } diff --git a/src/postProcessing/functionObjects/utilities/CourantNo/CourantNo.H b/src/postProcessing/functionObjects/field/CourantNo/CourantNo.H similarity index 100% rename from src/postProcessing/functionObjects/utilities/CourantNo/CourantNo.H rename to src/postProcessing/functionObjects/field/CourantNo/CourantNo.H diff --git a/src/postProcessing/functionObjects/utilities/Lambda2/Lambda2.C b/src/postProcessing/functionObjects/field/Lambda2/Lambda2.C similarity index 98% rename from src/postProcessing/functionObjects/utilities/Lambda2/Lambda2.C rename to src/postProcessing/functionObjects/field/Lambda2/Lambda2.C index 9f47b1fac1..c942606b5a 100644 --- a/src/postProcessing/functionObjects/utilities/Lambda2/Lambda2.C +++ b/src/postProcessing/functionObjects/field/Lambda2/Lambda2.C @@ -91,7 +91,7 @@ Foam::functionObjects::Lambda2::~Lambda2() bool Foam::functionObjects::Lambda2::read(const dictionary& dict) { - UName_ = dict.lookupOrDefault("UName", "U"); + UName_ = dict.lookupOrDefault("U", "U"); return true; } diff --git a/src/postProcessing/functionObjects/utilities/Lambda2/Lambda2.H b/src/postProcessing/functionObjects/field/Lambda2/Lambda2.H similarity index 100% rename from src/postProcessing/functionObjects/utilities/Lambda2/Lambda2.H rename to src/postProcessing/functionObjects/field/Lambda2/Lambda2.H diff --git a/src/postProcessing/functionObjects/field/Make/files b/src/postProcessing/functionObjects/field/Make/files index a314c43ad0..4d4491351d 100644 --- a/src/postProcessing/functionObjects/field/Make/files +++ b/src/postProcessing/functionObjects/field/Make/files @@ -36,5 +36,9 @@ fieldExpression/fieldExpression.C div/div.C grad/grad.C mag/mag.C +vorticity/vorticity.C +Q/Q.C +Lambda2/Lambda2.C +CourantNo/CourantNo.C LIB = $(FOAM_LIBBIN)/libfieldFunctionObjects diff --git a/src/postProcessing/functionObjects/utilities/Q/Q.C b/src/postProcessing/functionObjects/field/Q/Q.C similarity index 61% rename from src/postProcessing/functionObjects/utilities/Q/Q.C rename to src/postProcessing/functionObjects/field/Q/Q.C index a07925d2b2..52cc9f1489 100644 --- a/src/postProcessing/functionObjects/utilities/Q/Q.C +++ b/src/postProcessing/functionObjects/field/Q/Q.C @@ -24,7 +24,6 @@ License \*---------------------------------------------------------------------------*/ #include "Q.H" -#include "volFields.H" #include "fvcGrad.H" #include "addToRunTimeSelectionTable.H" @@ -55,29 +54,8 @@ Foam::functionObjects::Q::Q const dictionary& dict ) : - fvMeshFunctionObject(name, runTime, dict) -{ - read(dict); - - volScalarField* QPtr - ( - new volScalarField - ( - IOobject - ( - type(), - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), - mesh_, - dimensionedScalar("0", dimless/sqr(dimTime), 0.0) - ) - ); - - mesh_.objectRegistry::store(QPtr); -} + fieldExpression(name, runTime, dict, "U", "Q") +{} // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // @@ -88,45 +66,24 @@ Foam::functionObjects::Q::~Q() // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -bool Foam::functionObjects::Q::read(const dictionary& dict) -{ - UName_ = dict.lookupOrDefault("UName", "U"); - - return true; -} - - bool Foam::functionObjects::Q::execute(const bool postProcess) { - const volVectorField& U = - mesh_.lookupObject(UName_); + if (foundField(fieldName_)) + { + const volVectorField& U = lookupField(fieldName_); + const tmp tgradU(fvc::grad(U)); + const volTensorField& gradU = tgradU(); - const volTensorField gradU(fvc::grad(U)); - - volScalarField& Q = - const_cast + return store ( - mesh_.lookupObject(type()) + resultName_, + 0.5*(sqr(tr(gradU)) - tr(((gradU) & (gradU)))) ); - - Q = 0.5*(sqr(tr(gradU)) - tr(((gradU) & (gradU)))); - - return true; -} - - -bool Foam::functionObjects::Q::write(const bool postProcess) -{ - const volScalarField& Q = - mesh_.lookupObject(type()); - - Info<< type() << " " << name() << " output:" << nl - << " writing field " << Q.name() << nl - << endl; - - Q.write(); - - return true; + } + else + { + return false; + } } diff --git a/src/postProcessing/functionObjects/utilities/Q/Q.H b/src/postProcessing/functionObjects/field/Q/Q.H similarity index 83% rename from src/postProcessing/functionObjects/utilities/Q/Q.H rename to src/postProcessing/functionObjects/field/Q/Q.H index 1b64e08d0d..40f5cd8103 100644 --- a/src/postProcessing/functionObjects/utilities/Q/Q.H +++ b/src/postProcessing/functionObjects/field/Q/Q.H @@ -36,6 +36,7 @@ Description \f] SeeAlso + Foam::functionObjects::fieldExpression Foam::functionObjects::fvMeshFunctionObject SourceFiles @@ -46,8 +47,7 @@ SourceFiles #ifndef functionObjects_Q_H #define functionObjects_Q_H -#include "fvMeshFunctionObject.H" -#include "volFieldsFwd.H" +#include "fieldExpression.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -62,22 +62,8 @@ namespace functionObjects class Q : - public fvMeshFunctionObject + public fieldExpression { - // Private data - - //- Name of velocity field, default is "U" - word UName_; - - - // Private Member Functions - - //- Disallow default bitwise copy construct - Q(const Q&); - - //- Disallow default bitwise assignment - void operator=(const Q&); - public: @@ -102,14 +88,8 @@ public: // Member Functions - //- Read the Q data - virtual bool read(const dictionary&); - //- Calculate the Q-field virtual bool execute(const bool postProcess = false); - - //- Write the Q-field - virtual bool write(const bool postProcess = false); }; diff --git a/src/postProcessing/functionObjects/field/div/div.H b/src/postProcessing/functionObjects/field/div/div.H index f490a9cac5..1076300b88 100644 --- a/src/postProcessing/functionObjects/field/div/div.H +++ b/src/postProcessing/functionObjects/field/div/div.H @@ -33,6 +33,7 @@ Description volScalarField. SeeAlso + Foam::functionObjects::fieldExpression Foam::functionObjects::fvMeshFunctionObject SourceFiles diff --git a/src/postProcessing/functionObjects/field/fieldExpression/fieldExpression.C b/src/postProcessing/functionObjects/field/fieldExpression/fieldExpression.C index 205d6a0fd6..35ebf04fb4 100644 --- a/src/postProcessing/functionObjects/field/fieldExpression/fieldExpression.C +++ b/src/postProcessing/functionObjects/field/fieldExpression/fieldExpression.C @@ -42,10 +42,14 @@ Foam::functionObjects::fieldExpression::fieldExpression ( const word& name, const Time& runTime, - const dictionary& dict + const dictionary& dict, + const word& fieldName, + const word& resultName ) : - fvMeshFunctionObject(name, runTime, dict) + fvMeshFunctionObject(name, runTime, dict), + fieldName_(fieldName), + resultName_(resultName) { read(dict); } @@ -61,7 +65,10 @@ Foam::functionObjects::fieldExpression::~fieldExpression() bool Foam::functionObjects::fieldExpression::read(const dictionary& dict) { - dict.lookup("field") >> fieldName_; + if (fieldName_ == word::null || dict.found("field")) + { + dict.lookup("field") >> fieldName_; + } if (dict.found("result")) { diff --git a/src/postProcessing/functionObjects/field/fieldExpression/fieldExpression.H b/src/postProcessing/functionObjects/field/fieldExpression/fieldExpression.H index 767dd7ce1b..3b0e645e23 100644 --- a/src/postProcessing/functionObjects/field/fieldExpression/fieldExpression.H +++ b/src/postProcessing/functionObjects/field/fieldExpression/fieldExpression.H @@ -93,7 +93,9 @@ public: ( const word& name, const Time& runTime, - const dictionary& dict + const dictionary& dict, + const word& fieldName = word::null, + const word& resultName = word::null ); diff --git a/src/postProcessing/functionObjects/utilities/vorticity/vorticity.C b/src/postProcessing/functionObjects/field/vorticity/vorticity.C similarity index 98% rename from src/postProcessing/functionObjects/utilities/vorticity/vorticity.C rename to src/postProcessing/functionObjects/field/vorticity/vorticity.C index a9f8f1faa7..fab61b736a 100644 --- a/src/postProcessing/functionObjects/utilities/vorticity/vorticity.C +++ b/src/postProcessing/functionObjects/field/vorticity/vorticity.C @@ -91,7 +91,7 @@ Foam::functionObjects::vorticity::~vorticity() bool Foam::functionObjects::vorticity::read(const dictionary& dict) { - UName_ = dict.lookupOrDefault("UName", "U"); + UName_ = dict.lookupOrDefault("U", "U"); if (UName_ != "U") { outputName_ = typeName + "(" + UName_ + ")"; diff --git a/src/postProcessing/functionObjects/utilities/vorticity/vorticity.H b/src/postProcessing/functionObjects/field/vorticity/vorticity.H similarity index 100% rename from src/postProcessing/functionObjects/utilities/vorticity/vorticity.H rename to src/postProcessing/functionObjects/field/vorticity/vorticity.H diff --git a/src/postProcessing/functionObjects/utilities/Make/files b/src/postProcessing/functionObjects/utilities/Make/files index a911df6bf0..25364ae225 100644 --- a/src/postProcessing/functionObjects/utilities/Make/files +++ b/src/postProcessing/functionObjects/utilities/Make/files @@ -1,16 +1,6 @@ codedFunctionObject/codedFunctionObject.C -CourantNo/CourantNo.C -Lambda2/Lambda2.C -Peclet/Peclet.C -Q/Q.C -blendingFactor/blendingFactor.C -dsmcFields/dsmcFields.C residuals/residuals.C -scalarTransport/scalarTransport.C timeActivatedFileUpdate/timeActivatedFileUpdate.C -turbulenceFields/turbulenceFields.C -vorticity/vorticity.C -yPlus/yPlus.C setTimeStep/setTimeStepFunctionObject.C systemCall/systemCall.C abort/abort.C @@ -18,4 +8,12 @@ removeRegisteredObject/removeRegisteredObject.C writeDictionary/writeDictionary.C writeRegisteredObject/writeRegisteredObject.C +scalarTransport/scalarTransport.C +blendingFactor/blendingFactor.C +dsmcFields/dsmcFields.C + +turbulenceFields/turbulenceFields.C +Peclet/Peclet.C +yPlus/yPlus.C + LIB = $(FOAM_LIBBIN)/libutilityFunctionObjects diff --git a/src/postProcessing/functionObjects/utilities/Peclet/Peclet.C b/src/postProcessing/functionObjects/utilities/Peclet/Peclet.C index a21596e5dc..e84f841287 100644 --- a/src/postProcessing/functionObjects/utilities/Peclet/Peclet.C +++ b/src/postProcessing/functionObjects/utilities/Peclet/Peclet.C @@ -94,8 +94,8 @@ Foam::functionObjects::Peclet::~Peclet() bool Foam::functionObjects::Peclet::read(const dictionary& dict) { - phiName_ = dict.lookupOrDefault("phiName", "phi"); - rhoName_ = dict.lookupOrDefault("rhoName", "rho"); + phiName_ = dict.lookupOrDefault("phi", "phi"); + rhoName_ = dict.lookupOrDefault("rho", "rho"); return true; }