50 void Foam::sampledSets::circleRandom::calcSamples
52 DynamicList<point>& samplingPositions,
53 DynamicList<label>& samplingSegments,
54 DynamicList<label>& samplingCells,
55 DynamicList<label>& samplingFaces
58 randomGenerator
rndGen(261782,
true);
63 for (
label i = 0; i < nPoints_; ++ i)
68 const scalar r = radius_*
rndGen.scalar01();
70 const scalar
c =
cos(theta),
s =
sin(theta);
72 const point pt = centre_ + r*(
c*radial1 +
s*radial2);
77 samplingPositions.append(pt);
78 samplingSegments.append(i);
79 samplingCells.append(celli);
80 samplingFaces.append(-1);
86 void Foam::sampledSets::circleRandom::genSamples()
88 DynamicList<point> samplingPositions;
89 DynamicList<label> samplingSegments;
90 DynamicList<label> samplingCells;
91 DynamicList<label> samplingFaces;
101 samplingPositions.shrink();
102 samplingSegments.shrink();
103 samplingCells.shrink();
104 samplingFaces.shrink();
127 centre_(
dict.lookup(
"centre")),
129 radius_(
dict.lookup<scalar>(
"radius")),
Macros for easy insertion into run-time selection tables.
A list of keyword definitions, which are a keyword followed by any number of values (e....
Various (local, not parallel) searches on polyMesh; uses (demand driven) octree to search.
label findCell(const point &location, const label seedCelli=-1, const bool useTreeSearch=true) const
Find cell containing location.
Mesh consisting of general polyhedral cells.
Holds list of sampling points which is filled at construction time. Various implementations of this b...
const meshSearch & searchEngine() const
Access the search engine.
Random samples within a circle.
virtual ~circleRandom()
Destructor.
circleRandom(const word &name, const polyMesh &mesh, const meshSearch &searchEngine, const dictionary &dict)
Construct from dictionary.
Set of sets to sample. Call sampledSets.write() to sample&write files.
A class for handling words, derived from string.
gmvFile<< "tracers "<< particles.size()<< nl;forAllConstIter(Cloud< passiveParticle >, particles, iter){ gmvFile<< iter().position().x()<< " ";}gmvFile<< nl;forAllConstIter(Cloud< passiveParticle >, particles, iter){ gmvFile<< iter().position().y()<< " ";}gmvFile<< nl;forAllConstIter(Cloud< passiveParticle >, particles, iter){ gmvFile<< iter().position().z()<< " ";}gmvFile<< nl;forAll(lagrangianScalarNames, i){ word name=lagrangianScalarNames[i];IOField< scalar > s(IOobject(name, runTime.name(), cloud::prefix, mesh, IOobject::MUST_READ, IOobject::NO_WRITE))
const dimensionedScalar c
Speed of light in a vacuum.
defineTypeNameAndDebug(arcUniform, 0)
addToRunTimeSelectionTable(sampledSet, arcUniform, word)
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
word name(const bool)
Return a word representation of a bool.
dimensionedScalar sin(const dimensionedScalar &ds)
vector point
Point is a vector.
Vector< scalar > vector
A scalar version of the templated Vector.
dimensionSet normalised(const dimensionSet &)
dimensionSet perpendicular(const dimensionSet &)
dimensionedScalar cos(const dimensionedScalar &ds)
randomGenerator rndGen(653213)