diff --git a/etc/caseDicts/postProcessing/minMax/cellMinMax.cfg b/etc/caseDicts/postProcessing/minMax/cellMinMax.cfg index 383fe224d38253fa7e13e0948d8ef0cc6f08bb1f..881093ef31bd91e614f67a36182b155f38974f8a 100644 --- a/etc/caseDicts/postProcessing/minMax/cellMinMax.cfg +++ b/etc/caseDicts/postProcessing/minMax/cellMinMax.cfg @@ -6,7 +6,7 @@ | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ -type volRegion; +type volFieldValue; libs ("libfieldFunctionObjects.so"); writeControl timeStep; diff --git a/src/finiteVolume/Make/files b/src/finiteVolume/Make/files index 2f4ed7e376932df15105fa1acf64ef05f2b95bfe..20ef3e4f134ea027e02598609780535d26e2b579 100644 --- a/src/finiteVolume/Make/files +++ b/src/finiteVolume/Make/files @@ -91,7 +91,8 @@ $(faceToCell)/extendedFaceToCellStencil.C $(faceToCell)/extendedCentredFaceToCellStencil.C $(faceToCell)/MeshObjects/centredCFCFaceToCellStencilObject.C -fvMesh/fvMeshFunctionObject/fvMeshFunctionObject.C +functionObjects/fvMeshFunctionObject/fvMeshFunctionObject.C +functionObjects/volRegion/volRegion.C fvPatchFields = fields/fvPatchFields $(fvPatchFields)/fvPatchField/fvPatchFields.C diff --git a/src/finiteVolume/fvMesh/fvMeshFunctionObject/fvMeshFunctionObject.C b/src/finiteVolume/functionObjects/fvMeshFunctionObject/fvMeshFunctionObject.C similarity index 100% rename from src/finiteVolume/fvMesh/fvMeshFunctionObject/fvMeshFunctionObject.C rename to src/finiteVolume/functionObjects/fvMeshFunctionObject/fvMeshFunctionObject.C diff --git a/src/finiteVolume/fvMesh/fvMeshFunctionObject/fvMeshFunctionObject.H b/src/finiteVolume/functionObjects/fvMeshFunctionObject/fvMeshFunctionObject.H similarity index 100% rename from src/finiteVolume/fvMesh/fvMeshFunctionObject/fvMeshFunctionObject.H rename to src/finiteVolume/functionObjects/fvMeshFunctionObject/fvMeshFunctionObject.H diff --git a/src/finiteVolume/functionObjects/volRegion/volRegion.C b/src/finiteVolume/functionObjects/volRegion/volRegion.C new file mode 100644 index 0000000000000000000000000000000000000000..be2bca5e83cbce52dd9a591baceebbdc9f8f418b --- /dev/null +++ b/src/finiteVolume/functionObjects/volRegion/volRegion.C @@ -0,0 +1,189 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2016 OpenFOAM Foundation + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +\*---------------------------------------------------------------------------*/ + +#include "volRegion.H" +#include "volMesh.H" +#include "globalMeshData.H" + +// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // + +namespace Foam +{ +namespace functionObjects +{ + defineTypeNameAndDebug(volRegion, 0); +} +} + +template<> +const char* +Foam::NamedEnum +< + Foam::functionObjects::volRegion::regionTypes, + 2 +>::names[] = {"cellZone", "all"}; + +const Foam::NamedEnum +< + Foam::functionObjects::volRegion::regionTypes, + 2 +> Foam::functionObjects::volRegion::regionTypeNames_; + + +// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * // + +void Foam::functionObjects::volRegion::writeFileHeader +( + const writeFile& wf, + Ostream& file +) +{ + wf.writeCommented(file, "Region : "); + file << regionTypeNames_[regionType_] << " " << regionName_ << endl; + wf.writeHeaderValue(file, "Cells", nCells()); + wf.writeHeaderValue(file, "Volume", V()); +} + + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +Foam::functionObjects::volRegion::volRegion +( + const fvMesh& mesh, + const dictionary& dict +) +: + mesh_(mesh), + regionType_ + ( + dict.found("regionType") + ? regionTypeNames_.read(dict.lookup("regionType")) + : vrtAll + ), + regionID_(-1) +{ + read(dict); +} + + +// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // + +Foam::functionObjects::volRegion::~volRegion() +{} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +bool Foam::functionObjects::volRegion::read +( + const dictionary& dict +) +{ + switch (regionType_) + { + case vrtCellZone: + { + dict.lookup("name") >> regionName_; + + regionID_ = mesh_.cellZones().findZoneID(regionName_); + + if (regionID_ < 0) + { + FatalIOErrorInFunction(dict) + << "Unknown cell zone name: " << regionName_ + << ". Valid cell zones are: " << mesh_.cellZones().names() + << exit(FatalIOError); + } + + if (nCells() == 0) + { + FatalIOErrorInFunction(dict) + << regionTypeNames_[regionType_] + << "(" << regionName_ << "):" << nl + << " Region has no cells" + << exit(FatalIOError); + } + + break; + } + + case vrtAll: + { + break; + } + + default: + { + FatalIOErrorInFunction(dict) + << "Unknown region type. Valid region types are:" + << regionTypeNames_ + << exit(FatalIOError); + } + } + + return true; +} + + +const Foam::labelList& Foam::functionObjects::volRegion::cellIDs() const +{ + if (regionType_ == vrtAll) + { + return labelList::null(); + } + else + { + return mesh_.cellZones()[regionID_]; + } +} + + +Foam::label Foam::functionObjects::volRegion::nCells() const +{ + if (regionType_ == vrtAll) + { + return mesh_.globalData().nTotalCells(); + } + else + { + return returnReduce(cellIDs().size(), sumOp<label>()); + } +} + + +Foam::scalar Foam::functionObjects::volRegion::V() const +{ + if (regionType_ == vrtAll) + { + return gSum(mesh_.V()); + } + else + { + return gSum(scalarField(mesh_.V(), cellIDs())); + } +} + + +// ************************************************************************* // diff --git a/src/finiteVolume/functionObjects/volRegion/volRegion.H b/src/finiteVolume/functionObjects/volRegion/volRegion.H new file mode 100644 index 0000000000000000000000000000000000000000..f316cf9b7176d92ba9f73cea9a972247e4a862c6 --- /dev/null +++ b/src/finiteVolume/functionObjects/volRegion/volRegion.H @@ -0,0 +1,185 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2016 OpenFOAM Foundation + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +Class + Foam::functionObjects::volRegion + +Group + grpFieldFunctionObjects + +Description + Volume (cell) region selection class. + + Examples of function object specification: + \verbatim + volRegion0 + { + . + . + regionType cellZone; + name c0; + . + . + } + + volRegionAll + { + . + . + regionType all; + . + . + } + \endverbatim + +Usage + \table + Property | Description | Required | Default value + regionType | cellZone or all | no | all + name | Name of cellZone if required | no | + \endtable + +See also + Foam::functionObject + +SourceFiles + volRegion.C + +\*---------------------------------------------------------------------------*/ + +#ifndef functionObjects_volRegion_H +#define functionObjects_volRegion_H + +#include "writeFile.H" +#include "NamedEnum.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +// Forward declaration of classes +class fvMesh; + +namespace functionObjects +{ + +/*---------------------------------------------------------------------------*\ + Class volRegion Declaration +\*---------------------------------------------------------------------------*/ + +class volRegion +{ + // Private member data + + const fvMesh& mesh_; + + +public: + + // Public data types + + //- Region type enumeration + enum regionTypes + { + vrtCellZone, + vrtAll + }; + + //- Region type names + static const NamedEnum<regionTypes, 2> regionTypeNames_; + + +protected: + + // Protected data + + //- Region type + regionTypes regionType_; + + //- Region name (patch, zone, etc.) + word regionName_; + + //- Region ID (patch ID, zone ID, etc.) + label regionID_; + + + // Protected Member Functions + + //- Output file header information + void writeFileHeader(const writeFile& wf, Ostream& file); + + +public: + + //- Run-time type information + TypeName("volRegion"); + + + // Constructors + + //- Construct from fvMesh and dictionary + volRegion + ( + const fvMesh& mesh, + const dictionary& dict + ); + + + //- Destructor + virtual ~volRegion(); + + + // Public Member Functions + + //- Read from dictionary + bool read(const dictionary&); + + //- Return the region type + inline const regionTypes& regionType() const; + + //- Return the local list of cell IDs + const labelList& cellIDs() const; + + //- Return the number of cells in the region + label nCells() const; + + //- Return total volume of the region + scalar V() const; +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace functionObjects +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#include "volRegionI.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/functionObjects/field/fieldValues/volRegion/volRegionI.H b/src/finiteVolume/functionObjects/volRegion/volRegionI.H similarity index 78% rename from src/functionObjects/field/fieldValues/volRegion/volRegionI.H rename to src/finiteVolume/functionObjects/volRegion/volRegionI.H index cf5750e3e6e6f9fd38094103859d004be6a1eee1..836245394194331b8d3fa07b60ddda23fb9e2e9a 100644 --- a/src/functionObjects/field/fieldValues/volRegion/volRegionI.H +++ b/src/finiteVolume/functionObjects/volRegion/volRegionI.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2016 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -23,22 +23,12 @@ License \*---------------------------------------------------------------------------*/ -#include "volRegion.H" - // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -inline const Foam::functionObjects::fieldValues::volRegion::regionTypes& -Foam::functionObjects::fieldValues::volRegion::regionType() const +inline const Foam::functionObjects::volRegion::regionTypes& +Foam::functionObjects::volRegion::regionType() const { return regionType_; } - -inline const Foam::labelList& -Foam::functionObjects::fieldValues::volRegion::cellId() const -{ - return cellId_; -} - - // ************************************************************************* // diff --git a/src/functionObjects/field/Make/files b/src/functionObjects/field/Make/files index 920e09672396ddaa89e3573828463c2dac3bd786..ebda106c1ab4991eb5d2e438e48a249fb6f754db 100644 --- a/src/functionObjects/field/Make/files +++ b/src/functionObjects/field/Make/files @@ -8,8 +8,8 @@ fieldMinMax/fieldMinMax.C fieldValues/fieldValue/fieldValue.C fieldValues/fieldValue/fieldValueNew.C fieldValues/fieldValueDelta/fieldValueDelta.C -fieldValues/volRegion/volRegion.C -fieldValues/surfaceRegion/surfaceRegion.C +fieldValues/volFieldValue/volFieldValue.C +fieldValues/surfaceFieldValue/surfaceFieldValue.C nearWallFields/nearWallFields.C nearWallFields/findCellParticle.C diff --git a/src/functionObjects/field/fieldValues/fieldValue/fieldValue.H b/src/functionObjects/field/fieldValues/fieldValue/fieldValue.H index bd944ad68d21a60b0424d31f3645fc0f58a55763..7c6520278ca7b37228e6ddfd555c2a501d1da9e9 100644 --- a/src/functionObjects/field/fieldValues/fieldValue/fieldValue.H +++ b/src/functionObjects/field/fieldValues/fieldValue/fieldValue.H @@ -178,7 +178,7 @@ public: //- Execute virtual bool execute(); - //- Write to screen/file + //- Write virtual bool write(); }; diff --git a/src/functionObjects/field/fieldValues/surfaceRegion/surfaceRegion.C b/src/functionObjects/field/fieldValues/surfaceFieldValue/surfaceFieldValue.C similarity index 91% rename from src/functionObjects/field/fieldValues/surfaceRegion/surfaceRegion.C rename to src/functionObjects/field/fieldValues/surfaceFieldValue/surfaceFieldValue.C index 6ca71c2022844fcb5c23b462407b15f3d2ff9ef4..2b62173c893c5abfd1fa6cb79fc05e9308765abf 100644 --- a/src/functionObjects/field/fieldValues/surfaceRegion/surfaceRegion.C +++ b/src/functionObjects/field/fieldValues/surfaceFieldValue/surfaceFieldValue.C @@ -23,7 +23,7 @@ License \*---------------------------------------------------------------------------*/ -#include "surfaceRegion.H" +#include "surfaceFieldValue.H" #include "fvMesh.H" #include "cyclicPolyPatch.H" #include "emptyPolyPatch.H" @@ -42,9 +42,9 @@ namespace functionObjects { namespace fieldValues { - defineTypeNameAndDebug(surfaceRegion, 0); - addToRunTimeSelectionTable(fieldValue, surfaceRegion, dictionary); - addToRunTimeSelectionTable(functionObject, surfaceRegion, dictionary); + defineTypeNameAndDebug(surfaceFieldValue, 0); + addToRunTimeSelectionTable(fieldValue, surfaceFieldValue, dictionary); + addToRunTimeSelectionTable(functionObject, surfaceFieldValue, dictionary); } } } @@ -52,7 +52,7 @@ namespace fieldValues template<> const char* Foam::NamedEnum < - Foam::functionObjects::fieldValues::surfaceRegion::regionTypes, + Foam::functionObjects::fieldValues::surfaceFieldValue::regionTypes, 3 >::names[] = { @@ -64,7 +64,7 @@ const char* Foam::NamedEnum template<> const char* Foam::NamedEnum < - Foam::functionObjects::fieldValues::surfaceRegion::operationType, + Foam::functionObjects::fieldValues::surfaceFieldValue::operationType, 15 >::names[] = { @@ -87,20 +87,20 @@ const char* Foam::NamedEnum const Foam::NamedEnum < - Foam::functionObjects::fieldValues::surfaceRegion::regionTypes, + Foam::functionObjects::fieldValues::surfaceFieldValue::regionTypes, 3 -> Foam::functionObjects::fieldValues::surfaceRegion::regionTypeNames_; +> Foam::functionObjects::fieldValues::surfaceFieldValue::regionTypeNames_; const Foam::NamedEnum < - Foam::functionObjects::fieldValues::surfaceRegion::operationType, + Foam::functionObjects::fieldValues::surfaceFieldValue::operationType, 15 -> Foam::functionObjects::fieldValues::surfaceRegion::operationTypeNames_; +> Foam::functionObjects::fieldValues::surfaceFieldValue::operationTypeNames_; // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // -void Foam::functionObjects::fieldValues::surfaceRegion::setFaceZoneFaces() +void Foam::functionObjects::fieldValues::surfaceFieldValue::setFaceZoneFaces() { label zoneId = mesh_.faceZones().findZoneID(regionName_); @@ -185,7 +185,7 @@ void Foam::functionObjects::fieldValues::surfaceRegion::setFaceZoneFaces() } -void Foam::functionObjects::fieldValues::surfaceRegion::setPatchFaces() +void Foam::functionObjects::fieldValues::surfaceFieldValue::setPatchFaces() { const label patchid = mesh_.boundaryMesh().findPatchID(regionName_); @@ -222,7 +222,7 @@ void Foam::functionObjects::fieldValues::surfaceRegion::setPatchFaces() } -void Foam::functionObjects::fieldValues::surfaceRegion::sampledSurfaceFaces +void Foam::functionObjects::fieldValues::surfaceFieldValue::sampledSurfaceFaces ( const dictionary& dict ) @@ -238,7 +238,7 @@ void Foam::functionObjects::fieldValues::surfaceRegion::sampledSurfaceFaces } -void Foam::functionObjects::fieldValues::surfaceRegion::combineMeshGeometry +void Foam::functionObjects::fieldValues::surfaceFieldValue::combineMeshGeometry ( faceList& faces, pointField& points @@ -359,7 +359,8 @@ void Foam::functionObjects::fieldValues::surfaceRegion::combineMeshGeometry } -void Foam::functionObjects::fieldValues::surfaceRegion::combineSurfaceGeometry +void Foam::functionObjects::fieldValues::surfaceFieldValue:: +combineSurfaceGeometry ( faceList& faces, pointField& points @@ -399,7 +400,7 @@ void Foam::functionObjects::fieldValues::surfaceRegion::combineSurfaceGeometry Foam::scalar -Foam::functionObjects::fieldValues::surfaceRegion::totalArea() const +Foam::functionObjects::fieldValues::surfaceFieldValue::totalArea() const { scalar totalArea; @@ -418,7 +419,7 @@ Foam::functionObjects::fieldValues::surfaceRegion::totalArea() const // * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * // -void Foam::functionObjects::fieldValues::surfaceRegion::initialise +void Foam::functionObjects::fieldValues::surfaceFieldValue::initialise ( const dictionary& dict ) @@ -533,7 +534,7 @@ void Foam::functionObjects::fieldValues::surfaceRegion::initialise } -void Foam::functionObjects::fieldValues::surfaceRegion::writeFileHeader +void Foam::functionObjects::fieldValues::surfaceFieldValue::writeFileHeader ( const label i ) @@ -566,7 +567,8 @@ void Foam::functionObjects::fieldValues::surfaceRegion::writeFileHeader template<> -Foam::scalar Foam::functionObjects::fieldValues::surfaceRegion::processValues +Foam::scalar Foam::functionObjects::fieldValues::surfaceFieldValue:: +processValues ( const Field<scalar>& values, const vectorField& Sf, @@ -597,7 +599,8 @@ Foam::scalar Foam::functionObjects::fieldValues::surfaceRegion::processValues template<> -Foam::vector Foam::functionObjects::fieldValues::surfaceRegion::processValues +Foam::vector Foam::functionObjects::fieldValues::surfaceFieldValue:: +processValues ( const Field<vector>& values, const vectorField& Sf, @@ -643,7 +646,7 @@ Foam::vector Foam::functionObjects::fieldValues::surfaceRegion::processValues // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // -Foam::functionObjects::fieldValues::surfaceRegion::surfaceRegion +Foam::functionObjects::fieldValues::surfaceFieldValue::surfaceFieldValue ( const word& name, const Time& runTime, @@ -667,7 +670,7 @@ Foam::functionObjects::fieldValues::surfaceRegion::surfaceRegion read(dict); } -Foam::functionObjects::fieldValues::surfaceRegion::surfaceRegion +Foam::functionObjects::fieldValues::surfaceFieldValue::surfaceFieldValue ( const word& name, const objectRegistry& obr, @@ -694,13 +697,13 @@ Foam::functionObjects::fieldValues::surfaceRegion::surfaceRegion // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // -Foam::functionObjects::fieldValues::surfaceRegion::~surfaceRegion() +Foam::functionObjects::fieldValues::surfaceFieldValue::~surfaceFieldValue() {} // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -bool Foam::functionObjects::fieldValues::surfaceRegion::read +bool Foam::functionObjects::fieldValues::surfaceFieldValue::read ( const dictionary& dict ) @@ -712,7 +715,7 @@ bool Foam::functionObjects::fieldValues::surfaceRegion::read } -bool Foam::functionObjects::fieldValues::surfaceRegion::write() +bool Foam::functionObjects::fieldValues::surfaceFieldValue::write() { if (operation_ != opNone) { diff --git a/src/functionObjects/field/fieldValues/surfaceRegion/surfaceRegion.H b/src/functionObjects/field/fieldValues/surfaceFieldValue/surfaceFieldValue.H similarity index 92% rename from src/functionObjects/field/fieldValues/surfaceRegion/surfaceRegion.H rename to src/functionObjects/field/fieldValues/surfaceFieldValue/surfaceFieldValue.H index 9f1010abb6077967be61b4fb98a79a14ef748018..7a58ba56a9a03c0889c58f454ed0367c7f95ef7b 100644 --- a/src/functionObjects/field/fieldValues/surfaceRegion/surfaceRegion.H +++ b/src/functionObjects/field/fieldValues/surfaceFieldValue/surfaceFieldValue.H @@ -22,7 +22,7 @@ License along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. Class - Foam::functionObjects::fieldValues::surfaceRegion + Foam::functionObjects::fieldValues::surfaceFieldValue Group grpFieldFunctionObjects @@ -41,7 +41,7 @@ Description \verbatim movingWallPatch { - type surfaceRegion; + type surfaceFieldValue; libs ("libfieldFunctionObjects.so"); log true; @@ -61,9 +61,9 @@ Description ); } - surfaceRegion1 + surfaceFieldValue1 { - type surfaceRegion; + type surfaceFieldValue; libs ("libfieldFunctionObjects.so"); log true; @@ -90,10 +90,10 @@ Description Usage \table Property | Description | Required | Default value - type | type name: surfaceRegion | yes | + type | type name: surfaceFieldValue | yes | log | write data to standard output | no | no writeFields | Write the region field values | yes | - writeArea | Write the area of the surfaceRegion | no | + writeArea | Write the area of the surfaceFieldValue | no | surfaceFormat | output value format | no | regionType | face regionType: see below | yes | name | name of face regionType if required | no | @@ -155,13 +155,13 @@ See also Foam::functionObject SourceFiles - surfaceRegion.C - surfaceRegionTemplates.C + surfaceFieldValue.C + surfaceFieldValueTemplates.C \*---------------------------------------------------------------------------*/ -#ifndef functionObjects_surfaceRegion_H -#define functionObjects_surfaceRegion_H +#ifndef functionObjects_surfaceFieldValue_H +#define functionObjects_surfaceFieldValue_H #include "fieldValue.H" #include "NamedEnum.H" @@ -180,10 +180,10 @@ namespace fieldValues { /*---------------------------------------------------------------------------*\ - Class surfaceRegion Declaration + Class surfaceFieldValue Declaration \*---------------------------------------------------------------------------*/ -class surfaceRegion +class surfaceFieldValue : public fieldValue { @@ -255,7 +255,7 @@ private: pointField& points ) const; - //- Calculate and return total area of the surfaceRegion: sum(magSf) + //- Calculate and return total area of the surfaceFieldValue: sum(magSf) scalar totalArea() const; @@ -284,10 +284,10 @@ protected: //- Scale factor - optional scalar scaleFactor_; - //- Total area of the surfaceRegion + //- Total area of the surfaceFieldValue scalar totalArea_; - //- Optionally write the area of the surfaceRegion + //- Optionally write the area of the surfaceFieldValue bool writeArea_; //- Global number of faces @@ -358,13 +358,13 @@ protected: public: //- Run-time type information - TypeName("surfaceRegion"); + TypeName("surfaceFieldValue"); // Constructors //- Construct from name, Time and dictionary - surfaceRegion + surfaceFieldValue ( const word& name, const Time& runTime, @@ -372,7 +372,7 @@ public: ); //- Construct from name, objectRegistry and dictionary - surfaceRegion + surfaceFieldValue ( const word& name, const objectRegistry& obr, @@ -381,7 +381,7 @@ public: //- Destructor - virtual ~surfaceRegion(); + virtual ~surfaceFieldValue(); // Public Member Functions @@ -436,7 +436,7 @@ public: //- Specialisation for scalar template<> -scalar surfaceRegion::processValues +scalar surfaceFieldValue::processValues ( const Field<scalar>& values, const vectorField& Sf, @@ -446,7 +446,7 @@ scalar surfaceRegion::processValues //- Specialisation for vector template<> -vector surfaceRegion::processValues +vector surfaceFieldValue::processValues ( const Field<vector>& values, const vectorField& Sf, @@ -462,12 +462,12 @@ vector surfaceRegion::processValues // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#include "surfaceRegionI.H" +#include "surfaceFieldValueI.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // #ifdef NoRepository - #include "surfaceRegionTemplates.C" + #include "surfaceFieldValueTemplates.C" #endif // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/functionObjects/field/fieldValues/surfaceRegion/surfaceRegionI.H b/src/functionObjects/field/fieldValues/surfaceFieldValue/surfaceFieldValueI.H similarity index 77% rename from src/functionObjects/field/fieldValues/surfaceRegion/surfaceRegionI.H rename to src/functionObjects/field/fieldValues/surfaceFieldValue/surfaceFieldValueI.H index effaa7d8ab31b0ab82581c3dceeec12968b7323e..4031b12a4dbd86212cddc97bafb32a00b7751353 100644 --- a/src/functionObjects/field/fieldValues/surfaceRegion/surfaceRegionI.H +++ b/src/functionObjects/field/fieldValues/surfaceFieldValue/surfaceFieldValueI.H @@ -23,40 +23,40 @@ License \*---------------------------------------------------------------------------*/ -#include "surfaceRegion.H" +#include "surfaceFieldValue.H" // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -inline const Foam::functionObjects::fieldValues::surfaceRegion::regionTypes& -Foam::functionObjects::fieldValues::surfaceRegion::regionType() const +inline const Foam::functionObjects::fieldValues::surfaceFieldValue::regionTypes& +Foam::functionObjects::fieldValues::surfaceFieldValue::regionType() const { return regionType_; } inline const Foam::labelList& -Foam::functionObjects::fieldValues::surfaceRegion::faceId() const +Foam::functionObjects::fieldValues::surfaceFieldValue::faceId() const { return faceId_; } inline const Foam::labelList& -Foam::functionObjects::fieldValues::surfaceRegion::facePatch() const +Foam::functionObjects::fieldValues::surfaceFieldValue::facePatch() const { return facePatchId_; } inline const Foam::labelList& -Foam::functionObjects::fieldValues::surfaceRegion::faceSign() const +Foam::functionObjects::fieldValues::surfaceFieldValue::faceSign() const { return faceSign_; } inline Foam::fileName -Foam::functionObjects::fieldValues::surfaceRegion::outputDir() const +Foam::functionObjects::fieldValues::surfaceFieldValue::outputDir() const { return baseFileDir()/name()/"surface"/obr_.time().timeName(); } diff --git a/src/functionObjects/field/fieldValues/surfaceRegion/surfaceRegionTemplates.C b/src/functionObjects/field/fieldValues/surfaceFieldValue/surfaceFieldValueTemplates.C similarity index 95% rename from src/functionObjects/field/fieldValues/surfaceRegion/surfaceRegionTemplates.C rename to src/functionObjects/field/fieldValues/surfaceFieldValue/surfaceFieldValueTemplates.C index 0d4603243cc8bf8243fc755cffcbcdaeb8c12cd7..cfcd2c2464d273b1e387b35c27344da7b8d0f7cc 100644 --- a/src/functionObjects/field/fieldValues/surfaceRegion/surfaceRegionTemplates.C +++ b/src/functionObjects/field/fieldValues/surfaceFieldValue/surfaceFieldValueTemplates.C @@ -23,7 +23,7 @@ License \*---------------------------------------------------------------------------*/ -#include "surfaceRegion.H" +#include "surfaceFieldValue.H" #include "surfaceFields.H" #include "volFields.H" #include "sampledSurface.H" @@ -33,7 +33,7 @@ License // * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * // template<class Type> -bool Foam::functionObjects::fieldValues::surfaceRegion::validField +bool Foam::functionObjects::fieldValues::surfaceFieldValue::validField ( const word& fieldName ) const @@ -56,7 +56,7 @@ bool Foam::functionObjects::fieldValues::surfaceRegion::validField template<class Type> Foam::tmp<Foam::Field<Type>> -Foam::functionObjects::fieldValues::surfaceRegion::getFieldValues +Foam::functionObjects::fieldValues::surfaceFieldValue::getFieldValues ( const word& fieldName, const bool mustGet, @@ -125,7 +125,8 @@ Foam::functionObjects::fieldValues::surfaceRegion::getFieldValues template<class Type> -Type Foam::functionObjects::fieldValues::surfaceRegion::processSameTypeValues +Type Foam::functionObjects::fieldValues::surfaceFieldValue:: +processSameTypeValues ( const Field<Type>& values, const vectorField& Sf, @@ -254,7 +255,7 @@ Type Foam::functionObjects::fieldValues::surfaceRegion::processSameTypeValues template<class Type> -Type Foam::functionObjects::fieldValues::surfaceRegion::processValues +Type Foam::functionObjects::fieldValues::surfaceFieldValue::processValues ( const Field<Type>& values, const vectorField& Sf, @@ -269,7 +270,7 @@ Type Foam::functionObjects::fieldValues::surfaceRegion::processValues // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // template<class Type> -bool Foam::functionObjects::fieldValues::surfaceRegion::writeValues +bool Foam::functionObjects::fieldValues::surfaceFieldValue::writeValues ( const word& fieldName, const scalarField& weightField, @@ -355,7 +356,7 @@ bool Foam::functionObjects::fieldValues::surfaceRegion::writeValues template<class Type> Foam::tmp<Foam::Field<Type>> -Foam::functionObjects::fieldValues::surfaceRegion::filterField +Foam::functionObjects::fieldValues::surfaceFieldValue::filterField ( const GeometricField<Type, fvPatchField, volMesh>& field, const bool applyOrientation @@ -397,7 +398,7 @@ Foam::functionObjects::fieldValues::surfaceRegion::filterField template<class Type> Foam::tmp<Foam::Field<Type>> -Foam::functionObjects::fieldValues::surfaceRegion::filterField +Foam::functionObjects::fieldValues::surfaceFieldValue::filterField ( const GeometricField<Type, fvsPatchField, surfaceMesh>& field, const bool applyOrientation diff --git a/src/functionObjects/field/fieldValues/volRegion/volRegion.C b/src/functionObjects/field/fieldValues/volFieldValue/volFieldValue.C similarity index 84% rename from src/functionObjects/field/fieldValues/volRegion/volRegion.C rename to src/functionObjects/field/fieldValues/volFieldValue/volFieldValue.C index 2f032b29ba543e3904d229512e806ae5dd973be8..9e490ba2a1aaf86a3bd080996e805f9cdba58c60 100644 --- a/src/functionObjects/field/fieldValues/volRegion/volRegion.C +++ b/src/functionObjects/field/fieldValues/volFieldValue/volFieldValue.C @@ -23,7 +23,7 @@ License \*---------------------------------------------------------------------------*/ -#include "volRegion.H" +#include "volFieldValue.H" #include "fvMesh.H" #include "volFields.H" #include "addToRunTimeSelectionTable.H" @@ -36,9 +36,9 @@ namespace functionObjects { namespace fieldValues { - defineTypeNameAndDebug(volRegion, 0); - addToRunTimeSelectionTable(fieldValue, volRegion, dictionary); - addToRunTimeSelectionTable(functionObject, volRegion, dictionary); + defineTypeNameAndDebug(volFieldValue, 0); + addToRunTimeSelectionTable(fieldValue, volFieldValue, dictionary); + addToRunTimeSelectionTable(functionObject, volFieldValue, dictionary); } } } @@ -47,7 +47,7 @@ template<> const char* Foam::NamedEnum < - Foam::functionObjects::fieldValues::volRegion::regionTypes, + Foam::functionObjects::fieldValues::volFieldValue::regionTypes, 2 >::names[] = {"cellZone", "all"}; @@ -55,7 +55,7 @@ template<> const char* Foam::NamedEnum < - Foam::functionObjects::fieldValues::volRegion::operationType, + Foam::functionObjects::fieldValues::volFieldValue::operationType, 11 >::names[] = { @@ -74,20 +74,20 @@ Foam::NamedEnum const Foam::NamedEnum < - Foam::functionObjects::fieldValues::volRegion::regionTypes, + Foam::functionObjects::fieldValues::volFieldValue::regionTypes, 2 -> Foam::functionObjects::fieldValues::volRegion::regionTypeNames_; +> Foam::functionObjects::fieldValues::volFieldValue::regionTypeNames_; const Foam::NamedEnum < - Foam::functionObjects::fieldValues::volRegion::operationType, + Foam::functionObjects::fieldValues::volFieldValue::operationType, 11 -> Foam::functionObjects::fieldValues::volRegion::operationTypeNames_; +> Foam::functionObjects::fieldValues::volFieldValue::operationTypeNames_; // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // -void Foam::functionObjects::fieldValues::volRegion::setCellZoneCells() +void Foam::functionObjects::fieldValues::volFieldValue::setCellZoneCells() { switch (regionType_) { @@ -132,7 +132,7 @@ void Foam::functionObjects::fieldValues::volRegion::setCellZoneCells() } -Foam::scalar Foam::functionObjects::fieldValues::volRegion::volume() const +Foam::scalar Foam::functionObjects::fieldValues::volFieldValue::volume() const { return gSum(filterField(mesh_.V())); } @@ -140,7 +140,7 @@ Foam::scalar Foam::functionObjects::fieldValues::volRegion::volume() const // * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * // -void Foam::functionObjects::fieldValues::volRegion::initialise +void Foam::functionObjects::fieldValues::volFieldValue::initialise ( const dictionary& dict ) @@ -172,7 +172,7 @@ void Foam::functionObjects::fieldValues::volRegion::initialise } -void Foam::functionObjects::fieldValues::volRegion::writeFileHeader +void Foam::functionObjects::fieldValues::volFieldValue::writeFileHeader ( const label i ) @@ -203,7 +203,7 @@ void Foam::functionObjects::fieldValues::volRegion::writeFileHeader // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // -Foam::functionObjects::fieldValues::volRegion::volRegion +Foam::functionObjects::fieldValues::volFieldValue::volFieldValue ( const word& name, const Time& runTime, @@ -222,7 +222,7 @@ Foam::functionObjects::fieldValues::volRegion::volRegion } -Foam::functionObjects::fieldValues::volRegion::volRegion +Foam::functionObjects::fieldValues::volFieldValue::volFieldValue ( const word& name, const objectRegistry& obr, @@ -243,13 +243,13 @@ Foam::functionObjects::fieldValues::volRegion::volRegion // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // -Foam::functionObjects::fieldValues::volRegion::~volRegion() +Foam::functionObjects::fieldValues::volFieldValue::~volFieldValue() {} // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -bool Foam::functionObjects::fieldValues::volRegion::read +bool Foam::functionObjects::fieldValues::volFieldValue::read ( const dictionary& dict ) @@ -263,7 +263,7 @@ bool Foam::functionObjects::fieldValues::volRegion::read } -bool Foam::functionObjects::fieldValues::volRegion::write() +bool Foam::functionObjects::fieldValues::volFieldValue::write() { fieldValue::write(); diff --git a/src/functionObjects/field/fieldValues/volRegion/volRegion.H b/src/functionObjects/field/fieldValues/volFieldValue/volFieldValue.H similarity index 90% rename from src/functionObjects/field/fieldValues/volRegion/volRegion.H rename to src/functionObjects/field/fieldValues/volFieldValue/volFieldValue.H index bfc41749e73e8dcd0e4cbf1e3d9fb1f3a89b9cbb..af66f72a84ee1ea7d7c549277847227e20bfc651 100644 --- a/src/functionObjects/field/fieldValues/volRegion/volRegion.H +++ b/src/functionObjects/field/fieldValues/volFieldValue/volFieldValue.H @@ -22,7 +22,7 @@ License along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. Class - Foam::functionObjects::fieldValues::volRegion + Foam::functionObjects::fieldValues::volFieldValue Group grpFieldFunctionObjects @@ -37,9 +37,9 @@ Description Example of function object specification: \verbatim - volRegion1 + volFieldValue1 { - type volRegion; + type volFieldValue; libs ("libfieldFunctionObjects.so"); log true; @@ -63,10 +63,10 @@ Description Usage \table Property | Description | Required | Default value - type | Type name: volRegion | yes | + type | Type name: volFieldValue | yes | log | Write data to standard output | no | no writeFields | Write the region field values | yes | - writeVolume | Write the volume of the volRegion | no | + writeVolume | Write the volume of the volFieldValue | no | regionType | cell regionType: see below | yes | name | name of cell regionType if required | no | operation | operation to perform | yes | @@ -100,12 +100,12 @@ See also Foam::functionObject SourceFiles - volRegion.C + volFieldValue.C \*---------------------------------------------------------------------------*/ -#ifndef functionObjects_volRegion_H -#define functionObjects_volRegion_H +#ifndef functionObjects_volFieldValue_H +#define functionObjects_volFieldValue_H #include "fieldValue.H" #include "NamedEnum.H" @@ -120,10 +120,10 @@ namespace fieldValues { /*---------------------------------------------------------------------------*\ - Class volRegion Declaration + Class volFieldValue Declaration \*---------------------------------------------------------------------------*/ -class volRegion +class volFieldValue : public fieldValue { @@ -173,7 +173,7 @@ private: //- Set cells to evaluate based on a patch void setPatchCells(); - //- Calculate and return volume of the volRegion: sum(V) + //- Calculate and return volume of the volFieldValue: sum(V) scalar volume() const; @@ -196,10 +196,10 @@ protected: //- Weight field name - only used for opWeightedAverage mode word weightFieldName_; - //- Volume of the volRegion + //- Volume of the volFieldValue scalar volume_; - //- Optionally write the volume of the volRegion + //- Optionally write the volume of the volFieldValue bool writeVolume_; @@ -236,13 +236,13 @@ protected: public: //- Run-time type information - TypeName("volRegion"); + TypeName("volFieldValue"); // Constructors //- Construct from name, Time and dictionary - volRegion + volFieldValue ( const word& name, const Time& runTime, @@ -250,7 +250,7 @@ public: ); //- Construct from name, objectRegistry and dictionary - volRegion + volFieldValue ( const word& name, const objectRegistry& obr, @@ -259,7 +259,7 @@ public: //- Destructor - virtual ~volRegion(); + virtual ~volFieldValue(); // Public Member Functions @@ -294,12 +294,12 @@ public: // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#include "volRegionI.H" +#include "volFieldValueI.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // #ifdef NoRepository - #include "volRegionTemplates.C" + #include "volFieldValueTemplates.C" #endif // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/functionObjects/field/fieldValues/volFieldValue/volFieldValueI.H b/src/functionObjects/field/fieldValues/volFieldValue/volFieldValueI.H new file mode 100644 index 0000000000000000000000000000000000000000..076e3e232a8c17e21cc0aa66b7916194ca3db16d --- /dev/null +++ b/src/functionObjects/field/fieldValues/volFieldValue/volFieldValueI.H @@ -0,0 +1,44 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. + +\*---------------------------------------------------------------------------*/ + +#include "volFieldValue.H" + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +inline const Foam::functionObjects::fieldValues::volFieldValue::regionTypes& +Foam::functionObjects::fieldValues::volFieldValue::regionType() const +{ + return regionType_; +} + + +inline const Foam::labelList& +Foam::functionObjects::fieldValues::volFieldValue::cellId() const +{ + return cellId_; +} + + +// ************************************************************************* // diff --git a/src/functionObjects/field/fieldValues/volRegion/volRegionTemplates.C b/src/functionObjects/field/fieldValues/volFieldValue/volFieldValueTemplates.C similarity index 93% rename from src/functionObjects/field/fieldValues/volRegion/volRegionTemplates.C rename to src/functionObjects/field/fieldValues/volFieldValue/volFieldValueTemplates.C index 9610ae520f83047d96b90955ebeea7eadf6822f5..e54c7b6bda3573cc7beab8c91851c7c3e3b7e0d5 100644 --- a/src/functionObjects/field/fieldValues/volRegion/volRegionTemplates.C +++ b/src/functionObjects/field/fieldValues/volFieldValue/volFieldValueTemplates.C @@ -23,13 +23,13 @@ License \*---------------------------------------------------------------------------*/ -#include "volRegion.H" +#include "volFieldValue.H" #include "volFields.H" // * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * // template<class Type> -bool Foam::functionObjects::fieldValues::volRegion::validField +bool Foam::functionObjects::fieldValues::volFieldValue::validField ( const word& fieldName ) const @@ -47,7 +47,7 @@ bool Foam::functionObjects::fieldValues::volRegion::validField template<class Type> Foam::tmp<Foam::Field<Type>> -Foam::functionObjects::fieldValues::volRegion::setFieldValues +Foam::functionObjects::fieldValues::volFieldValue::setFieldValues ( const word& fieldName, const bool mustGet @@ -72,7 +72,7 @@ Foam::functionObjects::fieldValues::volRegion::setFieldValues template<class Type> -Type Foam::functionObjects::fieldValues::volRegion::processValues +Type Foam::functionObjects::fieldValues::volFieldValue::processValues ( const Field<Type>& values, const scalarField& V, @@ -155,7 +155,7 @@ Type Foam::functionObjects::fieldValues::volRegion::processValues // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // template<class Type> -bool Foam::functionObjects::fieldValues::volRegion::writeValues +bool Foam::functionObjects::fieldValues::volFieldValue::writeValues ( const word& fieldName ) @@ -217,7 +217,7 @@ bool Foam::functionObjects::fieldValues::volRegion::writeValues template<class Type> Foam::tmp<Foam::Field<Type>> -Foam::functionObjects::fieldValues::volRegion::filterField +Foam::functionObjects::fieldValues::volFieldValue::filterField ( const Field<Type>& field ) const diff --git a/src/functionObjects/field/regionSizeDistribution/regionSizeDistribution.C b/src/functionObjects/field/regionSizeDistribution/regionSizeDistribution.C index 256afd65343c7b7f38c5fd22118567a9d0e3fbad..e4280a2e4222e4443d436ede0dca78cdaccc2525 100644 --- a/src/functionObjects/field/regionSizeDistribution/regionSizeDistribution.C +++ b/src/functionObjects/field/regionSizeDistribution/regionSizeDistribution.C @@ -713,7 +713,7 @@ bool Foam::functionObjects::regionSizeDistribution::write() writeGraph(coords, "count", binCount); } - // Write to screen + // Write to log { Info<< " Bins:" << endl; Info<< " " << token::TAB << "Bin"