DOC: elaborate the usage of function objects

ENH: update libs of etc/caseDicts/postProcess items
  ENH: ensure destructor=default
  ENH: ensure constness
  ENH: ensure no 'copy construct' and 'no copy assignment' exist
  TUT: add examples of function objects with full set
       of settings into a TUT if unavailable
  TUT: update pisoFoam/RAS/cavity tutorial in terms of usage
This commit is contained in:
Kutalmis Bercin
2020-03-13 18:49:58 +00:00
committed by Andrew Heather
parent b549116588
commit a5c6516e23
264 changed files with 7120 additions and 2830 deletions

View File

@ -35,32 +35,30 @@ Description
particle track, transported by a user-specified velocity field, constrained
to a patch.
Operands:
\table
Operand | Type | Location
input | - | -
output file | - | $FOAM_CASE/postProcessing/\<FO\>/\<time\>/\<file\>
output field | - | -
\endtable
Usage
Example of function object specification:
Minimal example by using \c system/controlDict.functions:
\verbatim
wallBoundedStreamLine1
{
// Mandatory entries (unmodifiable)
type wallBoundedStreamLine;
libs (fieldFunctionObjects);
writeControl writeTime;
// Mandatory entries (runtime modifiable)
U <fieldTrack>;
fields (<fieldTrack> <field1> ... <fieldN>);
setFormat vtk;
U UNear;
//Deprecated: trackForward yes;
direction bidirectional; // or forward/backward
fields
(
UNear
p
);
direction bidirectional;
lifeTime 10000;
trackLength 1e-3;
bounds (0.2 -10 -10)(0.22 10 10);
cloud particleTracks;
seedSampleSet
{
type patchSeed;
@ -68,39 +66,79 @@ Usage
axis x;
maxPoints 20000;
}
// Optional entries (runtime modifiable)
bounds (0.2 -10 -10)(0.22 10 10);
trackLength 1e-3;
nSubCycle 1;
interpolationScheme cellPoint;
// Deprecated
// trackForward true;
// Optional (inherited) entries
...
}
\endverbatim
Where the entries comprise:
where the entries mean:
\table
Property | Description | Required | Default value
type | Type name: wallBoundedStreamLine| yes |
setFormat | Output data type | yes |
U | Tracking velocity field name | yes |
fields | Fields to sample | yes |
direction | Direction to track | yes |
lifetime | Maximum number of particle tracking steps | yes |
trackLength | Tracking segment length | no |
nSubCycle | Number of tracking steps per cell | no|
cloud | Cloud name to use | yes |
bounds | Bounding box to trim tracks | no | invertedBox
seedSampleSet| Seeding method (see below)| yes |
Property | Description | Type | Req'd | Dflt
type | Type name: wallBoundedStreamLine | word | yes | -
libs | Library name: fieldFunctionObjects | word | yes | -
U | Name of tracking velocity field | word | yes | -
fields | Names of operand fields to sample | wordList | yes | -
setFormat | Type of output data | word | yes | -
direction | Direction to track | vector | yes | -
lifetime | Maximum number of particle tracking steps | label | yes | -
cloud | Name of cloud | word | yes | -
seedSampleSet| Name of seeding method (see below) | word | yes | -
bounds | Bounding box to trim tracks | vector | no | invertedBox
trackLength | Tracking segment length | scalar | no | VGREAT
nSubCycle | Number of tracking steps per cell | label | no | 1
interpolationScheme | Interp. scheme for sample | word | no | cellPoint
\endtable
Where \c seedSampleSet \c type is typically one of
\plaintable
uniform | uniform particle seeding
cloud | cloud of points
patchSeed | seeding via patch faces
triSurfaceMeshPointSet | points according to a tri-surface mesh
\endplaintable
Options for the \c seedSampleSet entry:
\verbatim
uniform | uniform particle seeding
cloud | cloud of points
patchSeed | seeding via patch faces
triSurfaceMeshPointSet | points according to a tri-surface mesh
\endverbatim
Options for the \c setFormat entry:
\verbatim
csv
ensight
gnuplot
jplot
nastran
raw
vtk
xmgr
\endverbatim
Options for the \c direction entry:
\verbatim
bidirectional
forward
backward
\endverbatim
The inherited entries are elaborated in:
- \link functionObject.H \endlink
Usage by the \c postProcess utility is not available.
Note
When specifying the track resolution, the \c trackLength OR \c nSubCycle
option should be used
option should be used.
See also
Foam::functionObjects::streamLineBase
- Foam::functionObject
- Foam::functionObjects::streamLineBase
- ExtendedCodeGuide::functionObjects::field::wallBoundedStreamLine
SourceFiles
wallBoundedStreamLine.C
@ -128,15 +166,6 @@ class wallBoundedStreamLine
:
public streamLineBase
{
// Private Member Functions
//- No copy construct
wallBoundedStreamLine(const wallBoundedStreamLine&) = delete;
//- No copy assignment
void operator=(const wallBoundedStreamLine&) = delete;
protected:
// Protected Member Functions
@ -150,7 +179,7 @@ protected:
) const;
//- Push a point a tiny bit towards the centre of the triangle it is in
// to avoid tracking problems
//- to avoid tracking problems
point pushIn
(
const triPointRef& tri,
@ -183,9 +212,15 @@ public:
const wordList& fieldNames
);
//- No copy construct
wallBoundedStreamLine(const wallBoundedStreamLine&) = delete;
//- No copy assignment
void operator=(const wallBoundedStreamLine&) = delete;
//- Destructor
virtual ~wallBoundedStreamLine();
virtual ~wallBoundedStreamLine() = default;
// Member Functions