Commit Graph

7 Commits

Author SHA1 Message Date
5f8638bc74 sampledSet: Put sets in a namespace 2018-06-21 11:59:32 +01:00
3ef4c803cd sampledSet: Consistent renaming, documentation, and code maintenance
The sampled sets have been renamed in a more explicit and consistent
manner, and two new ones have also been added. The available sets are as
follows:

    arcUniform: Uniform samples along an arc. Replaces "circle", and
    adds the ability to sample along only a part of the circle's
    circumference. Example:

        {
            type        arcUniform;
            centre      (0.95 0 0.25);
            normal      (1 0 0);
            radial      (0 0 0.25);
            startAngle  -1.57079633;
            endAngle    0.52359878;
            nPoints     200;
            axis        x;
        }

    boundaryPoints: Specified point samples associated with a subset of
    the boundary. Replaces "patchCloud". Example:

        {
            type        boundaryPoints;
            patches     (inlet1 inlet2);
            points      ((0 -0.05 0.05) (0 -0.05 0.1) (0 -0.05 0.15));
            maxDistance 0.01;
            axis        x;
        }

    boundaryRandom: Random samples within a subset of the boundary.
    Replaces "patchSeed", but changes the behaviour to be entirely
    random. It does not seed the boundary face centres first. Example:

        {
            type        boundaryRandom;
            patches     (inlet1 inlet2);
            nPoints     1000;
            axis        x;
        }

    boxUniform: Uniform grid of samples within a axis-aligned box.
    Replaces "array". Example:

        {
            type    boxUniform;
            box     (0.95 0 0.25) (1.2 0.25 0.5);
            nPoints (2 4 6);
            axis    x;
        }

    circleRandom: Random samples within a circle. New. Example:

        {
            type        circleRandom;
            centre      (0.95 0 0.25);
            normal      (1 0 0);
            radius      0.25;
            nPoints     200;
            axis        x;
        }

    lineFace: Face-intersections along a line. Replaces "face". Example:

        {
            type        lineFace;
            start       (0.6 0.6 0.5);
            end         (0.6 -0.3 -0.1);
            axis        x;
        }

    lineCell: Cell-samples along a line at the mid-points in-between
    face-intersections. Replaces "midPoint". Example:

        {
            type        lineCell;
            start       (0.5 0.6 0.5);
            end         (0.5 -0.3 -0.1);
            axis        x;
        }

    lineCellFace: Combination of "lineFace" and "lineCell". Replaces
    "midPointAndFace". Example:

        {
            type        lineCellFace;
            start       (0.55 0.6 0.5);
            end         (0.55 -0.3 -0.1);
            axis        x;
        }

    lineUniform: Uniform samples along a line. Replaces "uniform".
    Example:

        {
            type        lineUniform;
            start       (0.65 0.3 0.3);
            end         (0.65 -0.3 -0.1);
            nPoints     200;
            axis        x;
        }

    points: Specified points. Replaces "cloud" when the ordered flag is
    false, and "polyLine" when the ordered flag is true. Example:

        {
            type        points;
            points      ((0 -0.05 0.05) (0 -0.05 0.1) (0 -0.05 0.15));
            ordered     yes;
            axis        x;
        }

    sphereRandom: Random samples within a sphere. New. Example:

        {
            type        sphereRandom;
            centre      (0.95 0 0.25);
            radius      0.25;
            nPoints     200;
            axis        x;
        }

    triSurfaceMesh: Samples from all the points of a triSurfaceMesh.
    Replaces "triSurfaceMeshPointSet". Example:

        {
            type        triSurfaceMesh;
            surface     "surface.stl";
            axis        x;
        }

The headers have also had documentation added. Example usage and a
description of the control parameters now exists for all sets.

In addition, a number of the algorithms which generate the sets have
been refactored or rewritten. This was done either to take advantage of
the recent changes to random number generation, or to remove ad-hoc
fixes that were made unnecessary by the barycentric tracking algorithm.
2018-06-21 08:41:44 +01:00
43b35a5173 triangle, triFace, face: Rationalized normal for consistency with the rest of OpenFOAM
For compatibility with all the mesh and related classes in OpenFOAM The 'normal'
function of the 'triangle', 'triFace' and 'face' classes now returns the unit
normal vector rather than the vector area which is now provided by the 'area'
function.
2018-04-06 13:57:36 +01:00
7c9d416265 src/sampling/Make/files: Updated 2016-06-30 10:33:07 +01:00
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
71c6af8fe9 mapFields: Reinstated mapFields from OpenFOAM-2.2.x and renamed the current mapFields -> mapFieldsPar
This required the addition of the meshToMesh class in the sampling
library from OpenFOAM-2.2.x which is now named meshToMesh0.
2015-05-26 11:32:46 +01:00
446e5777f0 Add the OpenFOAM source tree 2014-12-10 22:40:10 +00:00