From 6a03830b05189424ccf2b923386ba8d87f7026d8 Mon Sep 17 00:00:00 2001 From: Henry Weller <http://cfd.direct> Date: Thu, 9 Jun 2016 16:28:30 +0100 Subject: [PATCH] R: utility replaced by functionObject used with the '-postProcess' option --- .../postProcessing/turbulence/R/Make/files | 4 - .../postProcessing/turbulence/R/Make/options | 23 --- .../utilities/postProcessing/turbulence/R/R.C | 169 ------------------ ...KineticEnergyInletFvPatchSymmTensorField.C | 115 ------------ ...KineticEnergyInletFvPatchSymmTensorField.H | 148 --------------- bin/R | 1 + etc/caseDicts/postProcessing/fields/R | 20 +++ .../field/turbulenceFields/turbulenceFields.C | 17 +- .../field/turbulenceFields/turbulenceFields.H | 2 +- 9 files changed, 28 insertions(+), 471 deletions(-) delete mode 100644 applications/utilities/postProcessing/turbulence/R/Make/files delete mode 100644 applications/utilities/postProcessing/turbulence/R/Make/options delete mode 100644 applications/utilities/postProcessing/turbulence/R/R.C delete mode 100644 applications/utilities/postProcessing/turbulence/R/compatibilityFvPatchFields/turbulentIntensityKineticEnergyInlet/turbulentIntensityKineticEnergyInletFvPatchSymmTensorField.C delete mode 100644 applications/utilities/postProcessing/turbulence/R/compatibilityFvPatchFields/turbulentIntensityKineticEnergyInlet/turbulentIntensityKineticEnergyInletFvPatchSymmTensorField.H create mode 120000 bin/R create mode 100644 etc/caseDicts/postProcessing/fields/R diff --git a/applications/utilities/postProcessing/turbulence/R/Make/files b/applications/utilities/postProcessing/turbulence/R/Make/files deleted file mode 100644 index 2190c62f464..00000000000 --- a/applications/utilities/postProcessing/turbulence/R/Make/files +++ /dev/null @@ -1,4 +0,0 @@ -R.C -compatibilityFvPatchFields/turbulentIntensityKineticEnergyInlet/turbulentIntensityKineticEnergyInletFvPatchSymmTensorField.C - -EXE = $(FOAM_APPBIN)/R diff --git a/applications/utilities/postProcessing/turbulence/R/Make/options b/applications/utilities/postProcessing/turbulence/R/Make/options deleted file mode 100644 index accfb3afd5b..00000000000 --- a/applications/utilities/postProcessing/turbulence/R/Make/options +++ /dev/null @@ -1,23 +0,0 @@ -EXE_INC = \ - -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \ - -I$(LIB_SRC)/TurbulenceModels/incompressible/lnInclude \ - -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \ - -I$(LIB_SRC)/transportModels \ - -I$(LIB_SRC)/transportModels/compressible/lnInclude \ - -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ - -I$(LIB_SRC)/finiteVolume/lnInclude \ - -I$(LIB_SRC)/meshTools/lnInclude - -EXE_LIBS = \ - -lturbulenceModels \ - -lincompressibleTurbulenceModels \ - -lcompressibleTurbulenceModels \ - -lincompressibleTransportModels \ - -lcompressibleTransportModels \ - -lfluidThermophysicalModels \ - -lspecie \ - -lfiniteVolume \ - -lfvOptions \ - -lgenericPatchFields \ - -lmeshTools \ - -lsampling diff --git a/applications/utilities/postProcessing/turbulence/R/R.C b/applications/utilities/postProcessing/turbulence/R/R.C deleted file mode 100644 index 490ae2eeb9b..00000000000 --- a/applications/utilities/postProcessing/turbulence/R/R.C +++ /dev/null @@ -1,169 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2011-2015 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/>. - -Application - R - -Description - Calculates and writes the Reynolds stress R for the current time step. - - Compressible modes is automatically selected based on the existence of the - "thermophysicalProperties" dictionary required to construct the - thermodynamics package. - -\*---------------------------------------------------------------------------*/ - -#include "fvCFD.H" -#include "turbulentTransportModel.H" -#include "turbulentFluidThermoModel.H" -#include "incompressible/singlePhaseTransportModel/singlePhaseTransportModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -void calcIncompressibleR -( - const fvMesh& mesh, - const Time& runTime, - const volVectorField& U -) -{ - #include "createPhi.H" - - singlePhaseTransportModel laminarTransport(U, phi); - - autoPtr<incompressible::turbulenceModel> model - ( - incompressible::turbulenceModel::New(U, phi, laminarTransport) - ); - - Info<< "Writing R field" << nl << endl; - - model->R()().write(); -} - - -void calcCompressibleR -( - const fvMesh& mesh, - const Time& runTime, - const volVectorField& U -) -{ - IOobject rhoHeader - ( - "rho", - runTime.timeName(), - mesh, - IOobject::MUST_READ, - IOobject::NO_WRITE - ); - - if (!rhoHeader.headerOk()) - { - Info<< " no " << rhoHeader.name() <<" field" << endl; - return; - } - - Info<< "Reading field rho\n" << endl; - volScalarField rho(rhoHeader, mesh); - - #include "compressibleCreatePhi.H" - - autoPtr<fluidThermo> pThermo(fluidThermo::New(mesh)); - fluidThermo& thermo = pThermo(); - - autoPtr<compressible::turbulenceModel> model - ( - compressible::turbulenceModel::New - ( - rho, - U, - phi, - thermo - ) - ); - - Info<< "Writing R field" << nl << endl; - - model->R()().write(); -} - - -int main(int argc, char *argv[]) -{ - timeSelector::addOptions(); - #include "addRegionOption.H" - #include "setRootCase.H" - #include "createTime.H" - instantList timeDirs = timeSelector::select0(runTime, args); - #include "createNamedMesh.H" - - forAll(timeDirs, timeI) - { - runTime.setTime(timeDirs[timeI], timeI); - Info<< "Time = " << runTime.timeName() << endl; - - IOobject UHeader - ( - "U", - runTime.timeName(), - mesh, - IOobject::MUST_READ, - IOobject::NO_WRITE - ); - - if (UHeader.headerOk()) - { - Info<< "Reading field " << UHeader.name() << nl << endl; - volVectorField U(UHeader, mesh); - - if - ( - IOobject - ( - basicThermo::dictName, - runTime.constant(), - mesh - ).headerOk() - ) - { - calcCompressibleR(mesh, runTime, U); - } - else - { - calcIncompressibleR(mesh, runTime, U); - } - } - else - { - Info<< " no " << UHeader.name() << " field" << endl; - } - } - - Info<< "End\n" << endl; - - return 0; -} - - -// ************************************************************************* // diff --git a/applications/utilities/postProcessing/turbulence/R/compatibilityFvPatchFields/turbulentIntensityKineticEnergyInlet/turbulentIntensityKineticEnergyInletFvPatchSymmTensorField.C b/applications/utilities/postProcessing/turbulence/R/compatibilityFvPatchFields/turbulentIntensityKineticEnergyInlet/turbulentIntensityKineticEnergyInletFvPatchSymmTensorField.C deleted file mode 100644 index 37dce5e2894..00000000000 --- a/applications/utilities/postProcessing/turbulence/R/compatibilityFvPatchFields/turbulentIntensityKineticEnergyInlet/turbulentIntensityKineticEnergyInletFvPatchSymmTensorField.C +++ /dev/null @@ -1,115 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2012 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 "turbulentIntensityKineticEnergyInletFvPatchSymmTensorField.H" -#include "addToRunTimeSelectionTable.H" -#include "volFields.H" - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::turbulentIntensityKineticEnergyInletFvPatchSymmTensorField:: -turbulentIntensityKineticEnergyInletFvPatchSymmTensorField -( - const fvPatch& p, - const DimensionedField<symmTensor, volMesh>& iF -) -: - fixedValueFvPatchSymmTensorField(p, iF) -{} - - -Foam::turbulentIntensityKineticEnergyInletFvPatchSymmTensorField:: -turbulentIntensityKineticEnergyInletFvPatchSymmTensorField -( - const turbulentIntensityKineticEnergyInletFvPatchSymmTensorField& ptf, - const fvPatch& p, - const DimensionedField<symmTensor, volMesh>& iF, - const fvPatchFieldMapper& mapper -) -: - fixedValueFvPatchSymmTensorField(ptf, p, iF, mapper) -{} - - -Foam::turbulentIntensityKineticEnergyInletFvPatchSymmTensorField:: -turbulentIntensityKineticEnergyInletFvPatchSymmTensorField -( - const fvPatch& p, - const DimensionedField<symmTensor, volMesh>& iF, - const dictionary& dict -) -: - fixedValueFvPatchSymmTensorField(p, iF) -{ - - fvPatchSymmTensorField::operator=(symmTensorField("value", dict, p.size())); -} - - -Foam::turbulentIntensityKineticEnergyInletFvPatchSymmTensorField:: -turbulentIntensityKineticEnergyInletFvPatchSymmTensorField -( - const turbulentIntensityKineticEnergyInletFvPatchSymmTensorField& ptf -) -: - fixedValueFvPatchSymmTensorField(ptf) -{} - - -Foam::turbulentIntensityKineticEnergyInletFvPatchSymmTensorField:: -turbulentIntensityKineticEnergyInletFvPatchSymmTensorField -( - const turbulentIntensityKineticEnergyInletFvPatchSymmTensorField& ptf, - const DimensionedField<symmTensor, volMesh>& iF -) -: - fixedValueFvPatchSymmTensorField(ptf, iF) -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -void Foam::turbulentIntensityKineticEnergyInletFvPatchSymmTensorField::write -( - Ostream& os -) const -{ - fvPatchSymmTensorField::write(os); - writeEntry("value", os); -} - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - makePatchTypeField - ( - fvPatchSymmTensorField, - turbulentIntensityKineticEnergyInletFvPatchSymmTensorField - ); -} - -// ************************************************************************* // diff --git a/applications/utilities/postProcessing/turbulence/R/compatibilityFvPatchFields/turbulentIntensityKineticEnergyInlet/turbulentIntensityKineticEnergyInletFvPatchSymmTensorField.H b/applications/utilities/postProcessing/turbulence/R/compatibilityFvPatchFields/turbulentIntensityKineticEnergyInlet/turbulentIntensityKineticEnergyInletFvPatchSymmTensorField.H deleted file mode 100644 index 4f3fc8046fb..00000000000 --- a/applications/utilities/postProcessing/turbulence/R/compatibilityFvPatchFields/turbulentIntensityKineticEnergyInlet/turbulentIntensityKineticEnergyInletFvPatchSymmTensorField.H +++ /dev/null @@ -1,148 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2012 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::turbulentIntensityKineticEnergyInletFvPatchSymmTensorField - -Description - Dummy version of turbulentIntensityKineticEnergyInlet patch type for - symmetric tensors provided for compatibility with R utility. - - Value is given by a fixed-value condition. - - -SourceFiles - turbulentIntensityKineticEnergyInletFvPatchSymmTensorField.C - -\*---------------------------------------------------------------------------*/ - -#ifndef turbulentIntensityKineticEnergyInletFvPatchSymmTensorField_H -#define turbulentIntensityKineticEnergyInletFvPatchSymmTensorField_H - -#include "fixedValueFvPatchFields.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -/*---------------------------------------------------------------------------*\ - Class turbulentIntensityKineticEnergyInletFvPatchSymmTensorField Declaration -\*---------------------------------------------------------------------------*/ - -class turbulentIntensityKineticEnergyInletFvPatchSymmTensorField -: - public fixedValueFvPatchSymmTensorField -{ -public: - - //- Runtime type information - TypeName("turbulentIntensityKineticEnergyInlet"); - - - // Constructors - - //- Construct from patch and internal field - turbulentIntensityKineticEnergyInletFvPatchSymmTensorField - ( - const fvPatch&, - const DimensionedField<symmTensor, volMesh>& - ); - - //- Construct from patch, internal field and dictionary - turbulentIntensityKineticEnergyInletFvPatchSymmTensorField - ( - const fvPatch&, - const DimensionedField<symmTensor, volMesh>&, - const dictionary& - ); - - //- Construct by mapping given - // turbulentIntensityKineticEnergyInletFvPatchSymmTensorField - // onto a new patch - turbulentIntensityKineticEnergyInletFvPatchSymmTensorField - ( - const turbulentIntensityKineticEnergyInletFvPatchSymmTensorField&, - const fvPatch&, - const DimensionedField<symmTensor, volMesh>&, - const fvPatchFieldMapper& - ); - - //- Construct as copy - turbulentIntensityKineticEnergyInletFvPatchSymmTensorField - ( - const turbulentIntensityKineticEnergyInletFvPatchSymmTensorField& - ); - - //- Construct and return a clone - virtual tmp<fvPatchSymmTensorField> clone() const - { - return tmp<fvPatchSymmTensorField> - ( - new turbulentIntensityKineticEnergyInletFvPatchSymmTensorField - ( - *this - ) - ); - } - - //- Construct as copy setting internal field reference - turbulentIntensityKineticEnergyInletFvPatchSymmTensorField - ( - const turbulentIntensityKineticEnergyInletFvPatchSymmTensorField&, - const DimensionedField<symmTensor, volMesh>& - ); - - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchSymmTensorField> clone - ( - const DimensionedField<symmTensor, volMesh>& iF - ) const - { - return tmp<fvPatchSymmTensorField> - ( - new turbulentIntensityKineticEnergyInletFvPatchSymmTensorField - ( - *this, - iF - ) - ); - } - - - // Member functions - - //- Write - virtual void write(Ostream&) const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/bin/R b/bin/R new file mode 120000 index 00000000000..ff6b4704c67 --- /dev/null +++ b/bin/R @@ -0,0 +1 @@ +supercededByPostProcessOption \ No newline at end of file diff --git a/etc/caseDicts/postProcessing/fields/R b/etc/caseDicts/postProcessing/fields/R new file mode 100644 index 00000000000..e7c63b3dec6 --- /dev/null +++ b/etc/caseDicts/postProcessing/fields/R @@ -0,0 +1,20 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ + +R +{ + type turbulenceFields; + libs ("libfieldFunctionObjects.so"); + + fields (R); + + executeControl writeTime; + writeControl writeTime; +} + +// ************************************************************************* // diff --git a/src/functionObjects/field/turbulenceFields/turbulenceFields.C b/src/functionObjects/field/turbulenceFields/turbulenceFields.C index 15671440ed7..20733ba273f 100644 --- a/src/functionObjects/field/turbulenceFields/turbulenceFields.C +++ b/src/functionObjects/field/turbulenceFields/turbulenceFields.C @@ -130,17 +130,6 @@ Foam::functionObjects::turbulenceFields::turbulenceFields fvMeshFunctionObject(name, runTime, dict), fieldSet_() { - if - ( - !obr_.foundObject<compressible::turbulenceModel>(modelName) - && !obr_.foundObject<incompressible::turbulenceModel>(modelName) - ) - { - FatalErrorInFunction - << "Cannot find turbulenceModel in objectRegistry" - << exit(FatalError); - } - read(dict); } @@ -293,6 +282,12 @@ bool Foam::functionObjects::turbulenceFields::execute(const bool postProcess) bool Foam::functionObjects::turbulenceFields::write(const bool postProcess) { + forAllConstIter(wordHashSet, fieldSet_, iter) + { + const word fieldName = modelName + ':' + iter.key(); + writeObject(fieldName); + } + return true; } diff --git a/src/functionObjects/field/turbulenceFields/turbulenceFields.H b/src/functionObjects/field/turbulenceFields/turbulenceFields.H index 5ea80124eca..064664a17e2 100644 --- a/src/functionObjects/field/turbulenceFields/turbulenceFields.H +++ b/src/functionObjects/field/turbulenceFields/turbulenceFields.H @@ -43,7 +43,7 @@ Description turbulenceFields1 { type turbulenceFields; - libs ("libutilityFunctionObjects.so"); + libs ("libfieldFunctionObjects.so"); ... fields ( -- GitLab