diff --git a/src/postProcessing/functionObjects/Allwmake b/src/postProcessing/functionObjects/Allwmake index b068fe51cb..6c642dfe7b 100755 --- a/src/postProcessing/functionObjects/Allwmake +++ b/src/postProcessing/functionObjects/Allwmake @@ -7,6 +7,5 @@ wmake libso forces wmake libso IO wmake libso utilities wmake libso systemCall -wmake libso zones # ----------------------------------------------------------------- end-of-file diff --git a/src/postProcessing/functionObjects/zones/Make/files b/src/postProcessing/functionObjects/zones/Make/files deleted file mode 100644 index 90e33f7524..0000000000 --- a/src/postProcessing/functionObjects/zones/Make/files +++ /dev/null @@ -1,4 +0,0 @@ -faceZoneIntegration/faceZonesIntegration.C -faceZoneIntegration/faceZonesIntegrationFunctionObject.C - -LIB = $(FOAM_LIBBIN)/libzoneFunctionObjects diff --git a/src/postProcessing/functionObjects/zones/Make/options b/src/postProcessing/functionObjects/zones/Make/options deleted file mode 100644 index 5166bcc9e3..0000000000 --- a/src/postProcessing/functionObjects/zones/Make/options +++ /dev/null @@ -1,9 +0,0 @@ -EXE_INC = \ - -I$(LIB_SRC)/finiteVolume/lnInclude \ - -I$(LIB_SRC)/meshTools/lnInclude \ - -I$(LIB_SRC)/sampling/lnInclude - -LIB_LIBS = \ - -lfiniteVolume \ - -lmeshTools \ - -lsampling diff --git a/src/postProcessing/functionObjects/zones/faceZoneIntegration/IOfaceZonesIntegration.H b/src/postProcessing/functionObjects/zones/faceZoneIntegration/IOfaceZonesIntegration.H deleted file mode 100644 index ef1ecbf004..0000000000 --- a/src/postProcessing/functionObjects/zones/faceZoneIntegration/IOfaceZonesIntegration.H +++ /dev/null @@ -1,50 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2009-2009 OpenCFD Ltd. - \\/ 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 2 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, write to the Free Software Foundation, - Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - -Typedef - Foam::IOfaceZonesIntegration - -Description - Instance of the generic IOOutputFilter for faceZonesIntegration. - -\*---------------------------------------------------------------------------*/ - -#ifndef IOfaceZonesIntegration_H -#define IOfaceZonesIntegration_H - -#include "faceZonesIntegration.H" -#include "IOOutputFilter.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - typedef IOOutputFilter IOfaceZonesIntegration; -} - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/src/postProcessing/functionObjects/zones/faceZoneIntegration/faceZonesIntegration.C b/src/postProcessing/functionObjects/zones/faceZoneIntegration/faceZonesIntegration.C deleted file mode 100644 index 2899224d29..0000000000 --- a/src/postProcessing/functionObjects/zones/faceZoneIntegration/faceZonesIntegration.C +++ /dev/null @@ -1,330 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2009-2009 OpenCFD Ltd. - \\/ 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 2 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, write to the Free Software Foundation, - Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - -\*---------------------------------------------------------------------------*/ - -#include "faceZonesIntegration.H" -#include "volFields.H" -#include "dictionary.H" -#include "Time.H" -#include "IOmanip.H" -#include "ListListOps.H" -#include "processorPolyPatch.H" -#include "cyclicPolyPatch.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ - defineTypeNameAndDebug(faceZonesIntegration, 0); -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::faceZonesIntegration::faceZonesIntegration -( - const word& name, - const objectRegistry& obr, - const dictionary& dict, - const bool loadFromFiles -) -: - name_(name), - obr_(obr), - active_(true), - log_(false), - zoneNames_(), - fieldNames_(), - filePtr_(NULL) -{ - // Check if the available mesh is an fvMesh otherise deactivate - if (!isA(obr_)) - { - active_ = false; - WarningIn - ( - "Foam::faceZonesIntegration::faceZonesIntegration" - "(" - "const word&, " - "const objectRegistry&, " - "const dictionary&, " - "const bool" - ")" - ) << "No fvMesh available, deactivating." - << endl; - } - - read(dict); -} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::faceZonesIntegration::~faceZonesIntegration() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -void Foam::faceZonesIntegration::read(const dictionary& dict) -{ - if (active_) - { - log_ = dict.lookupOrDefault("log", false); - - dict.lookup("fields") >> fieldNames_; - - dict.lookup("faceZones") >> zoneNames_; - } -} - - -void Foam::faceZonesIntegration::makeFile() -{ - // Create the face Zone file if not already created - if (filePtr_.empty()) - { - if (debug) - { - Info<< "Creating faceZonesIntegration file." << endl; - } - - // File update - if (Pstream::master()) - { - fileName faceZonesIntegrationDir; - if (Pstream::parRun()) - { - // Put in undecomposed case (Note: gives problems for - // distributed data running) - faceZonesIntegrationDir = - obr_.time().path()/".."/name_/obr_.time().timeName(); - } - else - { - faceZonesIntegrationDir = - obr_.time().path()/name_/obr_.time().timeName(); - } - - // Create directory if does not exist. - mkDir(faceZonesIntegrationDir); - - // Open new file at start up - filePtr_.resize(fieldNames_.size()); - - forAll(fieldNames_, fieldI) - { - const word& fieldName = fieldNames_[fieldI]; - - OFstream* sPtr = new OFstream - ( - faceZonesIntegrationDir/fieldName - ); - - filePtr_.insert(fieldName, sPtr); - } - - // Add headers to output data - writeFileHeader(); - } - } -} - - -void Foam::faceZonesIntegration::writeFileHeader() -{ - forAllIter(HashPtrTable, filePtr_, iter) - { - unsigned int w = IOstream::defaultPrecision() + 7; - - OFstream& os = *filePtr_[iter.key()]; - - os << "#Time " << setw(w); - - forAll (zoneNames_, zoneI) - { - os << zoneNames_[zoneI] << setw(w); - } - - os << nl << endl; - } -} - - -void Foam::faceZonesIntegration::execute() -{ - // Do nothing - only valid on write -} - - -void Foam::faceZonesIntegration::end() -{ - // Do nothing - only valid on write -} - - -void Foam::faceZonesIntegration::write() -{ - if (active_) - { - makeFile(); - - forAll(fieldNames_, fieldI) - { - const word& fieldName = fieldNames_[fieldI]; - - const surfaceScalarField& sField = - obr_.lookupObject(fieldName); - - const fvMesh& mesh = sField.mesh(); - - // 1. integrate over all face zones - - scalarField integralVals(zoneNames_.size()); - - forAll(integralVals, zoneI) - { - const word& name = zoneNames_[zoneI]; - - label zoneID = mesh.faceZones().findZoneID(name); - - const faceZone& fZone = mesh.faceZones()[zoneID]; - - integralVals[zoneI] = returnReduce - ( - calcIntegral(sField, fZone), - sumOp() - ); - } - - - unsigned int w = IOstream::defaultPrecision() + 7; - - // 2. Write only on master - - if (Pstream::master() && filePtr_.found(fieldName)) - { - OFstream& os = *filePtr_(fieldName); - - os << obr_.time().value(); - - forAll(integralVals, zoneI) - { - os << ' ' << setw(w) << integralVals[zoneI]; - - if (log_) - { - Info<< "faceZonesIntegration output:" << nl - << " Integration[" << zoneI << "] " - << integralVals[zoneI] << endl; - } - } - - os << endl; - } - } - } -} - - -Foam::scalar Foam::faceZonesIntegration::calcIntegral -( - const surfaceScalarField& sField, - const faceZone& fZone -) const -{ - scalar sum = 0.0; - const fvMesh& mesh = sField.mesh(); - - forAll (fZone, i) - { - label faceI = fZone[i]; - - if (mesh.isInternalFace(faceI)) - { - if (fZone.flipMap()[i]) - { - sum -= sField[faceI]; - } - else - { - sum += sField[faceI]; - } - } - else - { - label patchI = mesh.boundaryMesh().whichPatch(faceI); - const polyPatch& pp = mesh.boundaryMesh()[patchI]; - const fvsPatchScalarField& bField = sField.boundaryField()[patchI]; - if (isA(pp)) - { - if (refCast(pp).owner()) - { - label patchFaceI = pp.whichFace(faceI); - if (fZone.flipMap()[i]) - { - sum -= bField[patchFaceI]; - } - else - { - sum += bField[patchFaceI]; - } - } - } - else if (isA(pp)) - { - label patchFaceI = faceI - pp.start(); - if (patchFaceI < pp.size()/2) - { - if (fZone.flipMap()[i]) - { - sum -= bField[patchFaceI]; - } - else - { - sum += bField[patchFaceI]; - } - } - } - else if (!isA(pp)) - { - label patchFaceI = faceI - pp.start(); - if (fZone.flipMap()[i]) - { - sum -= bField[patchFaceI]; - } - else - { - sum += bField[patchFaceI]; - } - } - } - } - - return sum; -} - - -// ************************************************************************* // diff --git a/src/postProcessing/functionObjects/zones/faceZoneIntegration/faceZonesIntegration.H b/src/postProcessing/functionObjects/zones/faceZoneIntegration/faceZonesIntegration.H deleted file mode 100644 index d1a1bacfd2..0000000000 --- a/src/postProcessing/functionObjects/zones/faceZoneIntegration/faceZonesIntegration.H +++ /dev/null @@ -1,180 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2009-2009 OpenCFD Ltd. - \\/ 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 2 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, write to the Free Software Foundation, - Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - -Class - Foam::faceZonesIntegration - -Description - Integrates surfaceScalarFields on faceZones - -SourceFiles - faceZonesIntegration.C - IOfaceZonesIntegration.H - -\*---------------------------------------------------------------------------*/ - -#ifndef faceZonesIntegration_H -#define faceZonesIntegration_H - -#include "fvCFD.H" -#include "primitiveFieldsFwd.H" -#include "volFieldsFwd.H" -#include "HashPtrTable.H" -#include "OFstream.H" -#include "Switch.H" -#include "pointFieldFwd.H" -#include "polyMesh.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -// Forward declaration of classes -class objectRegistry; -class dictionary; -class mapPolyMesh; - -/*---------------------------------------------------------------------------*\ - Class faceZonesIntegration Declaration -\*---------------------------------------------------------------------------*/ - -class faceZonesIntegration -{ - -protected: - - // Protected data - - //- Name of this set of face zone integration, - // Also used as the name of the output directory. - word name_; - - const objectRegistry& obr_; - - - // Read from dictionary - - //- On/off switch - bool active_; - - //- Switch to send output to Info as well as to file - Switch log_; - - //- List of face zone names to integrate over - wordList zoneNames_; - - //- Names of the surface fields - wordList fieldNames_; - - - //- Current open files - HashPtrTable filePtr_; - - - - // Protected Member Functions - - //- If the integration file has not been created create it - void makeFile(); - - scalar calcIntegral - ( - const surfaceScalarField& sField, - const faceZone& fZone - ) const; - - - //- Disallow default bitwise copy construct - faceZonesIntegration(const faceZonesIntegration&); - - //- Disallow default bitwise assignment - void operator=(const faceZonesIntegration&); - - //- Output file header information - virtual void writeFileHeader(); - - -public: - - //- Runtime type information - TypeName("faceZonesIntegration"); - - - // Constructors - - //- Construct for given objectRegistry and dictionary. - // Allow the possibility to load fields from files - faceZonesIntegration - ( - const word& name, - const objectRegistry&, - const dictionary&, - const bool loadFromFiles = false - ); - - - //- Destructor - virtual ~faceZonesIntegration(); - - - // Member Functions - - //- Return name of the set of zones - virtual const word& name() const - { - return name_; - }; - - //- Read the zone integration data - virtual void read(const dictionary&); - - //- Execute, currently does nothing - virtual void execute(); - - //- Execute at the final time-loop, currently does nothing - virtual void end(); - - //- Write the integration - virtual void write(); - - //- Update for changes of mesh - virtual void updateMesh(const mapPolyMesh&) - {} - - //- Update for changes of mesh - virtual void movePoints(const pointField&) - {} -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/src/postProcessing/functionObjects/zones/faceZoneIntegration/faceZonesIntegrationFunctionObject.C b/src/postProcessing/functionObjects/zones/faceZoneIntegration/faceZonesIntegrationFunctionObject.C deleted file mode 100644 index 43665119b1..0000000000 --- a/src/postProcessing/functionObjects/zones/faceZoneIntegration/faceZonesIntegrationFunctionObject.C +++ /dev/null @@ -1,43 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2009-2009 OpenCFD Ltd. - \\/ 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 2 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, write to the Free Software Foundation, - Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - -\*---------------------------------------------------------------------------*/ - -#include "faceZonesIntegrationFunctionObject.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ - defineNamedTemplateTypeNameAndDebug(faceZonesIntegrationFunctionObject, 0); - - addToRunTimeSelectionTable - ( - functionObject, - faceZonesIntegrationFunctionObject, - dictionary - ); -} - -// ************************************************************************* // diff --git a/src/postProcessing/functionObjects/zones/faceZoneIntegration/faceZonesIntegrationFunctionObject.H b/src/postProcessing/functionObjects/zones/faceZoneIntegration/faceZonesIntegrationFunctionObject.H deleted file mode 100644 index 2cc95e2af2..0000000000 --- a/src/postProcessing/functionObjects/zones/faceZoneIntegration/faceZonesIntegrationFunctionObject.H +++ /dev/null @@ -1,55 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2009-2009 OpenCFD Ltd. - \\/ 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 2 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, write to the Free Software Foundation, - Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - -Typedef - Foam::faceZonesIntegrationFunctionObject - -Description - FunctionObject wrapper around faceZonesIntegration to allow them to be - created via the functions list within controlDict. - -SourceFiles - faceZonesIntegrationFunctionObject.C - -\*---------------------------------------------------------------------------*/ - -#ifndef faceZonesIntegrationFunctionObject_H -#define faceZonesIntegrationFunctionObject_H - -#include "faceZonesIntegration.H" -#include "OutputFilterFunctionObject.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - typedef OutputFilterFunctionObject - faceZonesIntegrationFunctionObject; -} - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* //