OpenFOAM-4.x/tutorials/incompressible/simpleFoam/motorBike/system/wallBoundedStreamLines
Henry Weller 91aba2db2e functionObjects: rewritten to all be derived from 'functionObject'
- Avoids the need for the 'OutputFilterFunctionObject' wrapper
  - Time-control for execution and writing is now provided by the
    'timeControlFunctionObject' which instantiates the processing
    'functionObject' and controls its operation.
  - Alternative time-control functionObjects can now be written and
    selected at run-time without the need to compile wrapped version of
    EVERY existing functionObject which would have been required in the
    old structure.
  - The separation of 'execute' and 'write' functions is now formalized in the
    'functionObject' base-class and all derived classes implement the
    two functions.
  - Unnecessary implementations of functions with appropriate defaults
    in the 'functionObject' base-class have been removed reducing
    clutter and simplifying implementation of new functionObjects.
  - The 'coded' 'functionObject' has also been updated, simplified and tested.
  - Further simplification is now possible by creating some general
    intermediate classes derived from 'functionObject'.
2016-05-15 16:40:01 +01:00

98 lines
2.7 KiB
C++

/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
// Interpolate U to create near-wall UNear
near
{
// Where to load it from
functionObjectLibs ("libfieldFunctionObjects.so");
type nearWallFields;
// Output every
writeControl writeTime;
// Calculate every
executeControl writeTime;
// Fields to be sampled. Per field original name and mapped field to
// create.
// Note: fields only get updated when writing!
fields
(
(U UNear)
);
// Patches/groups to sample (regular expressions)
patches (motorBikeGroup);
// Distance to sample
distance 0.001;
}
// Use UNear to track along wall
wallBoundedStreamLines
{
// Where to load it from (if not already in solver)
functionObjectLibs ("libfieldFunctionObjects.so");
type wallBoundedStreamLine;
// Output every
writeControl writeTime;
setFormat vtk; //gnuplot; //xmgr; //raw; //jplot;
// Velocity field to use for tracking.
UName UNear;
// Interpolation method. Default is cellPoint. See sampleDict.
//interpolationScheme pointMVC;
// Tracked forwards (+U) or backwards (-U)
trackForward true;
interpolationScheme cellPoint;
// Names of fields to sample. Should contain above velocity field!
fields (p U k UNear);
// Steps particles can travel before being removed
lifeTime 100;
// Cloud name to use
cloudName wallBoundedParticleTracks;
// Seeding method. See the sampleSets in sampleDict.
seedSampleSet patchSeed; //cloud;//triSurfaceMeshPointSet;
uniformCoeffs
{
type uniform;
axis x; //distance;
start (0.0035 0.0999 0.0001);
end (0.0035 0.0999 0.0099);
nPoints 20;
}
cloudCoeffs
{
type cloud;
axis x; //distance;
points ((0.351516548679288 -0.0116085375585099 1.24));
}
patchSeedCoeffs
{
type patchSeed;
patches (motorBikeGroup);
axis x; //distance;
maxPoints 20000;
}
}
// ************************************************************************* //