functionObjects: Changed options 'outputControl' -> 'writeControl' and 'outputInterval' -> 'writeInterval'
for consistency with the time controls in controlDict and to avoid unnecessary confusion. All code and tutorials have been updated. The old names 'outputControl' and 'outputInterval' are but supported for backward compatibility but deprecated.
This commit is contained in:
@ -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
|
||||
|
||||
@ -61,19 +61,21 @@ Foam::OutputFilterFunctionObject<OutputFilter>::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<objectRegistry>(regionName_),
|
||||
time_.lookupObject<objectRegistry>
|
||||
(
|
||||
dict.lookupOrDefault("region", polyMesh::defaultRegion)
|
||||
),
|
||||
dict_
|
||||
)
|
||||
{
|
||||
@ -96,7 +98,7 @@ bool Foam::OutputFilterFunctionObject<OutputFilter>::execute
|
||||
filter_.execute();
|
||||
}
|
||||
|
||||
if (forceWrite || outputControl_.output())
|
||||
if (forceWrite || writeControl_.output())
|
||||
{
|
||||
filter_.write();
|
||||
}
|
||||
@ -111,7 +113,7 @@ bool Foam::OutputFilterFunctionObject<OutputFilter>::end()
|
||||
{
|
||||
filter_.end();
|
||||
|
||||
if (outputControl_.output())
|
||||
if (writeControl_.output())
|
||||
{
|
||||
filter_.write();
|
||||
}
|
||||
@ -138,12 +140,12 @@ bool Foam::OutputFilterFunctionObject<OutputFilter>::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<OutputFilter>::read
|
||||
{
|
||||
dict_ = dict;
|
||||
|
||||
outputControl_.read(dict);
|
||||
writeControl_.read(dict);
|
||||
evaluateControl_.read(dict);
|
||||
readControls();
|
||||
|
||||
@ -207,7 +209,7 @@ void Foam::OutputFilterFunctionObject<OutputFilter>::updateMesh
|
||||
const mapPolyMesh& mpm
|
||||
)
|
||||
{
|
||||
if (active() && mpm.mesh().name() == regionName_)
|
||||
if (active())
|
||||
{
|
||||
filter_.updateMesh(mpm);
|
||||
}
|
||||
@ -220,7 +222,7 @@ void Foam::OutputFilterFunctionObject<OutputFilter>::movePoints
|
||||
const polyMesh& mesh
|
||||
)
|
||||
{
|
||||
if (active() && mesh.name() == regionName_)
|
||||
if (active())
|
||||
{
|
||||
filter_.movePoints(mesh);
|
||||
}
|
||||
|
||||
@ -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);
|
||||
|
||||
|
||||
@ -42,18 +42,10 @@ Foam::OutputFilterFunctionObject<OutputFilter>::dict() const
|
||||
|
||||
|
||||
template<class OutputFilter>
|
||||
inline const Foam::word&
|
||||
Foam::OutputFilterFunctionObject<OutputFilter>::regionName() const
|
||||
inline const Foam::outputFilterControl&
|
||||
Foam::OutputFilterFunctionObject<OutputFilter>::writeControl() const
|
||||
{
|
||||
return regionName_;
|
||||
}
|
||||
|
||||
|
||||
template<class OutputFilter>
|
||||
inline const Foam::outputFilterOutputControl&
|
||||
Foam::OutputFilterFunctionObject<OutputFilter>::outputControl() const
|
||||
{
|
||||
return outputControl_;
|
||||
return writeControl_;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -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;
|
||||
|
||||
|
||||
@ -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);
|
||||
|
||||
|
||||
@ -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<outputFilterOutputControl::outputControls, 7>::
|
||||
const char* NamedEnum<outputFilterControl::writeControls, 8>::
|
||||
names[] =
|
||||
{
|
||||
"timeStep",
|
||||
"writeTime",
|
||||
"outputTime",
|
||||
"adjustableRunTime",
|
||||
"runTime",
|
||||
@ -44,13 +45,13 @@ namespace Foam
|
||||
};
|
||||
}
|
||||
|
||||
const Foam::NamedEnum<Foam::outputFilterOutputControl::outputControls, 7>
|
||||
Foam::outputFilterOutputControl::outputControlNames_;
|
||||
const Foam::NamedEnum<Foam::outputFilterControl::writeControls, 8>
|
||||
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<label>(intervalName, 1);
|
||||
@ -109,22 +125,21 @@ void Foam::outputFilterOutputControl::read(const dictionary& dict)
|
||||
case ocCpuTime:
|
||||
case ocAdjustableRunTime:
|
||||
{
|
||||
writeInterval_ = readScalar(dict.lookup("writeInterval"));
|
||||
writeInterval_ = readScalar(dict.lookup(intervalName));
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
{
|
||||
// do nothing
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
bool Foam::outputFilterOutputControl::output()
|
||||
bool Foam::outputFilterControl::output()
|
||||
{
|
||||
switch (outputControl_)
|
||||
switch (writeControl_)
|
||||
{
|
||||
case ocTimeStep:
|
||||
{
|
||||
@ -136,11 +151,12 @@ bool Foam::outputFilterOutputControl::output()
|
||||
break;
|
||||
}
|
||||
|
||||
case ocWriteTime:
|
||||
case ocOutputTime:
|
||||
{
|
||||
if (time_.outputTime())
|
||||
{
|
||||
outputTimeLastDump_ ++;
|
||||
outputTimeLastDump_++;
|
||||
return !(outputTimeLastDump_ % outputInterval_);
|
||||
}
|
||||
break;
|
||||
@ -155,7 +171,7 @@ bool Foam::outputFilterOutputControl::output()
|
||||
(time_.value() - time_.startTime().value())
|
||||
+ 0.5*time_.deltaTValue()
|
||||
)
|
||||
/ writeInterval_
|
||||
/writeInterval_
|
||||
);
|
||||
|
||||
if (outputIndex > outputTimeLastDump_)
|
||||
@ -171,7 +187,7 @@ bool Foam::outputFilterOutputControl::output()
|
||||
label outputIndex = label
|
||||
(
|
||||
returnReduce(time_.elapsedCpuTime(), maxOp<double>())
|
||||
/ writeInterval_
|
||||
/writeInterval_
|
||||
);
|
||||
if (outputIndex > outputTimeLastDump_)
|
||||
{
|
||||
@ -186,7 +202,7 @@ bool Foam::outputFilterOutputControl::output()
|
||||
label outputIndex = label
|
||||
(
|
||||
returnReduce(label(time_.elapsedClockTime()), maxOp<label>())
|
||||
/ writeInterval_
|
||||
/writeInterval_
|
||||
);
|
||||
if (outputIndex > outputTimeLastDump_)
|
||||
{
|
||||
@ -203,10 +219,9 @@ bool Foam::outputFilterOutputControl::output()
|
||||
|
||||
default:
|
||||
{
|
||||
// this error should not actually be possible
|
||||
FatalErrorInFunction
|
||||
<< "Undefined output control: "
|
||||
<< outputControlNames_[outputControl_] << nl
|
||||
<< writeControlNames_[writeControl_] << nl
|
||||
<< abort(FatalError);
|
||||
break;
|
||||
}
|
||||
@ -22,19 +22,19 @@ License
|
||||
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Class
|
||||
Foam::outputFilterOutputControl
|
||||
Foam::outputFilterControl
|
||||
|
||||
Description
|
||||
An output control for function objects.
|
||||
The default is time-step execution at every interval.
|
||||
|
||||
SourceFiles
|
||||
outputFilterOutputControl.C
|
||||
outputFilterControl.C
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#ifndef outputFilterOutputControl_H
|
||||
#define outputFilterOutputControl_H
|
||||
#ifndef outputFilterControl_H
|
||||
#define outputFilterControl_H
|
||||
|
||||
#include "dictionary.H"
|
||||
#include "Time.H"
|
||||
@ -46,17 +46,18 @@ namespace Foam
|
||||
{
|
||||
|
||||
/*---------------------------------------------------------------------------*\
|
||||
Class outputFilterOutputControl Declaration
|
||||
Class outputFilterControl Declaration
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
class outputFilterOutputControl
|
||||
class outputFilterControl
|
||||
{
|
||||
public:
|
||||
|
||||
//- The output control options
|
||||
enum outputControls
|
||||
enum writeControls
|
||||
{
|
||||
ocTimeStep, //!< execution is coupled to the time-step
|
||||
ocWriteTime, //!< execution is coupled to the write-time
|
||||
ocOutputTime, //!< execution is coupled to the output-time
|
||||
ocAdjustableRunTime, //!< Adjust time step for dumping
|
||||
ocRunTime, //!< run time for dumping
|
||||
@ -76,29 +77,29 @@ private:
|
||||
//- Prefix
|
||||
const word prefix_;
|
||||
|
||||
//- String representation of outputControls enums
|
||||
static const NamedEnum<outputControls, 7> outputControlNames_;
|
||||
//- String representation of writeControls enums
|
||||
static const NamedEnum<writeControls, 8> writeControlNames_;
|
||||
|
||||
//- Type of output
|
||||
outputControls outputControl_;
|
||||
writeControls writeControl_;
|
||||
|
||||
//- The execution interval (in time steps) when using \c timeStep mode,
|
||||
// a value <= 1 means execute at every time step
|
||||
label outputInterval_;
|
||||
|
||||
//- Dump each deltaT (adjust Ttime)
|
||||
scalar writeInterval_;
|
||||
|
||||
//- Dumping counter for ocOutputTime or index dump
|
||||
// for ocAdjustableRunTime
|
||||
label outputTimeLastDump_;
|
||||
|
||||
//- Dump each deltaT (adjust Ttime)
|
||||
scalar writeInterval_;
|
||||
|
||||
|
||||
// Private Member Functions
|
||||
|
||||
//- Disallow default bitwise copy construct and assignment
|
||||
outputFilterOutputControl(const outputFilterOutputControl&);
|
||||
void operator=(const outputFilterOutputControl&);
|
||||
outputFilterControl(const outputFilterControl&);
|
||||
void operator=(const outputFilterControl&);
|
||||
|
||||
|
||||
public:
|
||||
@ -106,7 +107,7 @@ public:
|
||||
// Constructors
|
||||
|
||||
//- Construct from Time object and dictionary
|
||||
outputFilterOutputControl
|
||||
outputFilterControl
|
||||
(
|
||||
const Time&,
|
||||
const dictionary&,
|
||||
@ -115,7 +116,7 @@ public:
|
||||
|
||||
|
||||
//- Destructor
|
||||
~outputFilterOutputControl();
|
||||
~outputFilterControl();
|
||||
|
||||
|
||||
// Member Functions
|
||||
@ -124,31 +125,19 @@ public:
|
||||
void read(const dictionary&);
|
||||
|
||||
//- Return const access to the Time object
|
||||
const Time& time() const
|
||||
{
|
||||
return time_;
|
||||
}
|
||||
inline const Time& time() const;
|
||||
|
||||
//- Flag to indicate whether to output
|
||||
bool output();
|
||||
|
||||
//- Return outputControl
|
||||
outputControls outputControl() const
|
||||
{
|
||||
return outputControl_;
|
||||
}
|
||||
//- Return writeControl
|
||||
inline writeControls writeControl() const;
|
||||
|
||||
//- Return writeInterval
|
||||
scalar writeInterval() const
|
||||
{
|
||||
return writeInterval_;
|
||||
}
|
||||
inline scalar writeInterval() const;
|
||||
|
||||
//- Return outputTimeLastDump
|
||||
label outputTimeLastDump() const
|
||||
{
|
||||
return outputTimeLastDump_;
|
||||
}
|
||||
inline label outputTimeLastDump() const;
|
||||
};
|
||||
|
||||
|
||||
@ -158,6 +147,10 @@ public:
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
#include "outputFilterControlI.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
#endif
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,53 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
========= |
|
||||
\\ / 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/>.
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||
|
||||
inline const Foam::Time& Foam::outputFilterControl::time() const
|
||||
{
|
||||
return time_;
|
||||
}
|
||||
|
||||
|
||||
inline Foam::outputFilterControl::writeControls
|
||||
Foam::outputFilterControl::writeControl() const
|
||||
{
|
||||
return writeControl_;
|
||||
}
|
||||
|
||||
|
||||
inline Foam::scalar Foam::outputFilterControl::writeInterval() const
|
||||
{
|
||||
return writeInterval_;
|
||||
}
|
||||
|
||||
|
||||
inline Foam::label Foam::outputFilterControl::outputTimeLastDump() const
|
||||
{
|
||||
return outputTimeLastDump_;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -58,7 +58,7 @@ functions
|
||||
enabled true;
|
||||
|
||||
// When to output the average fields
|
||||
outputControl outputTime;
|
||||
writeControl outputTime;
|
||||
|
||||
// Fields to be averaged - runTime modifiable
|
||||
fields
|
||||
|
||||
@ -28,7 +28,7 @@ functions
|
||||
enabled true;
|
||||
|
||||
// When to output the average fields
|
||||
outputControl outputTime;
|
||||
writeControl outputTime;
|
||||
|
||||
// Fields to be transformed - runTime modifiable
|
||||
fields
|
||||
|
||||
@ -52,7 +52,7 @@ functions
|
||||
functionObjectLibs ("libfieldFunctionObjects.so");
|
||||
|
||||
enabled true;
|
||||
outputControl outputTime;
|
||||
writeControl outputTime;
|
||||
|
||||
// Output to log&file (true) or to file only
|
||||
log true;
|
||||
@ -93,7 +93,7 @@ functions
|
||||
type faceSource;
|
||||
functionObjectLibs ("libfieldFunctionObjects.so");
|
||||
enabled true;
|
||||
outputControl outputTime;
|
||||
writeControl outputTime;
|
||||
log true;
|
||||
valueOutput true;
|
||||
source faceZone;
|
||||
@ -111,7 +111,7 @@ functions
|
||||
type cellSource;
|
||||
functionObjectLibs ("libfieldFunctionObjects.so");
|
||||
enabled true;
|
||||
outputControl outputTime;
|
||||
writeControl outputTime;
|
||||
log true;
|
||||
valueOutput true;
|
||||
source cellZone;
|
||||
|
||||
@ -54,8 +54,8 @@ functions
|
||||
type nearWallFields;
|
||||
|
||||
// Output every
|
||||
outputControl outputTime; //timeStep;
|
||||
//outputInterval 5;
|
||||
writeControl outputTime; //timeStep;
|
||||
//writeInterval 5;
|
||||
|
||||
// Fields to be sampled. Per field original name and mapped field to
|
||||
// create.
|
||||
|
||||
@ -28,7 +28,7 @@ functions
|
||||
enabled true;
|
||||
|
||||
// When to output the average fields
|
||||
outputControl outputTime;
|
||||
writeControl outputTime;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -21,8 +21,8 @@ functions
|
||||
type readFields;
|
||||
functionObjectLibs ("libfieldFunctionObjects.so");
|
||||
enabled true;
|
||||
outputControl timeStep;
|
||||
outputInterval 1;
|
||||
writeControl timeStep;
|
||||
writeInterval 1;
|
||||
|
||||
fields
|
||||
(
|
||||
@ -35,8 +35,8 @@ functions
|
||||
type faceSource;
|
||||
functionObjectLibs ("libfieldFunctionObjects.so");
|
||||
enabled true;
|
||||
outputControl timeStep;
|
||||
outputInterval 1;
|
||||
writeControl timeStep;
|
||||
writeInterval 1;
|
||||
log true;
|
||||
valueOutput true;
|
||||
source faceZone;
|
||||
|
||||
@ -54,8 +54,8 @@ functions
|
||||
functionObjectLibs ("libfieldFunctionObjects.so");
|
||||
|
||||
// Output every
|
||||
outputControl outputTime;
|
||||
// outputInterval 10;
|
||||
writeControl outputTime;
|
||||
// writeInterval 10;
|
||||
|
||||
setFormat vtk; //gnuplot, raw etc. See sampleDict.
|
||||
|
||||
|
||||
@ -35,6 +35,7 @@ License
|
||||
#include "mapDistribute.H"
|
||||
#include "interpolationCellPoint.H"
|
||||
#include "PatchTools.H"
|
||||
#include "mapPolyMesh.H"
|
||||
|
||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||
|
||||
@ -697,16 +698,26 @@ void Foam::functionObjects::streamLine::write()
|
||||
}
|
||||
|
||||
|
||||
void Foam::functionObjects::streamLine::updateMesh(const mapPolyMesh&)
|
||||
void Foam::functionObjects::streamLine::updateMesh(const mapPolyMesh& mpm)
|
||||
{
|
||||
read(dict_);
|
||||
const fvMesh& mesh_ = dynamic_cast<const fvMesh&>(obr_);
|
||||
|
||||
if (&mpm.mesh() == &mesh_)
|
||||
{
|
||||
read(dict_);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void Foam::functionObjects::streamLine::movePoints(const polyMesh&)
|
||||
void Foam::functionObjects::streamLine::movePoints(const polyMesh& mesh)
|
||||
{
|
||||
// Moving mesh affects the search tree
|
||||
read(dict_);
|
||||
const fvMesh& mesh_ = dynamic_cast<const fvMesh&>(obr_);
|
||||
|
||||
if (&mesh == &mesh_)
|
||||
{
|
||||
// Moving mesh affects the search tree
|
||||
read(dict_);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -63,8 +63,8 @@ functions
|
||||
type nearWallFields;
|
||||
|
||||
// Output every
|
||||
outputControl outputTime;
|
||||
//outputInterval 1;
|
||||
writeControl outputTime;
|
||||
//writeInterval 1;
|
||||
|
||||
// Fields to be sampled. Per field original name and mapped field to
|
||||
// create.
|
||||
@ -86,8 +86,8 @@ functions
|
||||
type wallBoundedStreamLine;
|
||||
|
||||
// Output every
|
||||
outputControl timeStep; //outputTime;
|
||||
// outputInterval 10;
|
||||
writeControl timeStep; //outputTime;
|
||||
// writeInterval 10;
|
||||
|
||||
setFormat vtk; //gnuplot; //xmgr; //raw; //jplot;
|
||||
|
||||
|
||||
@ -37,6 +37,7 @@ License
|
||||
#include "PatchTools.H"
|
||||
#include "meshSearchMeshObject.H"
|
||||
#include "faceSet.H"
|
||||
#include "mapPolyMesh.H"
|
||||
|
||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||
|
||||
@ -854,17 +855,30 @@ void Foam::functionObjects::wallBoundedStreamLine::write()
|
||||
|
||||
void Foam::functionObjects::wallBoundedStreamLine::updateMesh
|
||||
(
|
||||
const mapPolyMesh&
|
||||
const mapPolyMesh& mpm
|
||||
)
|
||||
{
|
||||
read(dict_);
|
||||
const fvMesh& mesh_ = dynamic_cast<const fvMesh&>(obr_);
|
||||
|
||||
if (&mpm.mesh() == &mesh_)
|
||||
{
|
||||
read(dict_);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void Foam::functionObjects::wallBoundedStreamLine::movePoints(const polyMesh&)
|
||||
void Foam::functionObjects::wallBoundedStreamLine::movePoints
|
||||
(
|
||||
const polyMesh& mesh
|
||||
)
|
||||
{
|
||||
// Moving mesh affects the search tree
|
||||
read(dict_);
|
||||
const fvMesh& mesh_ = dynamic_cast<const fvMesh&>(obr_);
|
||||
|
||||
if (&mesh == &mesh_)
|
||||
{
|
||||
// Moving mesh affects the search tree
|
||||
read(dict_);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -21,8 +21,8 @@ functions
|
||||
type cloudInfo;
|
||||
functionObjectLibs ("libcloudFunctionObjects.so");
|
||||
enabled true;
|
||||
outputControl timeStep;
|
||||
outputInterval 1;
|
||||
writeControl timeStep;
|
||||
writeInterval 1;
|
||||
|
||||
clouds (myCloud1);
|
||||
}
|
||||
|
||||
@ -172,7 +172,7 @@ public:
|
||||
functionObject& redirectFunctionObject() const;
|
||||
|
||||
//- Called at each ++ or += of the time-loop. forceWrite overrides the
|
||||
// outputControl behaviour.
|
||||
// writeControl behaviour.
|
||||
virtual bool execute(const bool forceWrite);
|
||||
|
||||
//- Called when Time::run() determines that the time-loop exits.
|
||||
|
||||
@ -71,14 +71,14 @@ functions
|
||||
// runTime
|
||||
// clockTime
|
||||
// cpuTime
|
||||
outputControl outputTime;
|
||||
writeControl outputTime;
|
||||
|
||||
// Objects (fields or lagrangian fields in any of the clouds)
|
||||
// to write every outputTime
|
||||
objectNames (p positions nParticle);
|
||||
|
||||
// Write as normal every writeInterval'th outputTime.
|
||||
outputInterval 1; // (timeStep, outputTime)
|
||||
writeInterval 1; // (timeStep, outputTime)
|
||||
|
||||
// Interval of time (sec) to write down(
|
||||
writeInterval 10.5 //(adjustableRunTime, runTime, clockTime, cpuTime)
|
||||
@ -94,16 +94,16 @@ functions
|
||||
functionObjectLibs ("libIOFunctionObjects.so");
|
||||
|
||||
// When to write:
|
||||
// timeStep (with optional outputInterval)
|
||||
// outputTime (with optional outputInterval)
|
||||
// timeStep (with optional writeInterval)
|
||||
// outputTime (with optional writeInterval)
|
||||
// adjustableRunTime
|
||||
// runTime
|
||||
// clockTime
|
||||
// cpuTime
|
||||
outputControl outputTime;
|
||||
writeControl outputTime;
|
||||
|
||||
// Write every writeInterval (only valid for timeStemp, outputTime)
|
||||
outputInterval 1;
|
||||
writeInterval 1;
|
||||
|
||||
// Interval of time (valid for adjustableRunTime, runTime, clockTime,
|
||||
// cpuTime)
|
||||
|
||||
@ -35,8 +35,8 @@ Description
|
||||
residuals
|
||||
{
|
||||
type residuals;
|
||||
outputControl timeStep;
|
||||
outputInterval 1;
|
||||
writeControl timeStep;
|
||||
writeInterval 1;
|
||||
fields
|
||||
(
|
||||
U
|
||||
|
||||
@ -136,14 +136,14 @@ bool Foam::functionObjects::setTimeStepFunctionObject::read
|
||||
|
||||
void Foam::functionObjects::setTimeStepFunctionObject::updateMesh
|
||||
(
|
||||
const mapPolyMesh& mpm
|
||||
const mapPolyMesh&
|
||||
)
|
||||
{}
|
||||
|
||||
|
||||
void Foam::functionObjects::setTimeStepFunctionObject::movePoints
|
||||
(
|
||||
const polyMesh& mesh
|
||||
const polyMesh&
|
||||
)
|
||||
{}
|
||||
|
||||
|
||||
@ -32,7 +32,7 @@ Description
|
||||
solvers with adjustTimeStep control (e.g. pimpleFoam). Makes no attempt
|
||||
to cooperate with other timeStep 'controllers' (maxCo, other
|
||||
functionObjects). Supports 'enabled' flag but none of othe other ones
|
||||
'timeStart', 'timeEnd', 'outputControl' etc.
|
||||
'timeStart', 'timeEnd', 'writeControl' etc.
|
||||
|
||||
SourceFiles
|
||||
setTimeStepFunctionObject.C
|
||||
@ -125,10 +125,10 @@ public:
|
||||
virtual bool read(const dictionary&);
|
||||
|
||||
//- Update for changes of mesh
|
||||
virtual void updateMesh(const mapPolyMesh& mpm);
|
||||
virtual void updateMesh(const mapPolyMesh&);
|
||||
|
||||
//- Update for changes of mesh
|
||||
virtual void movePoints(const polyMesh& mesh);
|
||||
virtual void movePoints(const polyMesh&);
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -51,7 +51,7 @@ functions
|
||||
type systemCall;
|
||||
functionObjectLibs ("libsystemCall.so");
|
||||
enabled true;
|
||||
outputControl outputTime;
|
||||
writeControl outputTime;
|
||||
|
||||
// called every time step
|
||||
executeCalls
|
||||
|
||||
@ -50,8 +50,8 @@ functions
|
||||
{
|
||||
type timeActivatedFileUpdate;
|
||||
functionObjectLibs ("libutilityFunctionObjects.so");
|
||||
outputControl timeStep;
|
||||
outputInterval 1;
|
||||
writeControl timeStep;
|
||||
writeInterval 1;
|
||||
fileToUpdate "$FOAM_CASE/system/fvSolution";
|
||||
|
||||
timeVsFile
|
||||
|
||||
@ -38,8 +38,8 @@ Description
|
||||
{
|
||||
type timeActivatedFileUpdate;
|
||||
functionObjectLibs ("libutilityFunctionObjects.so");
|
||||
outputControl timeStep;
|
||||
outputInterval 1;
|
||||
writeControl timeStep;
|
||||
writeInterval 1;
|
||||
fileToUpdate "$FOAM_CASE/system/fvSolution";
|
||||
timeVsFile
|
||||
(
|
||||
|
||||
@ -21,8 +21,8 @@ functions
|
||||
type turbulenceFields;
|
||||
functionObjectLibs ("libutilityFunctionObjects.so");
|
||||
enabled true;
|
||||
outputControl timeStep;
|
||||
outputInterval 1;
|
||||
writeControl timeStep;
|
||||
writeInterval 1;
|
||||
|
||||
fields
|
||||
(
|
||||
|
||||
@ -71,14 +71,14 @@ functions
|
||||
// runTime
|
||||
// clockTime
|
||||
// cpuTime
|
||||
outputControl outputTime;
|
||||
writeControl outputTime;
|
||||
|
||||
// Objects (fields or lagrangian fields in any of the clouds)
|
||||
// to write every outputTime
|
||||
objectNames (p positions nParticle);
|
||||
|
||||
// Write as normal every writeInterval'th outputTime.
|
||||
outputInterval 1; // (timeStep, outputTime)
|
||||
writeInterval 1; // (timeStep, outputTime)
|
||||
|
||||
// Interval of time (sec) to write down(
|
||||
writeInterval 10.5 //(adjustableRunTime, runTime, clockTime, cpuTime)
|
||||
@ -94,16 +94,16 @@ functions
|
||||
functionObjectLibs ("libIOFunctionObjects.so");
|
||||
|
||||
// When to write:
|
||||
// timeStep (with optional outputInterval)
|
||||
// outputTime (with optional outputInterval)
|
||||
// timeStep (with optional writeInterval)
|
||||
// outputTime (with optional writeInterval)
|
||||
// adjustableRunTime
|
||||
// runTime
|
||||
// clockTime
|
||||
// cpuTime
|
||||
outputControl outputTime;
|
||||
writeControl outputTime;
|
||||
|
||||
// Write every writeInterval (only valid for timeStemp, outputTime)
|
||||
outputInterval 1;
|
||||
writeInterval 1;
|
||||
|
||||
// Interval of time (valid for adjustableRunTime, runTime, clockTime,
|
||||
// cpuTime)
|
||||
|
||||
@ -30,7 +30,7 @@ Group
|
||||
Description
|
||||
This function object allows specification of different writing frequency
|
||||
of objects registered to the database. It has similar functionality
|
||||
as the main time database through the outputControl setting:
|
||||
as the main time database through the writeControl setting:
|
||||
|
||||
\li \c timeStep
|
||||
\li \c outputTime
|
||||
|
||||
@ -352,9 +352,11 @@ void Foam::probes::read(const dictionary& dict)
|
||||
|
||||
void Foam::probes::updateMesh(const mapPolyMesh& mpm)
|
||||
{
|
||||
if (debug)
|
||||
DebugInfo<< "probes: updateMesh" << endl;
|
||||
|
||||
if (&mpm.mesh() != &mesh_)
|
||||
{
|
||||
Info<< "probes: updateMesh" << endl;
|
||||
return;
|
||||
}
|
||||
|
||||
if (fixedLocations_)
|
||||
@ -427,14 +429,11 @@ void Foam::probes::updateMesh(const mapPolyMesh& mpm)
|
||||
}
|
||||
|
||||
|
||||
void Foam::probes::movePoints(const polyMesh&)
|
||||
void Foam::probes::movePoints(const polyMesh& mesh)
|
||||
{
|
||||
if (debug)
|
||||
{
|
||||
Info<< "probes: movePoints" << endl;
|
||||
}
|
||||
DebugInfo<< "probes: movePoints" << endl;
|
||||
|
||||
if (fixedLocations_)
|
||||
if (fixedLocations_ && &mesh == &mesh_)
|
||||
{
|
||||
findElements(mesh_);
|
||||
}
|
||||
|
||||
@ -30,6 +30,7 @@ License
|
||||
#include "ListListOps.H"
|
||||
#include "SortableList.H"
|
||||
#include "volPointInterpolation.H"
|
||||
#include "mapPolyMesh.H"
|
||||
|
||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||
|
||||
@ -296,15 +297,21 @@ void Foam::sampledSets::correct()
|
||||
}
|
||||
|
||||
|
||||
void Foam::sampledSets::updateMesh(const mapPolyMesh&)
|
||||
void Foam::sampledSets::updateMesh(const mapPolyMesh& mpm)
|
||||
{
|
||||
correct();
|
||||
if (&mpm.mesh() == &mesh_)
|
||||
{
|
||||
correct();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void Foam::sampledSets::movePoints(const polyMesh&)
|
||||
void Foam::sampledSets::movePoints(const polyMesh& mesh)
|
||||
{
|
||||
correct();
|
||||
if (&mesh == &mesh_)
|
||||
{
|
||||
correct();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -15,7 +15,7 @@ functions
|
||||
|
||||
functionObjectLibs ("libsampling.so");
|
||||
|
||||
outputControl outputTime;
|
||||
writeControl outputTime;
|
||||
setFormat gnuplot;
|
||||
fields (p U);
|
||||
interpolationScheme cellPoint;
|
||||
|
||||
@ -30,6 +30,7 @@ License
|
||||
#include "IOmanip.H"
|
||||
#include "volPointInterpolation.H"
|
||||
#include "PatchTools.H"
|
||||
#include "mapPolyMesh.H"
|
||||
|
||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||
|
||||
@ -245,17 +246,23 @@ void Foam::sampledSurfaces::read(const dictionary& dict)
|
||||
}
|
||||
|
||||
|
||||
void Foam::sampledSurfaces::updateMesh(const mapPolyMesh&)
|
||||
void Foam::sampledSurfaces::updateMesh(const mapPolyMesh& mpm)
|
||||
{
|
||||
expire();
|
||||
if (&mpm.mesh() == &mesh_)
|
||||
{
|
||||
expire();
|
||||
}
|
||||
|
||||
// pointMesh and interpolation will have been reset in mesh.update
|
||||
}
|
||||
|
||||
|
||||
void Foam::sampledSurfaces::movePoints(const polyMesh&)
|
||||
void Foam::sampledSurfaces::movePoints(const polyMesh& mesh)
|
||||
{
|
||||
expire();
|
||||
if (&mesh == &mesh_)
|
||||
{
|
||||
expire();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user