diff --git a/applications/utilities/postProcessing/dataConversion/foamToVTK/foamToVTK/writeVTK/controlDict b/applications/utilities/postProcessing/dataConversion/foamToVTK/foamToVTK/writeVTK/controlDict index fdb8d149c2..17b7cc49cf 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToVTK/foamToVTK/writeVTK/controlDict +++ b/applications/utilities/postProcessing/dataConversion/foamToVTK/foamToVTK/writeVTK/controlDict @@ -58,16 +58,16 @@ functions functionObjectLibs ("libfoamToVTK.so"); // When to write: - // timeStep (with optional outputInterval) - // outputTime (with optional outputInterval) + // timeStep (with optional writeInterval) + // outputTime (with optional writeInterval) // adjustableTime // runTime // clockTime // cpuTime - outputControl outputTime; + writeControl outputTime; // Write every writeInterval (only valid for timeStemp, outputTime) - outputInterval 1; + writeInterval 1; // Interval of time (valid for adjustableTime, runTime, clockTime, // cpuTime) diff --git a/etc/caseDicts/postProcessing/faceSource/faceSource.cfg b/etc/caseDicts/postProcessing/faceSource/faceSource.cfg index 1132a7a33f..2d540dae09 100644 --- a/etc/caseDicts/postProcessing/faceSource/faceSource.cfg +++ b/etc/caseDicts/postProcessing/faceSource/faceSource.cfg @@ -18,7 +18,7 @@ type faceSource; functionObjectLibs ("libfieldFunctionObjects.so"); enabled true; -outputControl timeStep; +writeControl timeStep; writeInterval 1; valueOutput false; diff --git a/etc/caseDicts/postProcessing/fields/Lambda2.cfg b/etc/caseDicts/postProcessing/fields/Lambda2.cfg index 0722af8f62..7db52b5571 100644 --- a/etc/caseDicts/postProcessing/fields/Lambda2.cfg +++ b/etc/caseDicts/postProcessing/fields/Lambda2.cfg @@ -18,6 +18,6 @@ type Lambda2; functionObjectLibs ("libutilityFunctionObjects.so"); enabled true; -outputControl outputTime; +writeControl outputTime; // ************************************************************************* // diff --git a/etc/caseDicts/postProcessing/fields/Q.cfg b/etc/caseDicts/postProcessing/fields/Q.cfg index 5def0533fb..a1d42b27f4 100644 --- a/etc/caseDicts/postProcessing/fields/Q.cfg +++ b/etc/caseDicts/postProcessing/fields/Q.cfg @@ -18,6 +18,6 @@ type Q; functionObjectLibs ("libutilityFunctionObjects.so"); enabled true; -outputControl outputTime; +writeControl outputTime; // ************************************************************************* // diff --git a/etc/caseDicts/postProcessing/forces/forces.cfg b/etc/caseDicts/postProcessing/forces/forces.cfg index 4d36643c8c..9d78c1d2cb 100644 --- a/etc/caseDicts/postProcessing/forces/forces.cfg +++ b/etc/caseDicts/postProcessing/forces/forces.cfg @@ -18,8 +18,8 @@ type forces; functionObjectLibs ( "libforces.so" ); enabled true; -outputControl timeStep; -outputInterval 1; +writeControl timeStep; +writeInterval 1; pName p; UName U; diff --git a/etc/caseDicts/postProcessing/graphs/graph.cfg b/etc/caseDicts/postProcessing/graphs/graph.cfg index 629aea0f8c..e9de6a2c13 100644 --- a/etc/caseDicts/postProcessing/graphs/graph.cfg +++ b/etc/caseDicts/postProcessing/graphs/graph.cfg @@ -18,7 +18,7 @@ type sets; functionObjectLibs ("libsampling.so"); enabled true; -outputControl outputTime; +writeControl outputTime; sets ( diff --git a/etc/caseDicts/postProcessing/minMax/cellMinMax.cfg b/etc/caseDicts/postProcessing/minMax/cellMinMax.cfg index 53374d6a22..d7de7029c6 100644 --- a/etc/caseDicts/postProcessing/minMax/cellMinMax.cfg +++ b/etc/caseDicts/postProcessing/minMax/cellMinMax.cfg @@ -18,7 +18,7 @@ type cellSource; functionObjectLibs ("libfieldFunctionObjects.so"); enabled true; -outputControl timeStep; +writeControl timeStep; writeInterval 1; valueOutput false; diff --git a/etc/caseDicts/postProcessing/minMax/faceMinMax.cfg b/etc/caseDicts/postProcessing/minMax/faceMinMax.cfg index 620b02cf60..4f6d9f36b2 100644 --- a/etc/caseDicts/postProcessing/minMax/faceMinMax.cfg +++ b/etc/caseDicts/postProcessing/minMax/faceMinMax.cfg @@ -18,7 +18,7 @@ type faceSource; functionObjectLibs ("libfieldFunctionObjects.so"); enabled true; -outputControl timeStep; +writeControl timeStep; writeInterval 1; valueOutput false; diff --git a/etc/caseDicts/postProcessing/minMax/fieldMinMax.cfg b/etc/caseDicts/postProcessing/minMax/fieldMinMax.cfg index 842cbbdf41..93c1a82eae 100644 --- a/etc/caseDicts/postProcessing/minMax/fieldMinMax.cfg +++ b/etc/caseDicts/postProcessing/minMax/fieldMinMax.cfg @@ -18,7 +18,7 @@ type fieldMinMax; functionObjectLibs ("libfieldFunctionObjects.so"); enabled true; -outputControl timeStep; +writeControl timeStep; writeInterval 1; write true; diff --git a/etc/caseDicts/postProcessing/numerical/residuals.cfg b/etc/caseDicts/postProcessing/numerical/residuals.cfg index 844c2810f3..a775830cf5 100644 --- a/etc/caseDicts/postProcessing/numerical/residuals.cfg +++ b/etc/caseDicts/postProcessing/numerical/residuals.cfg @@ -18,7 +18,7 @@ type residuals; functionObjectLibs ("libutilityFunctionObjects.so"); enabled true; -outputControl timeStep; -outputInterval 1; +writeControl timeStep; +writeInterval 1; // ************************************************************************* // diff --git a/etc/caseDicts/postProcessing/pressure/pressureDifference.cfg b/etc/caseDicts/postProcessing/pressure/pressureDifference.cfg index f8b1ef96db..b1f5dfb82c 100644 --- a/etc/caseDicts/postProcessing/pressure/pressureDifference.cfg +++ b/etc/caseDicts/postProcessing/pressure/pressureDifference.cfg @@ -20,7 +20,7 @@ functionObjectLibs ("libfieldFunctionObjects.so"); operation subtract; enabled true; -outputControl timeStep; +writeControl timeStep; writeInterval 1 log false; diff --git a/etc/caseDicts/postProcessing/pressure/pressureTools.cfg b/etc/caseDicts/postProcessing/pressure/pressureTools.cfg index 331875a431..10008b2638 100644 --- a/etc/caseDicts/postProcessing/pressure/pressureTools.cfg +++ b/etc/caseDicts/postProcessing/pressure/pressureTools.cfg @@ -18,7 +18,7 @@ type pressureTools; functionObjectLibs ("libutilityFunctionObjects.so"); enabled true; -outputControl outputTime; +writeControl outputTime; log false; // ************************************************************************* // diff --git a/etc/caseDicts/postProcessing/probes/cloud.cfg b/etc/caseDicts/postProcessing/probes/cloud.cfg index 87cd5e7bd8..1a2a10b744 100644 --- a/etc/caseDicts/postProcessing/probes/cloud.cfg +++ b/etc/caseDicts/postProcessing/probes/cloud.cfg @@ -18,6 +18,6 @@ type sets; functionObjectLibs ("libsampling.so"); enabled true; -outputControl outputTime; +writeControl outputTime; // ************************************************************************* // diff --git a/etc/caseDicts/postProcessing/probes/probes.cfg b/etc/caseDicts/postProcessing/probes/probes.cfg index 462851bd10..5a9b63aaa9 100644 --- a/etc/caseDicts/postProcessing/probes/probes.cfg +++ b/etc/caseDicts/postProcessing/probes/probes.cfg @@ -18,7 +18,7 @@ type probes; functionObjectLibs ("libsampling.so"); enabled true; -outputControl timeStep; -outputInterval 1; +writeControl timeStep; +writeInterval 1; // ************************************************************************* // diff --git a/etc/caseDicts/postProcessing/scalarTransport/scalarTransport.cfg b/etc/caseDicts/postProcessing/scalarTransport/scalarTransport.cfg index 425b921da9..eaeea4073d 100644 --- a/etc/caseDicts/postProcessing/scalarTransport/scalarTransport.cfg +++ b/etc/caseDicts/postProcessing/scalarTransport/scalarTransport.cfg @@ -18,7 +18,7 @@ type scalarTransport; functionObjectLibs ("libutilityFunctionObjects.so"); enabled true; -outputControl timeStep; +writeControl timeStep; writeInterval 1; write true; diff --git a/etc/caseDicts/postProcessing/visualization/streamlines.cfg b/etc/caseDicts/postProcessing/visualization/streamlines.cfg index 8673f72217..6883c570e3 100644 --- a/etc/caseDicts/postProcessing/visualization/streamlines.cfg +++ b/etc/caseDicts/postProcessing/visualization/streamlines.cfg @@ -17,7 +17,7 @@ FoamFile type streamLine; functionObjectLibs ( "libfieldFunctionObjects.so" ); -outputControl outputTime; +writeControl outputTime; setFormat vtk; UName U; diff --git a/etc/caseDicts/postProcessing/visualization/surfaces.cfg b/etc/caseDicts/postProcessing/visualization/surfaces.cfg index cdd1cefc08..a87bd5a4a4 100644 --- a/etc/caseDicts/postProcessing/visualization/surfaces.cfg +++ b/etc/caseDicts/postProcessing/visualization/surfaces.cfg @@ -18,7 +18,7 @@ type surfaces; functionObjectLibs ("libsampling.so"); enabled true; -outputControl outputTime; +writeControl outputTime; surfaceFormat vtk; interpolationScheme cellPoint; diff --git a/etc/templates/axisymmetricJet/system/graph b/etc/templates/axisymmetricJet/system/graph index b8a7cdf2eb..fa17d0cb3b 100644 --- a/etc/templates/axisymmetricJet/system/graph +++ b/etc/templates/axisymmetricJet/system/graph @@ -18,7 +18,7 @@ graph { type sets; functionObjectLibs ("libsampling.so"); - outputControl outputTime; + writeControl outputTime; interpolationScheme cellPointFace; diff --git a/src/OpenFOAM/Make/files b/src/OpenFOAM/Make/files index a24631da12..7fbff70da6 100644 --- a/src/OpenFOAM/Make/files +++ b/src/OpenFOAM/Make/files @@ -218,7 +218,7 @@ db/functionObjects/functionObject/functionObject.C db/functionObjects/functionObjectList/functionObjectList.C db/functionObjects/functionObjectFile/functionObjectFile.C db/functionObjects/functionObjectFiles/functionObjectFiles.C -db/functionObjects/outputFilterOutputControl/outputFilterOutputControl.C +db/functionObjects/outputFilterControl/outputFilterControl.C Time = db/Time diff --git a/src/OpenFOAM/db/functionObjects/OutputFilterFunctionObject/OutputFilterFunctionObject.C b/src/OpenFOAM/db/functionObjects/OutputFilterFunctionObject/OutputFilterFunctionObject.C index acdde24b1f..087de87cb3 100644 --- a/src/OpenFOAM/db/functionObjects/OutputFilterFunctionObject/OutputFilterFunctionObject.C +++ b/src/OpenFOAM/db/functionObjects/OutputFilterFunctionObject/OutputFilterFunctionObject.C @@ -61,19 +61,21 @@ Foam::OutputFilterFunctionObject::OutputFilterFunctionObject functionObject(name), time_(t), dict_(dict), - regionName_(dict.lookupOrDefault("region", polyMesh::defaultRegion)), timeStart_(-VGREAT), timeEnd_(VGREAT), nStepsToStartTimeChange_ ( dict.lookupOrDefault("nStepsToStartTimeChange", 3) ), - outputControl_(t, dict, "output"), + writeControl_(t, dict, "write"), evaluateControl_(t, dict, "evaluate"), filter_ ( name, - time_.lookupObject(regionName_), + time_.lookupObject + ( + dict.lookupOrDefault("region", polyMesh::defaultRegion) + ), dict_ ) { @@ -96,7 +98,7 @@ bool Foam::OutputFilterFunctionObject::execute filter_.execute(); } - if (forceWrite || outputControl_.output()) + if (forceWrite || writeControl_.output()) { filter_.write(); } @@ -111,7 +113,7 @@ bool Foam::OutputFilterFunctionObject::end() { filter_.end(); - if (outputControl_.output()) + if (writeControl_.output()) { filter_.write(); } @@ -138,12 +140,12 @@ bool Foam::OutputFilterFunctionObject::adjustTimeStep() if ( active() - && outputControl_.outputControl() - == outputFilterOutputControl::ocAdjustableRunTime + && writeControl_.writeControl() + == outputFilterControl::ocAdjustableRunTime ) { - const label outputTimeIndex = outputControl_.outputTimeLastDump(); - const scalar writeInterval = outputControl_.writeInterval(); + const label outputTimeIndex = writeControl_.outputTimeLastDump(); + const scalar writeInterval = writeControl_.writeInterval(); scalar timeToNextWrite = max ( @@ -188,7 +190,7 @@ bool Foam::OutputFilterFunctionObject::read { dict_ = dict; - outputControl_.read(dict); + writeControl_.read(dict); evaluateControl_.read(dict); readControls(); @@ -207,7 +209,7 @@ void Foam::OutputFilterFunctionObject::updateMesh const mapPolyMesh& mpm ) { - if (active() && mpm.mesh().name() == regionName_) + if (active()) { filter_.updateMesh(mpm); } @@ -220,7 +222,7 @@ void Foam::OutputFilterFunctionObject::movePoints const polyMesh& mesh ) { - if (active() && mesh.name() == regionName_) + if (active()) { filter_.movePoints(mesh); } diff --git a/src/OpenFOAM/db/functionObjects/OutputFilterFunctionObject/OutputFilterFunctionObject.H b/src/OpenFOAM/db/functionObjects/OutputFilterFunctionObject/OutputFilterFunctionObject.H index d62e5afdec..e0cd4e8c36 100644 --- a/src/OpenFOAM/db/functionObjects/OutputFilterFunctionObject/OutputFilterFunctionObject.H +++ b/src/OpenFOAM/db/functionObjects/OutputFilterFunctionObject/OutputFilterFunctionObject.H @@ -44,7 +44,7 @@ SourceFiles #include "functionObject.H" #include "dictionary.H" -#include "outputFilterOutputControl.H" +#include "outputFilterControl.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -71,9 +71,6 @@ class OutputFilterFunctionObject // Optional user inputs - //- Name of region - defaults to name of polyMesh::defaultRegion - const word regionName_; - //- Activation time - defaults to -VGREAT scalar timeStart_; @@ -86,10 +83,10 @@ class OutputFilterFunctionObject //- Output controls - outputFilterOutputControl outputControl_; + outputFilterControl writeControl_; //- Evaluate controls - outputFilterOutputControl evaluateControl_; + outputFilterControl evaluateControl_; //- The output filter OutputFilter filter_; @@ -141,7 +138,7 @@ public: inline const word& regionName() const; //- Return the output control object - inline const outputFilterOutputControl& outputControl() const; + inline const outputFilterControl& writeControl() const; //- Return the output filter inline const OutputFilter& outputFilter() const; @@ -150,7 +147,7 @@ public: // Function object control //- Called at each ++ or += of the time-loop. - // forceWrite overrides the usual outputControl behaviour and + // forceWrite overrides the usual writeControl behaviour and // forces writing (used in post-processing mode) virtual bool execute(const bool forceWrite = false); diff --git a/src/OpenFOAM/db/functionObjects/OutputFilterFunctionObject/OutputFilterFunctionObjectI.H b/src/OpenFOAM/db/functionObjects/OutputFilterFunctionObject/OutputFilterFunctionObjectI.H index 0e8be54e32..502c701c0d 100644 --- a/src/OpenFOAM/db/functionObjects/OutputFilterFunctionObject/OutputFilterFunctionObjectI.H +++ b/src/OpenFOAM/db/functionObjects/OutputFilterFunctionObject/OutputFilterFunctionObjectI.H @@ -42,18 +42,10 @@ Foam::OutputFilterFunctionObject::dict() const template -inline const Foam::word& -Foam::OutputFilterFunctionObject::regionName() const +inline const Foam::outputFilterControl& +Foam::OutputFilterFunctionObject::writeControl() const { - return regionName_; -} - - -template -inline const Foam::outputFilterOutputControl& -Foam::OutputFilterFunctionObject::outputControl() const -{ - return outputControl_; + return writeControl_; } diff --git a/src/OpenFOAM/db/functionObjects/functionObject/functionObject.H b/src/OpenFOAM/db/functionObjects/functionObject/functionObject.H index a56625d579..952a93d2bf 100644 --- a/src/OpenFOAM/db/functionObjects/functionObject/functionObject.H +++ b/src/OpenFOAM/db/functionObjects/functionObject/functionObject.H @@ -51,8 +51,8 @@ Description enabled yes; timeStart 0; timeEnd 10; - outputControl outputTime; - outputInterval 1; + writeControl outputTime; + writeInterval 1; ... } } @@ -62,13 +62,27 @@ Description \table Property | Description | Required | Default value type | Type of function object | yes | - functionObjectLibs | Libraries containing object implementation | yes | + functionObjectLibs | Libraries containing implementation | yes | region | Name of region for multi-region cases | no | enabled | On/off switch | no | yes timeStart| Start time | no | timeEnd | End time | no | - outputControl | Either 'outputTime' or 'timeStep'| no | timeStep - outputInterval| Steps between output for outputControl=timeStep | no | 1 + evaluateControl | See time controls below | no | timeStep + evaluateInterval | Steps between output | no | + writeControl | See time controls below | no | timeStep + writeInterval | Steps between output | no | + \endtable + + Time controls: + \table + Option | Description + timeStep | Execute/write every 'writeInterval' time-steps + outputTime | Execute/write every 'writeInterval' output times + adjustableRunTime | Execute/write every 'writeInterval' run time period + runTime | Execute/write every 'writeInterval' run time period + clockTime | Execute/write every 'writeInterval' clock time period + cpuTime | Execute/write every 'writeInterval' CPU time period + none | Execute/write every time-step \endtable The sub-dictionary name \c myFunctionObject is chosen by the user, and is @@ -184,7 +198,7 @@ public: virtual const word& name() const; //- Called at each ++ or += of the time-loop. forceWrite overrides - // the usual outputControl behaviour and forces writing always + // the usual writeControl behaviour and forces writing always // (used in post-processing mode) virtual bool execute(const bool forceWrite) = 0; diff --git a/src/OpenFOAM/db/functionObjects/functionObjectList/functionObjectList.H b/src/OpenFOAM/db/functionObjects/functionObjectList/functionObjectList.H index 41b43b4c5f..ca373b0c11 100644 --- a/src/OpenFOAM/db/functionObjects/functionObjectList/functionObjectList.H +++ b/src/OpenFOAM/db/functionObjects/functionObjectList/functionObjectList.H @@ -171,7 +171,7 @@ public: bool start(); //- Called at each ++ or += of the time-loop. forceWrite overrides - // the usual outputControl behaviour and forces writing always + // the usual writeControl behaviour and forces writing always // (used in post-processing mode) bool execute(const bool forceWrite = false); diff --git a/src/OpenFOAM/db/functionObjects/outputFilterOutputControl/outputFilterOutputControl.C b/src/OpenFOAM/db/functionObjects/outputFilterControl/outputFilterControl.C similarity index 73% rename from src/OpenFOAM/db/functionObjects/outputFilterOutputControl/outputFilterOutputControl.C rename to src/OpenFOAM/db/functionObjects/outputFilterControl/outputFilterControl.C index c48f4fcb9d..78f8268534 100644 --- a/src/OpenFOAM/db/functionObjects/outputFilterOutputControl/outputFilterOutputControl.C +++ b/src/OpenFOAM/db/functionObjects/outputFilterControl/outputFilterControl.C @@ -23,7 +23,7 @@ License \*---------------------------------------------------------------------------*/ -#include "outputFilterOutputControl.H" +#include "outputFilterControl.H" #include "PstreamReduceOps.H" // * * * * * * * * * * * * * Static Member Data * * * * * * * * * * * * * * // @@ -31,10 +31,11 @@ License namespace Foam { template<> - const char* NamedEnum:: + const char* NamedEnum:: names[] = { "timeStep", + "writeTime", "outputTime", "adjustableRunTime", "runTime", @@ -44,13 +45,13 @@ namespace Foam }; } -const Foam::NamedEnum - Foam::outputFilterOutputControl::outputControlNames_; +const Foam::NamedEnum + Foam::outputFilterControl::writeControlNames_; // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // -Foam::outputFilterOutputControl::outputFilterOutputControl +Foam::outputFilterControl::outputFilterControl ( const Time& t, const dictionary& dict, @@ -59,10 +60,10 @@ Foam::outputFilterOutputControl::outputFilterOutputControl : time_(t), prefix_(prefix), - outputControl_(ocTimeStep), + writeControl_(ocTimeStep), outputInterval_(0), - outputTimeLastDump_(0), - writeInterval_(-1) + writeInterval_(-1), + outputTimeLastDump_(0) { read(dict); } @@ -70,27 +71,41 @@ Foam::outputFilterOutputControl::outputFilterOutputControl // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // -Foam::outputFilterOutputControl::~outputFilterOutputControl() +Foam::outputFilterControl::~outputFilterControl() {} // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -void Foam::outputFilterOutputControl::read(const dictionary& dict) +void Foam::outputFilterControl::read(const dictionary& dict) { - const word controlName(prefix_ + "Control"); - const word intervalName(prefix_ + "Interval"); + word controlName(prefix_ + "Control"); + word intervalName(prefix_ + "Interval"); + + // For backward compatibility support the deprecated 'outputControl' option + // now superseded by 'writeControl' for compatibility with Time + if (prefix_ == "write" && dict.found("outputControl")) + { + IOWarningInFunction(dict) + << "Using deprecated 'outputControl'" << nl + << " Please use 'writeControl' with 'writeInterval'" + << endl; + + // Change to the old names for this option + controlName = "outputControl"; + intervalName = "outputInterval"; + } if (dict.found(controlName)) { - outputControl_ = outputControlNames_.read(dict.lookup(controlName)); + writeControl_ = writeControlNames_.read(dict.lookup(controlName)); } else { - outputControl_ = ocTimeStep; + writeControl_ = ocTimeStep; } - switch (outputControl_) + switch (writeControl_) { case ocTimeStep: { @@ -98,6 +113,7 @@ void Foam::outputFilterOutputControl::read(const dictionary& dict) break; } + case ocWriteTime: case ocOutputTime: { outputInterval_ = dict.lookupOrDefault