diff --git a/applications/utilities/postProcessing/turbulence/R/Make/files b/applications/utilities/postProcessing/turbulence/R/Make/files
deleted file mode 100644
index 2190c62f46..0000000000
--- 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 accfb3afd5..0000000000
--- 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 490ae2eeb9..0000000000
--- 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 .
-
-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 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 pThermo(fluidThermo::New(mesh));
- fluidThermo& thermo = pThermo();
-
- autoPtr 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 37dce5e289..0000000000
--- 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 .
-
-\*---------------------------------------------------------------------------*/
-
-#include "turbulentIntensityKineticEnergyInletFvPatchSymmTensorField.H"
-#include "addToRunTimeSelectionTable.H"
-#include "volFields.H"
-
-// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
-
-Foam::turbulentIntensityKineticEnergyInletFvPatchSymmTensorField::
-turbulentIntensityKineticEnergyInletFvPatchSymmTensorField
-(
- const fvPatch& p,
- const DimensionedField& iF
-)
-:
- fixedValueFvPatchSymmTensorField(p, iF)
-{}
-
-
-Foam::turbulentIntensityKineticEnergyInletFvPatchSymmTensorField::
-turbulentIntensityKineticEnergyInletFvPatchSymmTensorField
-(
- const turbulentIntensityKineticEnergyInletFvPatchSymmTensorField& ptf,
- const fvPatch& p,
- const DimensionedField& iF,
- const fvPatchFieldMapper& mapper
-)
-:
- fixedValueFvPatchSymmTensorField(ptf, p, iF, mapper)
-{}
-
-
-Foam::turbulentIntensityKineticEnergyInletFvPatchSymmTensorField::
-turbulentIntensityKineticEnergyInletFvPatchSymmTensorField
-(
- const fvPatch& p,
- const DimensionedField& 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& 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 4f3fc8046f..0000000000
--- 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 .
-
-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&
- );
-
- //- Construct from patch, internal field and dictionary
- turbulentIntensityKineticEnergyInletFvPatchSymmTensorField
- (
- const fvPatch&,
- const DimensionedField&,
- const dictionary&
- );
-
- //- Construct by mapping given
- // turbulentIntensityKineticEnergyInletFvPatchSymmTensorField
- // onto a new patch
- turbulentIntensityKineticEnergyInletFvPatchSymmTensorField
- (
- const turbulentIntensityKineticEnergyInletFvPatchSymmTensorField&,
- const fvPatch&,
- const DimensionedField&,
- const fvPatchFieldMapper&
- );
-
- //- Construct as copy
- turbulentIntensityKineticEnergyInletFvPatchSymmTensorField
- (
- const turbulentIntensityKineticEnergyInletFvPatchSymmTensorField&
- );
-
- //- Construct and return a clone
- virtual tmp clone() const
- {
- return tmp
- (
- new turbulentIntensityKineticEnergyInletFvPatchSymmTensorField
- (
- *this
- )
- );
- }
-
- //- Construct as copy setting internal field reference
- turbulentIntensityKineticEnergyInletFvPatchSymmTensorField
- (
- const turbulentIntensityKineticEnergyInletFvPatchSymmTensorField&,
- const DimensionedField&
- );
-
- //- Construct and return a clone setting internal field reference
- virtual tmp clone
- (
- const DimensionedField& iF
- ) const
- {
- return tmp
- (
- 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 0000000000..ff6b4704c6
--- /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 0000000000..e7c63b3dec
--- /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 15671440ed..20733ba273 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(modelName)
- && !obr_.foundObject(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 5ea80124ec..064664a17e 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
(