From a44857b4f208393793124f8c46beb12f592c039d Mon Sep 17 00:00:00 2001 From: Henry Weller <http://cfd.direct> Date: Mon, 16 May 2016 16:21:06 +0100 Subject: [PATCH] functionObjects: Simply functionObjects requiring access to the fvMesh using fvMeshFunctionObject --- .../foamToVTK/foamToVTK/writeVTK/writeVTK.C | 32 +++------- .../foamToVTK/foamToVTK/writeVTK/writeVTK.H | 17 +----- .../functionObjects/field/div/div.C | 4 +- .../functionObjects/field/div/div.H | 5 +- .../functionObjects/field/grad/grad.H | 3 + .../functionObjects/field/mag/mag.H | 3 + .../field/nearWallFields/nearWallFields.C | 51 ++++++---------- .../field/nearWallFields/nearWallFields.H | 15 ++--- .../field/processorField/processorField.C | 29 +++------ .../field/processorField/processorField.H | 20 +------ .../field/readFields/readFields.C | 15 +---- .../field/readFields/readFields.H | 13 +--- .../field/readFields/readFieldsTemplates.C | 10 ++-- .../forces/pressureTools/pressureTools.C | 33 +++-------- .../forces/pressureTools/pressureTools.H | 14 ++--- .../utilities/CourantNo/CourantNo.C | 37 +++--------- .../utilities/CourantNo/CourantNo.H | 10 ++-- .../utilities/Lambda2/Lambda2.C | 32 +++------- .../utilities/Lambda2/Lambda2.H | 14 ++--- .../functionObjects/utilities/Peclet/Peclet.C | 59 +++++++------------ .../functionObjects/utilities/Peclet/Peclet.H | 14 ++--- .../functionObjects/utilities/Q/Q.C | 34 +++-------- .../functionObjects/utilities/Q/Q.H | 14 ++--- .../utilities/blendingFactor/blendingFactor.H | 3 +- .../blendingFactor/blendingFactorTemplates.C | 24 ++++---- .../scalarTransport/scalarTransport.C | 18 +----- .../scalarTransport/scalarTransport.H | 14 ++--- .../utilities/vorticity/vorticity.C | 32 +++------- .../utilities/vorticity/vorticity.H | 14 ++--- .../moleFractions/moleFractions.C | 5 +- .../moleFractions/moleFractions.H | 11 ++-- 31 files changed, 174 insertions(+), 425 deletions(-) diff --git a/applications/utilities/postProcessing/dataConversion/foamToVTK/foamToVTK/writeVTK/writeVTK.C b/applications/utilities/postProcessing/dataConversion/foamToVTK/foamToVTK/writeVTK/writeVTK.C index 5cc6f2213e1..9a1b6c70ef9 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToVTK/foamToVTK/writeVTK/writeVTK.C +++ b/applications/utilities/postProcessing/dataConversion/foamToVTK/foamToVTK/writeVTK/writeVTK.C @@ -47,27 +47,13 @@ namespace functionObjects Foam::functionObjects::writeVTK::writeVTK ( const word& name, - const Time& t, + const Time& runTime, const dictionary& dict ) : - functionObject(name), - time_(t), - obr_ - ( - time_.lookupObject<objectRegistry> - ( - dict.lookupOrDefault("region", polyMesh::defaultRegion) - ) - ), + fvMeshFunctionObject(name, runTime, dict), objectNames_() { - if (!isA<fvMesh>(obr_)) - { - FatalErrorInFunction - << "objectRegistry is not an fvMesh" << exit(FatalError); - } - read(dict); } @@ -98,20 +84,16 @@ bool Foam::functionObjects::writeVTK::write(const bool postProcess) { Info<< type() << " " << name() << " output:" << nl; - fvMesh& mesh = const_cast<fvMesh&>(refCast<const fvMesh>(obr_)); - - const Time& runTime = mesh.time(); - - Info<< "Time: " << runTime.timeName() << endl; + Info<< "Time: " << time_.timeName() << endl; - word timeDesc = runTime.timeName(); + word timeDesc = time_.timeName(); // VTK/ directory in the case - fileName fvPath(runTime.path()/"VTK"); + fileName fvPath(time_.path()/"VTK"); mkDir(fvPath); - string vtkName = runTime.caseName(); + string vtkName = time_.caseName(); if (Pstream::parRun()) { @@ -135,7 +117,7 @@ bool Foam::functionObjects::writeVTK::write(const bool postProcess) Info<< " Internal : " << vtkFileName << endl; - vtkMesh vMesh(mesh); + vtkMesh vMesh(const_cast<fvMesh&>(mesh_)); // Write mesh internalWriter writer(vMesh, false, vtkFileName); diff --git a/applications/utilities/postProcessing/dataConversion/foamToVTK/foamToVTK/writeVTK/writeVTK.H b/applications/utilities/postProcessing/dataConversion/foamToVTK/foamToVTK/writeVTK/writeVTK.H index 2df7cb328d8..b8c1968f815 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToVTK/foamToVTK/writeVTK/writeVTK.H +++ b/applications/utilities/postProcessing/dataConversion/foamToVTK/foamToVTK/writeVTK/writeVTK.H @@ -54,7 +54,7 @@ Description \endtable SeeAlso - Foam::functionObject + Foam::functionObjects::fvMeshFunctionObject Foam::functionObjects::timeControl SourceFiles @@ -66,18 +66,13 @@ SourceFiles #ifndef functionObjects_writeVTK_H #define functionObjects_writeVTK_H -#include "functionObject.H" +#include "fvMeshFunctionObject.H" #include "wordReList.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // namespace Foam { - -// Forward declaration of classes -class Time; -class objectRegistry; - namespace functionObjects { @@ -87,16 +82,10 @@ namespace functionObjects class writeVTK : - public functionObject + public fvMeshFunctionObject { // Private data - //- Reference to the Time - const Time& time_; - - //- Refererence to objectRegistry - const objectRegistry& obr_; - //- Names of objects wordReList objectNames_; diff --git a/src/postProcessing/functionObjects/field/div/div.C b/src/postProcessing/functionObjects/field/div/div.C index a91ffffcdff..a3e6bf114d6 100644 --- a/src/postProcessing/functionObjects/field/div/div.C +++ b/src/postProcessing/functionObjects/field/div/div.C @@ -131,10 +131,10 @@ bool Foam::functionObjects::div::execute(const bool postProcess) bool Foam::functionObjects::div::write(const bool postProcess) { - if (obr_.foundObject<regIOobject>(resultName_)) + if (mesh_.foundObject<regIOobject>(resultName_)) { const regIOobject& field = - obr_.lookupObject<regIOobject>(resultName_); + mesh_.lookupObject<regIOobject>(resultName_); Info<< type() << " " << name() << " output:" << nl << " writing field " << field.name() << nl << endl; diff --git a/src/postProcessing/functionObjects/field/div/div.H b/src/postProcessing/functionObjects/field/div/div.H index 17e53c26d65..54e514a42aa 100644 --- a/src/postProcessing/functionObjects/field/div/div.H +++ b/src/postProcessing/functionObjects/field/div/div.H @@ -32,6 +32,9 @@ Description limited to surfaceScalarFields and volVectorFields, and the output is a volScalarField. +SeeAlso + Foam::functionObjects::fvMeshFunctionObject + SourceFiles div.C @@ -62,7 +65,7 @@ class div : public fvMeshFunctionObject { - // Private data + // Private member data //- Name of field to process word fieldName_; diff --git a/src/postProcessing/functionObjects/field/grad/grad.H b/src/postProcessing/functionObjects/field/grad/grad.H index 43e6cef3d50..a58d781935b 100644 --- a/src/postProcessing/functionObjects/field/grad/grad.H +++ b/src/postProcessing/functionObjects/field/grad/grad.H @@ -32,6 +32,9 @@ Description limited to scalar and vector volume or surface fields, and the output is a volume vector or tensor field. +SeeAlso + Foam::functionObjects::fvMeshFunctionObject + SourceFiles grad.C diff --git a/src/postProcessing/functionObjects/field/mag/mag.H b/src/postProcessing/functionObjects/field/mag/mag.H index be1c6fe86fe..e3f09e7ed82 100644 --- a/src/postProcessing/functionObjects/field/mag/mag.H +++ b/src/postProcessing/functionObjects/field/mag/mag.H @@ -32,6 +32,9 @@ Description can be applied to any volume or surface fieldsm and the output is a volume or surface scalar field. +SeeAlso + Foam::functionObjects::fvMeshFunctionObject + SourceFiles mag.C diff --git a/src/postProcessing/functionObjects/field/nearWallFields/nearWallFields.C b/src/postProcessing/functionObjects/field/nearWallFields/nearWallFields.C index 2bf8fb2537e..29f1e3577e8 100644 --- a/src/postProcessing/functionObjects/field/nearWallFields/nearWallFields.C +++ b/src/postProcessing/functionObjects/field/nearWallFields/nearWallFields.C @@ -46,14 +46,12 @@ namespace functionObjects void Foam::functionObjects::nearWallFields::calcAddressing() { - const fvMesh& mesh = refCast<const fvMesh>(obr_); - // Count number of faces label nPatchFaces = 0; forAllConstIter(labelHashSet, patchSet_, iter) { label patchi = iter.key(); - nPatchFaces += mesh.boundary()[patchi].size(); + nPatchFaces += mesh_.boundary()[patchi].size(); } // Global indexing @@ -65,7 +63,7 @@ void Foam::functionObjects::nearWallFields::calcAddressing() } // Construct cloud - Cloud<findCellParticle> cloud(mesh, IDLList<findCellParticle>()); + Cloud<findCellParticle> cloud(mesh_, IDLList<findCellParticle>()); // Add particles to track to sample locations nPatchFaces = 0; @@ -73,7 +71,7 @@ void Foam::functionObjects::nearWallFields::calcAddressing() forAllConstIter(labelHashSet, patchSet_, iter) { label patchi = iter.key(); - const fvPatch& patch = mesh.boundary()[patchi]; + const fvPatch& patch = mesh_.boundary()[patchi]; vectorField nf(patch.nf()); vectorField faceCellCentres(patch.patch().faceCellCentres()); @@ -88,7 +86,7 @@ void Foam::functionObjects::nearWallFields::calcAddressing() ( mappedPatchBase::facePoint ( - mesh, + mesh_, meshFacei, polyMesh::FACE_DIAG_TRIS ) @@ -112,14 +110,14 @@ void Foam::functionObjects::nearWallFields::calcAddressing() label celli = -1; label tetFacei = -1; label tetPtI = -1; - mesh.findCellFacePt(start, celli, tetFacei, tetPtI); + mesh_.findCellFacePt(start, celli, tetFacei, tetPtI); // Add to cloud. Add originating face as passive data cloud.addParticle ( new findCellParticle ( - mesh, + mesh_, start, celli, tetFacei, @@ -140,8 +138,8 @@ void Foam::functionObjects::nearWallFields::calcAddressing() // Dump particles OBJstream str ( - mesh.time().path() - /"wantedTracks_" + mesh.time().timeName() + ".obj" + mesh_.time().path() + /"wantedTracks_" + mesh_.time().timeName() + ".obj" ); InfoInFunction << "Dumping tracks to " << str.name() << endl; @@ -155,14 +153,14 @@ void Foam::functionObjects::nearWallFields::calcAddressing() // Per cell: empty or global wall index and end location - cellToWalls_.setSize(mesh.nCells()); - cellToSamples_.setSize(mesh.nCells()); + cellToWalls_.setSize(mesh_.nCells()); + cellToSamples_.setSize(mesh_.nCells()); // Database to pass into findCellParticle::move findCellParticle::trackingData td(cloud, cellToWalls_, cellToSamples_); // Track all particles to their end position. - scalar maxTrackLen = 2.0*mesh.bounds().mag(); + scalar maxTrackLen = 2.0*mesh_.bounds().mag(); //Debug: collect start points @@ -202,8 +200,8 @@ void Foam::functionObjects::nearWallFields::calcAddressing() { OBJstream str ( - mesh.time().path() - /"obtainedTracks_" + mesh.time().timeName() + ".obj" + mesh_.time().path() + /"obtainedTracks_" + mesh_.time().timeName() + ".obj" ); InfoInFunction << "Dumping obtained to " << str.name() << endl; @@ -230,22 +228,9 @@ Foam::functionObjects::nearWallFields::nearWallFields const dictionary& dict ) : - functionObject(name), - obr_ - ( - runTime.lookupObject<objectRegistry> - ( - dict.lookupOrDefault("region", polyMesh::defaultRegion) - ) - ), + fvMeshFunctionObject(name, runTime, dict), fieldSet_() { - if (!isA<fvMesh>(obr_)) - { - FatalErrorInFunction - << "objectRegistry is not an fvMesh" << exit(FatalError); - } - read(dict); } @@ -270,11 +255,9 @@ bool Foam::functionObjects::nearWallFields::read(const dictionary& dict) InfoInFunction << endl; } - const fvMesh& mesh = refCast<const fvMesh>(obr_); - dict.lookup("fields") >> fieldSet_; patchSet_ = - mesh.boundaryMesh().patchSet(wordReList(dict.lookup("patches"))); + mesh_.boundaryMesh().patchSet(wordReList(dict.lookup("patches"))); distance_ = readScalar(dict.lookup("distance")); @@ -343,7 +326,7 @@ bool Foam::functionObjects::nearWallFields::execute(const bool postProcess) Info<< type() << " " << name() << " output:" << nl; - Info<< " Sampling fields to " << obr_.time().timeName() + Info<< " Sampling fields to " << time_.timeName() << endl; sampleFields(vsf_); @@ -363,7 +346,7 @@ bool Foam::functionObjects::nearWallFields::write(const bool postProcess) InfoInFunction << endl; } - Info<< " Writing sampled fields to " << obr_.time().timeName() + Info<< " Writing sampled fields to " << time_.timeName() << endl; forAll(vsf_, i) diff --git a/src/postProcessing/functionObjects/field/nearWallFields/nearWallFields.H b/src/postProcessing/functionObjects/field/nearWallFields/nearWallFields.H index 4ea6f13fd56..f0bdda2cc83 100644 --- a/src/postProcessing/functionObjects/field/nearWallFields/nearWallFields.H +++ b/src/postProcessing/functionObjects/field/nearWallFields/nearWallFields.H @@ -61,7 +61,7 @@ Description \endtable SeeAlso - Foam::functionObject + Foam::functionObjects::fvMeshFunctionObject SourceFiles nearWallFields.C @@ -71,7 +71,7 @@ SourceFiles #ifndef functionObjects_nearWallFields_H #define functionObjects_nearWallFields_H -#include "functionObject.H" +#include "fvMeshFunctionObject.H" #include "volFields.H" #include "Tuple2.H" #include "interpolationCellPoint.H" @@ -80,10 +80,6 @@ SourceFiles namespace Foam { - -// Forward declaration of classes -class objectRegistry; - namespace functionObjects { @@ -93,14 +89,11 @@ namespace functionObjects class nearWallFields : - public functionObject + public fvMeshFunctionObject { protected: - // Protected data - - //- Reference to the objectRegistry - const objectRegistry& obr_; + // Protected member data // Read from dictionary diff --git a/src/postProcessing/functionObjects/field/processorField/processorField.C b/src/postProcessing/functionObjects/field/processorField/processorField.C index 3a0f57ed27c..1ffc9c10d58 100644 --- a/src/postProcessing/functionObjects/field/processorField/processorField.C +++ b/src/postProcessing/functionObjects/field/processorField/processorField.C @@ -48,25 +48,10 @@ Foam::functionObjects::processorField::processorField const dictionary& dict ) : - functionObject(name), - obr_ - ( - runTime.lookupObject<objectRegistry> - ( - dict.lookupOrDefault("region", polyMesh::defaultRegion) - ) - ) + fvMeshFunctionObject(name, runTime, dict) { - if (!isA<fvMesh>(obr_)) - { - FatalErrorInFunction - << "objectRegistry is not an fvMesh" << exit(FatalError); - } - read(dict); - const fvMesh& mesh = refCast<const fvMesh>(obr_); - volScalarField* procFieldPtr ( new volScalarField @@ -74,17 +59,17 @@ Foam::functionObjects::processorField::processorField IOobject ( "processorID", - mesh.time().timeName(), - mesh, + mesh_.time().timeName(), + mesh_, IOobject::NO_READ, IOobject::NO_WRITE ), - mesh, + mesh_, dimensionedScalar("0", dimless, 0.0) ) ); - mesh.objectRegistry::store(procFieldPtr); + mesh_.objectRegistry::store(procFieldPtr); } @@ -105,7 +90,7 @@ bool Foam::functionObjects::processorField::read(const dictionary& dict) bool Foam::functionObjects::processorField::execute(const bool postProcess) { const volScalarField& procField = - obr_.lookupObject<volScalarField>("processorID"); + mesh_.lookupObject<volScalarField>("processorID"); const_cast<volScalarField&>(procField) == dimensionedScalar("proci", dimless, Pstream::myProcNo()); @@ -117,7 +102,7 @@ bool Foam::functionObjects::processorField::execute(const bool postProcess) bool Foam::functionObjects::processorField::write(const bool postProcess) { const volScalarField& procField = - obr_.lookupObject<volScalarField>("processorID"); + mesh_.lookupObject<volScalarField>("processorID"); procField.write(); diff --git a/src/postProcessing/functionObjects/field/processorField/processorField.H b/src/postProcessing/functionObjects/field/processorField/processorField.H index 5e9138f45a7..c3334bedd9e 100644 --- a/src/postProcessing/functionObjects/field/processorField/processorField.H +++ b/src/postProcessing/functionObjects/field/processorField/processorField.H @@ -48,7 +48,7 @@ Description \endtable SeeAlso - Foam::functionObject + Foam::functionObjects::fvMeshFunctionObject SourceFiles processorField.C @@ -58,16 +58,12 @@ SourceFiles #ifndef functionObjects_processorField_H #define functionObjects_processorField_H -#include "functionObject.H" +#include "fvMeshFunctionObject.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // namespace Foam { - -// Forward declaration of classes -class objectRegistry; - namespace functionObjects { @@ -77,18 +73,8 @@ namespace functionObjects class processorField : - public functionObject + public fvMeshFunctionObject { -protected: - - // Protected data - - //- Reference to the objectRegistry - const objectRegistry& obr_; - - -private: - // Private member functions //- Disallow default bitwise copy construct diff --git a/src/postProcessing/functionObjects/field/readFields/readFields.C b/src/postProcessing/functionObjects/field/readFields/readFields.C index 6014a7d31cc..d51f5c65279 100644 --- a/src/postProcessing/functionObjects/field/readFields/readFields.C +++ b/src/postProcessing/functionObjects/field/readFields/readFields.C @@ -49,22 +49,9 @@ Foam::functionObjects::readFields::readFields const dictionary& dict ) : - functionObject(name), - obr_ - ( - runTime.lookupObject<objectRegistry> - ( - dict.lookupOrDefault("region", polyMesh::defaultRegion) - ) - ), + fvMeshFunctionObject(name, runTime, dict), fieldSet_() { - if (!isA<fvMesh>(obr_)) - { - FatalErrorInFunction - << "objectRegistry is not an fvMesh" << exit(FatalError); - } - read(dict); } diff --git a/src/postProcessing/functionObjects/field/readFields/readFields.H b/src/postProcessing/functionObjects/field/readFields/readFields.H index d82ecdf44bf..0f314eb0b3c 100644 --- a/src/postProcessing/functionObjects/field/readFields/readFields.H +++ b/src/postProcessing/functionObjects/field/readFields/readFields.H @@ -54,7 +54,7 @@ Description \endtable SeeAlso - Foam::functionObject + Foam::functionObjects::fvMeshFunctionObject SourceFiles readFields.C @@ -64,7 +64,7 @@ SourceFiles #ifndef functionObjects_readFields_H #define functionObjects_readFields_H -#include "functionObject.H" +#include "fvMeshFunctionObject.H" #include "volFieldsFwd.H" #include "surfaceFieldsFwd.H" @@ -72,10 +72,6 @@ SourceFiles namespace Foam { - -// Forward declaration of classes -class objectRegistry; - namespace functionObjects { @@ -85,15 +81,12 @@ namespace functionObjects class readFields : - public functionObject + public fvMeshFunctionObject { protected: // Protected data - //- Reference to the objectRegistry - const objectRegistry& obr_; - //- Fields to load wordList fieldSet_; diff --git a/src/postProcessing/functionObjects/field/readFields/readFieldsTemplates.C b/src/postProcessing/functionObjects/field/readFields/readFieldsTemplates.C index 37631001c9b..9e9feb90eb7 100644 --- a/src/postProcessing/functionObjects/field/readFields/readFieldsTemplates.C +++ b/src/postProcessing/functionObjects/field/readFields/readFieldsTemplates.C @@ -59,13 +59,11 @@ void Foam::functionObjects::readFields::loadField } else { - const fvMesh& mesh = refCast<const fvMesh>(obr_); - IOobject fieldHeader ( fieldName, - mesh.time().timeName(), - mesh, + mesh_.time().timeName(), + mesh_, IOobject::MUST_READ, IOobject::NO_WRITE ); @@ -80,7 +78,7 @@ void Foam::functionObjects::readFields::loadField Info<< " Reading " << fieldName << endl; label sz = vflds.size(); vflds.setSize(sz+1); - vflds.set(sz, new vfType(fieldHeader, mesh)); + vflds.set(sz, new vfType(fieldHeader, mesh_)); } else if ( @@ -92,7 +90,7 @@ void Foam::functionObjects::readFields::loadField Info<< " Reading " << fieldName << endl; label sz = sflds.size(); sflds.setSize(sz+1); - sflds.set(sz, new sfType(fieldHeader, mesh)); + sflds.set(sz, new sfType(fieldHeader, mesh_)); } } } diff --git a/src/postProcessing/functionObjects/forces/pressureTools/pressureTools.C b/src/postProcessing/functionObjects/forces/pressureTools/pressureTools.C index 97ab1ddd63f..631c5541e94 100644 --- a/src/postProcessing/functionObjects/forces/pressureTools/pressureTools.C +++ b/src/postProcessing/functionObjects/forces/pressureTools/pressureTools.C @@ -129,8 +129,6 @@ Foam::tmp<Foam::volScalarField> Foam::functionObjects::pressureTools::pDyn const volScalarField& p ) const { - const fvMesh& mesh = refCast<const fvMesh>(obr_); - tmp<volScalarField> tpDyn ( new volScalarField @@ -138,12 +136,12 @@ Foam::tmp<Foam::volScalarField> Foam::functionObjects::pressureTools::pDyn IOobject ( "pDyn", - mesh.time().timeName(), - mesh, + mesh_.time().timeName(), + mesh_, IOobject::NO_READ, IOobject::NO_WRITE ), - mesh, + mesh_, dimensionedScalar("zero", dimPressure, 0.0) ) ); @@ -191,14 +189,7 @@ Foam::functionObjects::pressureTools::pressureTools const dictionary& dict ) : - functionObject(name), - obr_ - ( - runTime.lookupObject<objectRegistry> - ( - dict.lookupOrDefault("region", polyMesh::defaultRegion) - ) - ), + fvMeshFunctionObject(name, runTime, dict), pName_("p"), UName_("U"), rhoName_("rho"), @@ -209,12 +200,6 @@ Foam::functionObjects::pressureTools::pressureTools UInf_(Zero), rhoInf_(0.0) { - if (!isA<fvMesh>(obr_)) - { - FatalErrorInFunction - << "objectRegistry is not an fvMesh" << exit(FatalError); - } - read(dict); dimensionSet pDims(dimPressure); @@ -224,8 +209,6 @@ Foam::functionObjects::pressureTools::pressureTools pDims /= dimPressure; } - const fvMesh& mesh = refCast<const fvMesh>(obr_); - volScalarField* pPtr ( new volScalarField @@ -233,17 +216,17 @@ Foam::functionObjects::pressureTools::pressureTools IOobject ( pName(), - mesh.time().timeName(), - mesh, + mesh_.time().timeName(), + mesh_, IOobject::NO_READ, IOobject::NO_WRITE ), - mesh, + mesh_, dimensionedScalar("0", pDims, 0.0) ) ); - mesh.objectRegistry::store(pPtr); + mesh_.objectRegistry::store(pPtr); } diff --git a/src/postProcessing/functionObjects/forces/pressureTools/pressureTools.H b/src/postProcessing/functionObjects/forces/pressureTools/pressureTools.H index ff3fd37adb9..f957966c87a 100644 --- a/src/postProcessing/functionObjects/forces/pressureTools/pressureTools.H +++ b/src/postProcessing/functionObjects/forces/pressureTools/pressureTools.H @@ -100,6 +100,9 @@ Description rhoInf | Freestream density for coefficient calculation | no | \endtable +SeeAlso + Foam::functionObjects::fvMeshFunctionObject + SourceFiles pressureTools.C @@ -108,7 +111,7 @@ SourceFiles #ifndef functionObjects_pressureTools_H #define functionObjects_pressureTools_H -#include "functionObject.H" +#include "fvMeshFunctionObject.H" #include "volFieldsFwd.H" #include "dimensionedScalar.H" @@ -116,10 +119,6 @@ SourceFiles namespace Foam { - -// Forward declaration of classes -class objectRegistry; - namespace functionObjects { @@ -129,13 +128,10 @@ namespace functionObjects class pressureTools : - public functionObject + public fvMeshFunctionObject { // Private data - //- Reference to the objectRegistry - const objectRegistry& obr_; - //- Name of pressure field, default is "p" word pName_; diff --git a/src/postProcessing/functionObjects/utilities/CourantNo/CourantNo.C b/src/postProcessing/functionObjects/utilities/CourantNo/CourantNo.C index 298963e58d6..ff99c21b4b0 100644 --- a/src/postProcessing/functionObjects/utilities/CourantNo/CourantNo.C +++ b/src/postProcessing/functionObjects/utilities/CourantNo/CourantNo.C @@ -75,27 +75,10 @@ Foam::functionObjects::CourantNo::CourantNo const dictionary& dict ) : - functionObject(name), - obr_ - ( - runTime.lookupObject<objectRegistry> - ( - dict.lookupOrDefault("region", polyMesh::defaultRegion) - ) - ), - phiName_("phi"), - rhoName_("rho") + fvMeshFunctionObject(name, runTime, dict) { - if (!isA<fvMesh>(obr_)) - { - FatalErrorInFunction - << "objectRegistry is not an fvMesh" << exit(FatalError); - } - read(dict); - const fvMesh& mesh = refCast<const fvMesh>(obr_); - volScalarField* CourantNoPtr ( new volScalarField @@ -103,18 +86,18 @@ Foam::functionObjects::CourantNo::CourantNo IOobject ( type(), - mesh.time().timeName(), - mesh, + mesh_.time().timeName(), + mesh_, IOobject::NO_READ, IOobject::NO_WRITE ), - mesh, + mesh_, dimensionedScalar("0", dimless, 0.0), zeroGradientFvPatchScalarField::typeName ) ); - mesh.objectRegistry::store(CourantNoPtr); + mesh_.objectRegistry::store(CourantNoPtr); } @@ -137,21 +120,19 @@ bool Foam::functionObjects::CourantNo::read(const dictionary& dict) bool Foam::functionObjects::CourantNo::execute(const bool postProcess) { - const fvMesh& mesh = refCast<const fvMesh>(obr_); - const surfaceScalarField& phi = - mesh.lookupObject<surfaceScalarField>(phiName_); + mesh_.lookupObject<surfaceScalarField>(phiName_); volScalarField& Co = const_cast<volScalarField&> ( - mesh.lookupObject<volScalarField>(type()) + mesh_.lookupObject<volScalarField>(type()) ); Co.ref() = byRho ( - (0.5*mesh.time().deltaT()) + (0.5*mesh_.time().deltaT()) *fvc::surfaceSum(mag(phi))()() - /mesh.V() + /mesh_.V() ); Co.correctBoundaryConditions(); diff --git a/src/postProcessing/functionObjects/utilities/CourantNo/CourantNo.H b/src/postProcessing/functionObjects/utilities/CourantNo/CourantNo.H index 6db5e796e5b..feaa6b0aea6 100644 --- a/src/postProcessing/functionObjects/utilities/CourantNo/CourantNo.H +++ b/src/postProcessing/functionObjects/utilities/CourantNo/CourantNo.H @@ -32,6 +32,9 @@ Description volScalarField. The field is stored on the mesh database so that it can be retrieved and used for other applications. +SeeAlso + Foam::functionObjects::fvMeshFunctionObject + SourceFiles CourantNo.C @@ -40,7 +43,7 @@ SourceFiles #ifndef functionObjects_CourantNo_H #define functionObjects_CourantNo_H -#include "functionObject.H" +#include "fvMeshFunctionObject.H" #include "volFields.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -56,13 +59,10 @@ namespace functionObjects class CourantNo : - public functionObject + public fvMeshFunctionObject { // Private data - //- Reference to the database - const objectRegistry& obr_; - //- Name of flux field, default is "phi" word phiName_; diff --git a/src/postProcessing/functionObjects/utilities/Lambda2/Lambda2.C b/src/postProcessing/functionObjects/utilities/Lambda2/Lambda2.C index defbe1841aa..9f47b1fac11 100644 --- a/src/postProcessing/functionObjects/utilities/Lambda2/Lambda2.C +++ b/src/postProcessing/functionObjects/utilities/Lambda2/Lambda2.C @@ -56,26 +56,10 @@ Foam::functionObjects::Lambda2::Lambda2 const dictionary& dict ) : - functionObject(name), - obr_ - ( - runTime.lookupObject<objectRegistry> - ( - dict.lookupOrDefault("region", polyMesh::defaultRegion) - ) - ), - UName_("U") + fvMeshFunctionObject(name, runTime, dict) { - if (!isA<fvMesh>(obr_)) - { - FatalErrorInFunction - << "objectRegistry is not an fvMesh" << exit(FatalError); - } - read(dict); - const fvMesh& mesh = refCast<const fvMesh>(obr_); - volScalarField* Lambda2Ptr ( new volScalarField @@ -83,17 +67,17 @@ Foam::functionObjects::Lambda2::Lambda2 IOobject ( type(), - mesh.time().timeName(), - mesh, + mesh_.time().timeName(), + mesh_, IOobject::NO_READ, IOobject::NO_WRITE ), - mesh, + mesh_, dimensionedScalar("0", dimless/sqr(dimTime), 0.0) ) ); - mesh.objectRegistry::store(Lambda2Ptr); + mesh_.objectRegistry::store(Lambda2Ptr); } @@ -115,10 +99,8 @@ bool Foam::functionObjects::Lambda2::read(const dictionary& dict) bool Foam::functionObjects::Lambda2::execute(const bool postProcess) { - const fvMesh& mesh = refCast<const fvMesh>(obr_); - const volVectorField& U = - mesh.lookupObject<volVectorField>(UName_); + mesh_.lookupObject<volVectorField>(UName_); const volTensorField gradU(fvc::grad(U)); @@ -131,7 +113,7 @@ bool Foam::functionObjects::Lambda2::execute(const bool postProcess) volScalarField& Lambda2 = const_cast<volScalarField&> ( - mesh.lookupObject<volScalarField>(type()) + mesh_.lookupObject<volScalarField>(type()) ); Lambda2 = -eigenValues(SSplusWW)().component(vector::Y); diff --git a/src/postProcessing/functionObjects/utilities/Lambda2/Lambda2.H b/src/postProcessing/functionObjects/utilities/Lambda2/Lambda2.H index 76d3b6d73f2..0957556aa35 100644 --- a/src/postProcessing/functionObjects/utilities/Lambda2/Lambda2.H +++ b/src/postProcessing/functionObjects/utilities/Lambda2/Lambda2.H @@ -32,6 +32,9 @@ Description of the sum of the square of the symmetrical and anti-symmetrical parts of the velocity gradient tensor. +SeeAlso + Foam::functionObjects::fvMeshFunctionObject + SourceFiles Lambda2.C @@ -40,17 +43,13 @@ SourceFiles #ifndef functionObjects_Lambda2_H #define functionObjects_Lambda2_H -#include "functionObject.H" +#include "fvMeshFunctionObject.H" #include "volFieldsFwd.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // namespace Foam { - -// Forward declaration of classes -class objectRegistry; - namespace functionObjects { @@ -60,13 +59,10 @@ namespace functionObjects class Lambda2 : - public functionObject + public fvMeshFunctionObject { // Private data - //- Reference to the database - const objectRegistry& obr_; - //- Name of velocity field, default is "U" word UName_; diff --git a/src/postProcessing/functionObjects/utilities/Peclet/Peclet.C b/src/postProcessing/functionObjects/utilities/Peclet/Peclet.C index b4560d54ee3..a21596e5dc1 100644 --- a/src/postProcessing/functionObjects/utilities/Peclet/Peclet.C +++ b/src/postProcessing/functionObjects/utilities/Peclet/Peclet.C @@ -59,27 +59,10 @@ Foam::functionObjects::Peclet::Peclet const dictionary& dict ) : - functionObject(name), - obr_ - ( - runTime.lookupObject<objectRegistry> - ( - dict.lookupOrDefault("region", polyMesh::defaultRegion) - ) - ), - phiName_("phi"), - rhoName_("rho") + fvMeshFunctionObject(name, runTime, dict) { - if (!isA<fvMesh>(obr_)) - { - FatalErrorInFunction - << "objectRegistry is not an fvMesh" << exit(FatalError); - } - read(dict); - const fvMesh& mesh = refCast<const fvMesh>(obr_); - surfaceScalarField* PecletPtr ( new surfaceScalarField @@ -87,17 +70,17 @@ Foam::functionObjects::Peclet::Peclet IOobject ( type(), - mesh.time().timeName(), - mesh, + mesh_.time().timeName(), + mesh_, IOobject::NO_READ, IOobject::NO_WRITE ), - mesh, + mesh_, dimensionedScalar("0", dimless, 0.0) ) ); - mesh.objectRegistry::store(PecletPtr); + mesh_.objectRegistry::store(PecletPtr); } @@ -123,39 +106,37 @@ bool Foam::functionObjects::Peclet::execute(const bool postProcess) typedef compressible::turbulenceModel cmpTurbModel; typedef incompressible::turbulenceModel icoTurbModel; - const fvMesh& mesh = refCast<const fvMesh>(obr_); - tmp<volScalarField> nuEff; - if (mesh.foundObject<cmpTurbModel>(turbulenceModel::propertiesName)) + if (mesh_.foundObject<cmpTurbModel>(turbulenceModel::propertiesName)) { const cmpTurbModel& model = - mesh.lookupObject<cmpTurbModel> + mesh_.lookupObject<cmpTurbModel> ( turbulenceModel::propertiesName ); const volScalarField& rho = - mesh.lookupObject<volScalarField>(rhoName_); + mesh_.lookupObject<volScalarField>(rhoName_); nuEff = model.muEff()/rho; } else if ( - mesh.foundObject<icoTurbModel>(turbulenceModel::propertiesName) + mesh_.foundObject<icoTurbModel>(turbulenceModel::propertiesName) ) { const icoTurbModel& model = - mesh.lookupObject<icoTurbModel> + mesh_.lookupObject<icoTurbModel> ( turbulenceModel::propertiesName ); nuEff = model.nuEff(); } - else if (mesh.foundObject<dictionary>("transportProperties")) + else if (mesh_.foundObject<dictionary>("transportProperties")) { const dictionary& model = - mesh.lookupObject<dictionary>("transportProperties"); + mesh_.lookupObject<dictionary>("transportProperties"); nuEff = tmp<volScalarField> @@ -165,12 +146,12 @@ bool Foam::functionObjects::Peclet::execute(const bool postProcess) IOobject ( "nuEff", - mesh.time().timeName(), - mesh, + mesh_.time().timeName(), + mesh_, IOobject::NO_READ, IOobject::NO_WRITE ), - mesh, + mesh_, dimensionedScalar(model.lookup("nu")) ) ); @@ -183,19 +164,19 @@ bool Foam::functionObjects::Peclet::execute(const bool postProcess) } const surfaceScalarField& phi = - mesh.lookupObject<surfaceScalarField>(phiName_); + mesh_.lookupObject<surfaceScalarField>(phiName_); surfaceScalarField& Peclet = const_cast<surfaceScalarField&> ( - mesh.lookupObject<surfaceScalarField>(type()) + mesh_.lookupObject<surfaceScalarField>(type()) ); Peclet = mag(phi) /( - mesh.magSf() - *mesh.surfaceInterpolation::deltaCoeffs() + mesh_.magSf() + *mesh_.surfaceInterpolation::deltaCoeffs() *fvc::interpolate(nuEff) ); @@ -206,7 +187,7 @@ bool Foam::functionObjects::Peclet::execute(const bool postProcess) bool Foam::functionObjects::Peclet::write(const bool postProcess) { const surfaceScalarField& Peclet = - obr_.lookupObject<surfaceScalarField>(type()); + mesh_.lookupObject<surfaceScalarField>(type()); Info<< type() << " " << name() << " output:" << nl << " writing field " << Peclet.name() << nl diff --git a/src/postProcessing/functionObjects/utilities/Peclet/Peclet.H b/src/postProcessing/functionObjects/utilities/Peclet/Peclet.H index ed829c196f2..d2e872b8689 100644 --- a/src/postProcessing/functionObjects/utilities/Peclet/Peclet.H +++ b/src/postProcessing/functionObjects/utilities/Peclet/Peclet.H @@ -31,6 +31,9 @@ Description This function object calculates and outputs the Peclet number as a surfaceScalarField. +SeeAlso + Foam::functionObjects::fvMeshFunctionObject + SourceFiles Peclet.C @@ -39,17 +42,13 @@ SourceFiles #ifndef functionObjects_Peclet_H #define functionObjects_Peclet_H -#include "functionObject.H" +#include "fvMeshFunctionObject.H" #include "volFieldsFwd.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // namespace Foam { - -// Forward declaration of classes -class objectRegistry; - namespace functionObjects { @@ -59,13 +58,10 @@ namespace functionObjects class Peclet : - public functionObject + public fvMeshFunctionObject { // Private data - //- Reference to the database - const objectRegistry& obr_; - //- Name of flux field, default is "phi" word phiName_; diff --git a/src/postProcessing/functionObjects/utilities/Q/Q.C b/src/postProcessing/functionObjects/utilities/Q/Q.C index 407ce0ba6a0..a07925d2b2a 100644 --- a/src/postProcessing/functionObjects/utilities/Q/Q.C +++ b/src/postProcessing/functionObjects/utilities/Q/Q.C @@ -55,26 +55,10 @@ Foam::functionObjects::Q::Q const dictionary& dict ) : - functionObject(name), - obr_ - ( - runTime.lookupObject<objectRegistry> - ( - dict.lookupOrDefault("region", polyMesh::defaultRegion) - ) - ), - UName_("U") + fvMeshFunctionObject(name, runTime, dict) { - if (!isA<fvMesh>(obr_)) - { - FatalErrorInFunction - << "objectRegistry is not an fvMesh" << exit(FatalError); - } - read(dict); - const fvMesh& mesh = refCast<const fvMesh>(obr_); - volScalarField* QPtr ( new volScalarField @@ -82,17 +66,17 @@ Foam::functionObjects::Q::Q IOobject ( type(), - mesh.time().timeName(), - mesh, + mesh_.time().timeName(), + mesh_, IOobject::NO_READ, IOobject::NO_WRITE ), - mesh, + mesh_, dimensionedScalar("0", dimless/sqr(dimTime), 0.0) ) ); - mesh.objectRegistry::store(QPtr); + mesh_.objectRegistry::store(QPtr); } @@ -114,17 +98,15 @@ bool Foam::functionObjects::Q::read(const dictionary& dict) bool Foam::functionObjects::Q::execute(const bool postProcess) { - const fvMesh& mesh = refCast<const fvMesh>(obr_); - const volVectorField& U = - mesh.lookupObject<volVectorField>(UName_); + mesh_.lookupObject<volVectorField>(UName_); const volTensorField gradU(fvc::grad(U)); volScalarField& Q = const_cast<volScalarField&> ( - mesh.lookupObject<volScalarField>(type()) + mesh_.lookupObject<volScalarField>(type()) ); Q = 0.5*(sqr(tr(gradU)) - tr(((gradU) & (gradU)))); @@ -136,7 +118,7 @@ bool Foam::functionObjects::Q::execute(const bool postProcess) bool Foam::functionObjects::Q::write(const bool postProcess) { const volScalarField& Q = - obr_.lookupObject<volScalarField>(type()); + mesh_.lookupObject<volScalarField>(type()); Info<< type() << " " << name() << " output:" << nl << " writing field " << Q.name() << nl diff --git a/src/postProcessing/functionObjects/utilities/Q/Q.H b/src/postProcessing/functionObjects/utilities/Q/Q.H index 52ec9aaadef..1b64e08d0d4 100644 --- a/src/postProcessing/functionObjects/utilities/Q/Q.H +++ b/src/postProcessing/functionObjects/utilities/Q/Q.H @@ -35,6 +35,9 @@ Description Q = 0.5(sqr(tr(\nabla U)) - tr(((\nabla U) \cdot (\nabla U)))) \f] +SeeAlso + Foam::functionObjects::fvMeshFunctionObject + SourceFiles Q.C @@ -43,17 +46,13 @@ SourceFiles #ifndef functionObjects_Q_H #define functionObjects_Q_H -#include "functionObject.H" +#include "fvMeshFunctionObject.H" #include "volFieldsFwd.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // namespace Foam { - -// Forward declaration of classes -class objectRegistry; - namespace functionObjects { @@ -63,13 +62,10 @@ namespace functionObjects class Q : - public functionObject + public fvMeshFunctionObject { // Private data - //- Reference to the database - const objectRegistry& obr_; - //- Name of velocity field, default is "U" word UName_; diff --git a/src/postProcessing/functionObjects/utilities/blendingFactor/blendingFactor.H b/src/postProcessing/functionObjects/utilities/blendingFactor/blendingFactor.H index 33e1fd1c85b..f0d7dc61b86 100644 --- a/src/postProcessing/functionObjects/utilities/blendingFactor/blendingFactor.H +++ b/src/postProcessing/functionObjects/utilities/blendingFactor/blendingFactor.H @@ -33,8 +33,7 @@ Description value is calculated via the maximum blending factor for any cell face. SeeAlso - Foam::fvMeshFunctionObject - Foam::functionObject + Foam::functionObjects::fvMeshFunctionObject SourceFiles blendingFactor.C diff --git a/src/postProcessing/functionObjects/utilities/blendingFactor/blendingFactorTemplates.C b/src/postProcessing/functionObjects/utilities/blendingFactor/blendingFactorTemplates.C index d2df84d3cbe..d9262f7ffaa 100644 --- a/src/postProcessing/functionObjects/utilities/blendingFactor/blendingFactorTemplates.C +++ b/src/postProcessing/functionObjects/utilities/blendingFactor/blendingFactorTemplates.C @@ -38,22 +38,20 @@ Foam::volScalarField& Foam::functionObjects::blendingFactor::factor { const word fieldName = "blendingFactor:" + field.name(); - if (!obr_.foundObject<volScalarField>(fieldName)) + if (!mesh_.foundObject<volScalarField>(fieldName)) { - const fvMesh& mesh = refCast<const fvMesh>(obr_); - volScalarField* factorPtr = new volScalarField ( IOobject ( fieldName, - mesh.time().timeName(), - mesh, + mesh_.time().timeName(), + mesh_, IOobject::NO_READ, IOobject::NO_WRITE ), - mesh, + mesh_, dimensionedScalar("0", dimless, 0.0), zeroGradientFvPatchScalarField::typeName ); @@ -64,7 +62,7 @@ Foam::volScalarField& Foam::functionObjects::blendingFactor::factor return const_cast<volScalarField&> ( - obr_.lookupObject<volScalarField>(fieldName) + mesh_.lookupObject<volScalarField>(fieldName) ); } @@ -74,23 +72,21 @@ void Foam::functionObjects::blendingFactor::calc() { typedef GeometricField<Type, fvPatchField, volMesh> fieldType; - if (!obr_.foundObject<fieldType>(fieldName_)) + if (!mesh_.foundObject<fieldType>(fieldName_)) { return; } - const fvMesh& mesh = refCast<const fvMesh>(obr_); - - const fieldType& field = mesh.lookupObject<fieldType>(fieldName_); + const fieldType& field = mesh_.lookupObject<fieldType>(fieldName_); const word divScheme("div(" + phiName_ + ',' + fieldName_ + ')'); - ITstream& its = mesh.divScheme(divScheme); + ITstream& its = mesh_.divScheme(divScheme); const surfaceScalarField& phi = - mesh.lookupObject<surfaceScalarField>(phiName_); + mesh_.lookupObject<surfaceScalarField>(phiName_); tmp<fv::convectionScheme<Type>> cs = - fv::convectionScheme<Type>::New(mesh, phi, its); + fv::convectionScheme<Type>::New(mesh_, phi, its); const fv::gaussConvectionScheme<Type>& gcs = refCast<const fv::gaussConvectionScheme<Type>>(cs()); diff --git a/src/postProcessing/functionObjects/utilities/scalarTransport/scalarTransport.C b/src/postProcessing/functionObjects/utilities/scalarTransport/scalarTransport.C index c494a5b2ba2..2a0fe99e705 100644 --- a/src/postProcessing/functionObjects/utilities/scalarTransport/scalarTransport.C +++ b/src/postProcessing/functionObjects/utilities/scalarTransport/scalarTransport.C @@ -157,25 +157,9 @@ Foam::functionObjects::scalarTransport::scalarTransport const dictionary& dict ) : - functionObject(name), - mesh_ - ( - refCast<const fvMesh> - ( - runTime.lookupObject<objectRegistry> - ( - dict.lookupOrDefault("region", polyMesh::defaultRegion) - ) - ) - ), - phiName_(dict.lookupOrDefault<word>("phiName", "phi")), - UName_(dict.lookupOrDefault<word>("UName", "U")), - rhoName_(dict.lookupOrDefault<word>("rhoName", "rho")), + fvMeshFunctionObject(name, runTime, dict), DT_(0.0), - userDT_(false), - resetOnStartUp_(false), nCorr_(0), - autoSchemes_(false), fvOptions_(mesh_), T_ ( diff --git a/src/postProcessing/functionObjects/utilities/scalarTransport/scalarTransport.H b/src/postProcessing/functionObjects/utilities/scalarTransport/scalarTransport.H index 2508ce72116..9f3ea589b95 100644 --- a/src/postProcessing/functionObjects/utilities/scalarTransport/scalarTransport.H +++ b/src/postProcessing/functionObjects/utilities/scalarTransport/scalarTransport.H @@ -39,6 +39,9 @@ Description - the diffusivity can be set manually using the DT entry, or retrieved from the turbulence model (if applicable) +SeeAlso + Foam::functionObjects::fvMeshFunctionObject + SourceFiles scalarTransport.C @@ -47,7 +50,7 @@ SourceFiles #ifndef functionObjects_scalarTransport_H #define functionObjects_scalarTransport_H -#include "functionObject.H" +#include "fvMeshFunctionObject.H" #include "volFields.H" #include "surfaceFieldsFwd.H" #include "fvOptionList.H" @@ -56,10 +59,6 @@ SourceFiles namespace Foam { - -// Forward declaration of classes -class objectRegistry; - namespace functionObjects { @@ -69,13 +68,10 @@ namespace functionObjects class scalarTransport : - public functionObject + public fvMeshFunctionObject { // Private data - //- Reference to the mesh database - const fvMesh& mesh_; - //- Name of flux field (optional) word phiName_; diff --git a/src/postProcessing/functionObjects/utilities/vorticity/vorticity.C b/src/postProcessing/functionObjects/utilities/vorticity/vorticity.C index ac9828f8e15..a9f8f1faa79 100644 --- a/src/postProcessing/functionObjects/utilities/vorticity/vorticity.C +++ b/src/postProcessing/functionObjects/utilities/vorticity/vorticity.C @@ -55,27 +55,11 @@ Foam::functionObjects::vorticity::vorticity const dictionary& dict ) : - functionObject(name), - obr_ - ( - runTime.lookupObject<objectRegistry> - ( - dict.lookupOrDefault("region", polyMesh::defaultRegion) - ) - ), - UName_("U"), + fvMeshFunctionObject(name, runTime, dict), outputName_(typeName) { - if (!isA<fvMesh>(obr_)) - { - FatalErrorInFunction - << "objectRegistry is not an fvMesh" << exit(FatalError); - } - read(dict); - const fvMesh& mesh = refCast<const fvMesh>(obr_); - volVectorField* vorticityPtr ( new volVectorField @@ -83,17 +67,17 @@ Foam::functionObjects::vorticity::vorticity IOobject ( outputName_, - mesh.time().timeName(), - mesh, + mesh_.time().timeName(), + mesh_, IOobject::NO_READ, IOobject::NO_WRITE ), - mesh, + mesh_, dimensionedVector("0", dimless/dimTime, Zero) ) ); - mesh.objectRegistry::store(vorticityPtr); + mesh_.objectRegistry::store(vorticityPtr); } @@ -119,11 +103,11 @@ bool Foam::functionObjects::vorticity::read(const dictionary& dict) bool Foam::functionObjects::vorticity::execute(const bool postProcess) { - const volVectorField& U = obr_.lookupObject<volVectorField>(UName_); + const volVectorField& U = mesh_.lookupObject<volVectorField>(UName_); volVectorField& vorticity = const_cast<volVectorField&> ( - obr_.lookupObject<volVectorField>(outputName_) + mesh_.lookupObject<volVectorField>(outputName_) ); vorticity = fvc::curl(U); @@ -135,7 +119,7 @@ bool Foam::functionObjects::vorticity::execute(const bool postProcess) bool Foam::functionObjects::vorticity::write(const bool postProcess) { const volVectorField& vorticity = - obr_.lookupObject<volVectorField>(outputName_); + mesh_.lookupObject<volVectorField>(outputName_); Info<< type() << " " << name() << " output:" << nl << " writing field " << vorticity.name() << nl diff --git a/src/postProcessing/functionObjects/utilities/vorticity/vorticity.H b/src/postProcessing/functionObjects/utilities/vorticity/vorticity.H index 942926a9483..6d719e3ed90 100644 --- a/src/postProcessing/functionObjects/utilities/vorticity/vorticity.H +++ b/src/postProcessing/functionObjects/utilities/vorticity/vorticity.H @@ -30,6 +30,9 @@ Group Description This function object calculates the vorticity, the curl of the velocity. +SeeAlso + Foam::functionObjects::fvMeshFunctionObject + SourceFiles vorticity.C @@ -38,17 +41,13 @@ SourceFiles #ifndef functionObjects_vorticity_H #define functionObjects_vorticity_H -#include "functionObject.H" +#include "fvMeshFunctionObject.H" #include "volFieldsFwd.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // namespace Foam { - -// Forward declaration of classes -class objectRegistry; - namespace functionObjects { @@ -58,13 +57,10 @@ namespace functionObjects class vorticity : - public functionObject + public fvMeshFunctionObject { // Private data - //- Reference to the database - const objectRegistry& obr_; - //- Name of velocity field, default is "U" word UName_; diff --git a/src/thermophysicalModels/reactionThermo/functionObjects/moleFractions/moleFractions.C b/src/thermophysicalModels/reactionThermo/functionObjects/moleFractions/moleFractions.C index 83b88380f76..40a8f5f7be8 100644 --- a/src/thermophysicalModels/reactionThermo/functionObjects/moleFractions/moleFractions.C +++ b/src/thermophysicalModels/reactionThermo/functionObjects/moleFractions/moleFractions.C @@ -51,12 +51,11 @@ template<class ThermoType> Foam::moleFractions<ThermoType>::moleFractions ( const word& name, - const Time& t, + const Time& runTime, const dictionary& dict ) : - writeFiles(name, t, dict, typeName), - mesh_(refCast<const fvMesh>(obr_)) + fvMeshFunctionObject(name, runTime, dict) { if (mesh_.foundObject<ThermoType>(basicThermo::dictName)) { diff --git a/src/thermophysicalModels/reactionThermo/functionObjects/moleFractions/moleFractions.H b/src/thermophysicalModels/reactionThermo/functionObjects/moleFractions/moleFractions.H index c35771832f7..0ad3845a26b 100644 --- a/src/thermophysicalModels/reactionThermo/functionObjects/moleFractions/moleFractions.H +++ b/src/thermophysicalModels/reactionThermo/functionObjects/moleFractions/moleFractions.H @@ -49,7 +49,7 @@ Description depending on the thermodynamics package used in the solver. SeeAlso - Foam::functionObject + Foam::functionObjects::fvMeshFunctionObject SourceFiles moleFractions.C @@ -59,8 +59,8 @@ SourceFiles #ifndef moleFractions_H #define moleFractions_H -#include "writeFiles.H" -#include "volFields.H" +#include "fvMeshFunctionObject.H" +#include "volFieldsFwd.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -74,13 +74,10 @@ namespace Foam template<class ThermoType> class moleFractions : - public functionObjects::writeFiles + public functionObjects::fvMeshFunctionObject { // Private data - //- Reference to the mesh - const fvMesh& mesh_; - //- Species mole fractions PtrList<volScalarField> X_; -- GitLab