diff --git a/applications/test/BinSum/Test-BinSum.C b/applications/test/BinSum/Test-BinSum.C index 873e7eb893..6d0abfff28 100644 --- a/applications/test/BinSum/Test-BinSum.C +++ b/applications/test/BinSum/Test-BinSum.C @@ -46,7 +46,7 @@ int main(int argc, char *argv[]) scalarField samples(10000000); forAll(samples, i) { - samples[i] = rndGen.scalar01(); + samples[i] = rndGen.sample01(); } const scalar min = 0; diff --git a/applications/test/Distribution/Test-Distribution.C b/applications/test/Distribution/Test-Distribution.C index f893e1e4bc..647c7a7d42 100644 --- a/applications/test/Distribution/Test-Distribution.C +++ b/applications/test/Distribution/Test-Distribution.C @@ -71,7 +71,7 @@ int main(int argc, char *argv[]) for (label i = 0; i < randomDistributionTestSize; i++) { - dS.add(2.5*R.GaussNormal() + 8.5); + dS.add(2.5*R.GaussNormal() + 8.5); } Info<< "Mean " << dS.mean() << nl @@ -90,7 +90,7 @@ int main(int argc, char *argv[]) for (label i = 0; i < randomDistributionTestSize; i++) { - dS2.add(1.5*R.GaussNormal() -6.0); + dS2.add(1.5*R.GaussNormal() -6.0); } Info<< "Mean " << dS2.mean() << nl @@ -121,7 +121,7 @@ int main(int argc, char *argv[]) for (label i = 0; i < randomDistributionTestSize; i++) { - dS.add(R.scalar01() + 10*Pstream::myProcNo()); + dS.add(R.sample01() + 10*Pstream::myProcNo()); } Pout<< "Mean " << dS.mean() << nl @@ -155,7 +155,7 @@ int main(int argc, char *argv[]) for (label i = 0; i < randomDistributionTestSize; i++) { - dV.add(R.vector01()); + dV.add(R.sample01()); // Adding separate GaussNormal components with component // weights @@ -164,9 +164,9 @@ int main(int argc, char *argv[]) ( vector ( - R.GaussNormal()*3.0 + 1.5, - R.GaussNormal()*0.25 + 4.0, - R.GaussNormal()*3.0 - 1.5 + R.GaussNormal()*3.0 + 1.5, + R.GaussNormal()*0.25 + 4.0, + R.GaussNormal()*3.0 - 1.5 ), vector(1.0, 2.0, 5.0) ); @@ -225,7 +225,7 @@ int main(int argc, char *argv[]) for (label i = 0; i < randomDistributionTestSize; i++) { - dT.add(R.tensor01()); + dT.add(R.sample01()); } Info<< "Mean " << dT.mean() << nl @@ -249,7 +249,7 @@ int main(int argc, char *argv[]) for (label i = 0; i < randomDistributionTestSize; i++) { - dSyT.add(R.symmTensor01()); + dSyT.add(R.sample01()); } Info<< "Mean " << dSyT.mean() << nl @@ -273,7 +273,7 @@ int main(int argc, char *argv[]) for (label i = 0; i < randomDistributionTestSize; i++) { - dSpT.add(R.sphericalTensor01()); + dSpT.add(R.sample01()); } Info<< "Mean " << dSpT.mean() << nl diff --git a/applications/test/Polynomial/Test-Polynomial.C b/applications/test/Polynomial/Test-Polynomial.C index 352d15f96d..6a6fb8bb45 100644 --- a/applications/test/Polynomial/Test-Polynomial.C +++ b/applications/test/Polynomial/Test-Polynomial.C @@ -152,7 +152,7 @@ int main(int argc, char *argv[]) Random rnd(123456); for (int i=0; i<10; i++) { - scalar x = rnd.scalar01()*100; + scalar x = rnd.sample01()*100; scalar px = polyValue(x); scalar ipx = intPolyValue(x); diff --git a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshI.H b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshI.H index 190e493322..929eeb306b 100644 --- a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshI.H +++ b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshI.H @@ -293,9 +293,9 @@ inline Foam::point Foam::conformalVoronoiMesh::perturbPoint scalar pert = 1e-12*defaultCellSize(); - perturbedPt.x() += pert*(rndGen_.scalar01() - 0.5); - perturbedPt.y() += pert*(rndGen_.scalar01() - 0.5); - perturbedPt.z() += pert*(rndGen_.scalar01() - 0.5); + perturbedPt.x() += pert*(rndGen_.sample01() - 0.5); + perturbedPt.y() += pert*(rndGen_.sample01() - 0.5); + perturbedPt.z() += pert*(rndGen_.sample01() - 0.5); return perturbedPt; } diff --git a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/initialPointsMethod/autoDensity/autoDensity.C b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/initialPointsMethod/autoDensity/autoDensity.C index e2d1001504..1acd01d9bf 100644 --- a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/initialPointsMethod/autoDensity/autoDensity.C +++ b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/initialPointsMethod/autoDensity/autoDensity.C @@ -553,11 +553,11 @@ bool Foam::autoDensity::fillBox + vector ( delta.x() - *(i + 0.5 + 0.1*(rndGen().scalar01() - 0.5)), + *(i + 0.5 + 0.1*(rndGen().sample01() - 0.5)), delta.y() - *(j + 0.5 + 0.1*(rndGen().scalar01() - 0.5)), + *(j + 0.5 + 0.1*(rndGen().sample01() - 0.5)), delta.z() - *(k + 0.5 + 0.1*(rndGen().scalar01() - 0.5)) + *(k + 0.5 + 0.1*(rndGen().sample01() - 0.5)) ); } } @@ -662,7 +662,7 @@ bool Foam::autoDensity::fillBox // TODO - is there a lot of cost in the 1/density calc? Could // assess on // (1/maxDensity)/(1/localDensity) = minVolume/localVolume - if (localDensity/maxDensity > rndGen().scalar01()) + if (localDensity/maxDensity > rndGen().sample01()) { scalar localVolume = 1/localDensity; @@ -675,7 +675,7 @@ bool Foam::autoDensity::fillBox scalar addProbability = (totalVolume - volumeAdded)/localVolume; - scalar r = rndGen().scalar01(); + scalar r = rndGen().sample01(); if (debug) { @@ -729,7 +729,7 @@ bool Foam::autoDensity::fillBox { trialPoints++; - point p = min + cmptMultiply(span, rndGen().vector01()); + point p = min + cmptMultiply(span, rndGen().sample01()); scalar localSize = cellShapeControls().cellSize(p); @@ -785,7 +785,7 @@ bool Foam::autoDensity::fillBox // Accept possible placements proportional to the relative local // density - if (localDensity/maxDensity > rndGen().scalar01()) + if (localDensity/maxDensity > rndGen().sample01()) { scalar localVolume = 1/localDensity; @@ -798,7 +798,7 @@ bool Foam::autoDensity::fillBox scalar addProbability = (totalVolume - volumeAdded)/localVolume; - scalar r = rndGen().scalar01(); + scalar r = rndGen().sample01(); if (debug) { diff --git a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/initialPointsMethod/bodyCentredCubic/bodyCentredCubic.C b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/initialPointsMethod/bodyCentredCubic/bodyCentredCubic.C index 17a4285d86..8991e7ae9d 100644 --- a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/initialPointsMethod/bodyCentredCubic/bodyCentredCubic.C +++ b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/initialPointsMethod/bodyCentredCubic/bodyCentredCubic.C @@ -129,9 +129,9 @@ List bodyCentredCubic::initialPoints() const if (randomiseInitialGrid_) { - pA.x() += pert*(rndGen().scalar01() - 0.5); - pA.y() += pert*(rndGen().scalar01() - 0.5); - pA.z() += pert*(rndGen().scalar01() - 0.5); + pA.x() += pert*(rndGen().sample01() - 0.5); + pA.y() += pert*(rndGen().sample01() - 0.5); + pA.z() += pert*(rndGen().sample01() - 0.5); } if (Pstream::parRun()) @@ -150,9 +150,9 @@ List bodyCentredCubic::initialPoints() const if (randomiseInitialGrid_) { - pB.x() += pert*(rndGen().scalar01() - 0.5); - pB.y() += pert*(rndGen().scalar01() - 0.5); - pB.z() += pert*(rndGen().scalar01() - 0.5); + pB.x() += pert*(rndGen().sample01() - 0.5); + pB.y() += pert*(rndGen().sample01() - 0.5); + pB.z() += pert*(rndGen().sample01() - 0.5); } if (Pstream::parRun()) diff --git a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/initialPointsMethod/faceCentredCubic/faceCentredCubic.C b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/initialPointsMethod/faceCentredCubic/faceCentredCubic.C index 9fd36aee3a..36052a3bbb 100644 --- a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/initialPointsMethod/faceCentredCubic/faceCentredCubic.C +++ b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/initialPointsMethod/faceCentredCubic/faceCentredCubic.C @@ -127,9 +127,9 @@ List faceCentredCubic::initialPoints() const if (randomiseInitialGrid_) { - p.x() += pert*(rndGen().scalar01() - 0.5); - p.y() += pert*(rndGen().scalar01() - 0.5); - p.z() += pert*(rndGen().scalar01() - 0.5); + p.x() += pert*(rndGen().sample01() - 0.5); + p.y() += pert*(rndGen().sample01() - 0.5); + p.z() += pert*(rndGen().sample01() - 0.5); } if (Pstream::parRun()) @@ -155,9 +155,9 @@ List faceCentredCubic::initialPoints() const if (randomiseInitialGrid_) { - p.x() += pert*(rndGen().scalar01() - 0.5); - p.y() += pert*(rndGen().scalar01() - 0.5); - p.z() += pert*(rndGen().scalar01() - 0.5); + p.x() += pert*(rndGen().sample01() - 0.5); + p.y() += pert*(rndGen().sample01() - 0.5); + p.z() += pert*(rndGen().sample01() - 0.5); } if (Pstream::parRun()) @@ -183,9 +183,9 @@ List faceCentredCubic::initialPoints() const if (randomiseInitialGrid_) { - p.x() += pert*(rndGen().scalar01() - 0.5); - p.y() += pert*(rndGen().scalar01() - 0.5); - p.z() += pert*(rndGen().scalar01() - 0.5); + p.x() += pert*(rndGen().sample01() - 0.5); + p.y() += pert*(rndGen().sample01() - 0.5); + p.z() += pert*(rndGen().sample01() - 0.5); } if (Pstream::parRun()) @@ -211,9 +211,9 @@ List faceCentredCubic::initialPoints() const if (randomiseInitialGrid_) { - p.x() += pert*(rndGen().scalar01() - 0.5); - p.y() += pert*(rndGen().scalar01() - 0.5); - p.z() += pert*(rndGen().scalar01() - 0.5); + p.x() += pert*(rndGen().sample01() - 0.5); + p.y() += pert*(rndGen().sample01() - 0.5); + p.z() += pert*(rndGen().sample01() - 0.5); } if (Pstream::parRun()) diff --git a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/initialPointsMethod/pointFile/pointFile.C b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/initialPointsMethod/pointFile/pointFile.C index 38742a6203..a09153cf20 100644 --- a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/initialPointsMethod/pointFile/pointFile.C +++ b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/initialPointsMethod/pointFile/pointFile.C @@ -198,9 +198,15 @@ List pointFile::initialPoints() const if (randomiseInitialGrid_) { - p.x() += randomPerturbationCoeff_*(rndGen().scalar01() - 0.5); - p.y() += randomPerturbationCoeff_*(rndGen().scalar01() - 0.5); - p.z() += randomPerturbationCoeff_*(rndGen().scalar01() - 0.5); + p.x() += + randomPerturbationCoeff_ + *(rndGen().sample01() - 0.5); + p.y() += + randomPerturbationCoeff_ + *(rndGen().sample01() - 0.5); + p.z() += + randomPerturbationCoeff_ + *(rndGen().sample01() - 0.5); } initialPoints.append(Vb::Point(p.x(), p.y(), p.z())); diff --git a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/initialPointsMethod/rayShooting/rayShooting.C b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/initialPointsMethod/rayShooting/rayShooting.C index 103a09c23a..7727153e5b 100644 --- a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/initialPointsMethod/rayShooting/rayShooting.C +++ b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/initialPointsMethod/rayShooting/rayShooting.C @@ -86,9 +86,9 @@ void rayShooting::splitLine { Foam::point newPt ( - midPoint.x() + pert*(rndGen().scalar01() - 0.5), - midPoint.y() + pert*(rndGen().scalar01() - 0.5), - midPoint.z() + pert*(rndGen().scalar01() - 0.5) + midPoint.x() + pert*(rndGen().sample01() - 0.5), + midPoint.y() + pert*(rndGen().sample01() - 0.5), + midPoint.z() + pert*(rndGen().sample01() - 0.5) ); if diff --git a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/initialPointsMethod/uniformGrid/uniformGrid.C b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/initialPointsMethod/uniformGrid/uniformGrid.C index 319db49293..e7d8d8dcf1 100644 --- a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/initialPointsMethod/uniformGrid/uniformGrid.C +++ b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/initialPointsMethod/uniformGrid/uniformGrid.C @@ -128,9 +128,9 @@ List uniformGrid::initialPoints() const if (randomiseInitialGrid_) { - p.x() += pert*(rndGen().scalar01() - 0.5); - p.y() += pert*(rndGen().scalar01() - 0.5); - p.z() += pert*(rndGen().scalar01() - 0.5); + p.x() += pert*(rndGen().sample01() - 0.5); + p.y() += pert*(rndGen().sample01() - 0.5); + p.z() += pert*(rndGen().sample01() - 0.5); } if diff --git a/applications/utilities/mesh/generation/foamyMesh/foamyQuadMesh/CV2D.C b/applications/utilities/mesh/generation/foamyMesh/foamyQuadMesh/CV2D.C index 92d08f29d6..1a540eaf8d 100644 --- a/applications/utilities/mesh/generation/foamyMesh/foamyQuadMesh/CV2D.C +++ b/applications/utilities/mesh/generation/foamyMesh/foamyQuadMesh/CV2D.C @@ -264,8 +264,8 @@ void Foam::CV2D::insertGrid() if (meshControls().randomiseInitialGrid()) { - p.x() += pert*(rndGen.scalar01() - 0.5); - p.y() += pert*(rndGen.scalar01() - 0.5); + p.x() += pert*(rndGen.sample01() - 0.5); + p.y() += pert*(rndGen.sample01() - 0.5); } if (qSurf_.wellInside(p, 0.5*meshControls().minCellSize2())) diff --git a/applications/utilities/postProcessing/miscellaneous/pdfPlot/createFields.H b/applications/utilities/postProcessing/miscellaneous/pdfPlot/createFields.H index 85ec143ca9..68229a7a93 100644 --- a/applications/utilities/postProcessing/miscellaneous/pdfPlot/createFields.H +++ b/applications/utilities/postProcessing/miscellaneous/pdfPlot/createFields.H @@ -20,7 +20,7 @@ const fileName pdfPath = runTime.path()/"pdf"; mkDir(pdfPath); - cachedRandom rndGen(label(0), -1); + Random rndGen; autoPtr p ( diff --git a/applications/utilities/surface/surfaceBooleanFeatures/surfaceBooleanFeatures.C b/applications/utilities/surface/surfaceBooleanFeatures/surfaceBooleanFeatures.C index abc3d321d2..02d0b0c8e6 100644 --- a/applications/utilities/surface/surfaceBooleanFeatures/surfaceBooleanFeatures.C +++ b/applications/utilities/surface/surfaceBooleanFeatures/surfaceBooleanFeatures.C @@ -783,7 +783,7 @@ labelPair edgeIntersectionsAndShuffleCGAL const edge& e = edges[edgeI]; forAll(e, eI) { - vector d = rndGen.vector01()-p05; + vector d = rndGen.sample01() - p05; surf1Points[mp[e[eI]]] += surf1PointTol[e[eI]]*d; } } diff --git a/applications/utilities/surface/surfaceInertia/surfaceInertia.C b/applications/utilities/surface/surfaceInertia/surfaceInertia.C index b0808d239d..fb45390688 100644 --- a/applications/utilities/surface/surfaceInertia/surfaceInertia.C +++ b/applications/utilities/surface/surfaceInertia/surfaceInertia.C @@ -125,9 +125,9 @@ int main(int argc, char *argv[]) << "No eigenValues found, shape may have symmetry, " << "perturbing inertia tensor diagonal" << endl; - J.xx() *= 1.0 + SMALL*rand.scalar01(); - J.yy() *= 1.0 + SMALL*rand.scalar01(); - J.zz() *= 1.0 + SMALL*rand.scalar01(); + J.xx() *= 1.0 + SMALL*rand.sample01(); + J.yy() *= 1.0 + SMALL*rand.sample01(); + J.zz() *= 1.0 + SMALL*rand.sample01(); eVal = eigenValues(J); diff --git a/src/OpenFOAM/Make/files b/src/OpenFOAM/Make/files index 14af54effd..5636f7c937 100644 --- a/src/OpenFOAM/Make/files +++ b/src/OpenFOAM/Make/files @@ -111,7 +111,6 @@ $(sha1)/SHA1.C $(sha1)/SHA1Digest.C primitives/random/Random/Random.C -primitives/random/cachedRandom/cachedRandom.C ranges = primitives/ranges $(ranges)/labelRange/labelRange.C diff --git a/src/OpenFOAM/meshes/primitiveShapes/tetrahedron/tetrahedron.H b/src/OpenFOAM/meshes/primitiveShapes/tetrahedron/tetrahedron.H index badea19542..2369e77ca8 100644 --- a/src/OpenFOAM/meshes/primitiveShapes/tetrahedron/tetrahedron.H +++ b/src/OpenFOAM/meshes/primitiveShapes/tetrahedron/tetrahedron.H @@ -42,7 +42,6 @@ SourceFiles #include "point.H" #include "primitiveFieldsFwd.H" #include "pointHit.H" -#include "cachedRandom.H" #include "Random.H" #include "FixedList.H" #include "UList.H" @@ -239,10 +238,6 @@ public: // uniform distribution inline Point randomPoint(Random& rndGen) const; - //- Return a random point in the tetrahedron from a - // uniform distribution - inline Point randomPoint(cachedRandom& rndGen) const; - //- Calculate the barycentric coordinates of the given // point, in the same order as a, b, c, d. Returns the // determinant of the solution. diff --git a/src/OpenFOAM/meshes/primitiveShapes/tetrahedron/tetrahedronI.H b/src/OpenFOAM/meshes/primitiveShapes/tetrahedron/tetrahedronI.H index 2c14d16121..d95f42dc1e 100644 --- a/src/OpenFOAM/meshes/primitiveShapes/tetrahedron/tetrahedronI.H +++ b/src/OpenFOAM/meshes/primitiveShapes/tetrahedron/tetrahedronI.H @@ -249,42 +249,6 @@ inline Point Foam::tetrahedron::randomPoint // Adapted from // http://vcg.isti.cnr.it/activities/geometryegraphics/pointintetraedro.html - scalar s = rndGen.scalar01(); - scalar t = rndGen.scalar01(); - scalar u = rndGen.scalar01(); - - if (s + t > 1.0) - { - s = 1.0 - s; - t = 1.0 - t; - } - - if (t + u > 1.0) - { - scalar tmp = u; - u = 1.0 - s - t; - t = 1.0 - tmp; - } - else if (s + t + u > 1.0) - { - scalar tmp = u; - u = s + t + u - 1.0; - s = 1.0 - t - tmp; - } - - return (1 - s - t - u)*a_ + s*b_ + t*c_ + u*d_; -} - - -template -inline Point Foam::tetrahedron::randomPoint -( - cachedRandom& rndGen -) const -{ - // Adapted from - // http://vcg.isti.cnr.it/activities/geometryegraphics/pointintetraedro.html - scalar s = rndGen.sample01(); scalar t = rndGen.sample01(); scalar u = rndGen.sample01(); diff --git a/src/OpenFOAM/meshes/primitiveShapes/triangle/triangle.H b/src/OpenFOAM/meshes/primitiveShapes/triangle/triangle.H index d689fa0b1e..a73d7a0e5e 100644 --- a/src/OpenFOAM/meshes/primitiveShapes/triangle/triangle.H +++ b/src/OpenFOAM/meshes/primitiveShapes/triangle/triangle.H @@ -40,7 +40,6 @@ SourceFiles #include "tensor.H" #include "pointHit.H" #include "Random.H" -#include "cachedRandom.H" #include "FixedList.H" #include "UList.H" #include "linePointRef.H" @@ -238,10 +237,6 @@ public: // distribution inline Point randomPoint(Random& rndGen) const; - //- Return a random point on the triangle from a uniform - // distribution - inline Point randomPoint(cachedRandom& rndGen) const; - //- Calculate the barycentric coordinates of the given // point, in the same order as a, b, c. Returns the // determinant of the solution. diff --git a/src/OpenFOAM/meshes/primitiveShapes/triangle/triangleI.H b/src/OpenFOAM/meshes/primitiveShapes/triangle/triangleI.H index eee54fd92c..605e10589b 100644 --- a/src/OpenFOAM/meshes/primitiveShapes/triangle/triangleI.H +++ b/src/OpenFOAM/meshes/primitiveShapes/triangle/triangleI.H @@ -249,25 +249,6 @@ inline Point Foam::triangle::randomPoint(Random& rndGen) const // from "Graphics Gems", Academic Press, 1990 // http://tog.acm.org/GraphicsGems/gems/TriPoints.c - scalar s = rndGen.scalar01(); - - scalar t = sqrt(rndGen.scalar01()); - - return (1 - t)*a_ + (1 - s)*t*b_ + s*t*c_; -} - - -template -inline Point Foam::triangle::randomPoint -( - cachedRandom& rndGen -) const -{ - // Generating Random Points in Triangles - // by Greg Turk - // from "Graphics Gems", Academic Press, 1990 - // http://tog.acm.org/GraphicsGems/gems/TriPoints.c - scalar s = rndGen.sample01(); scalar t = sqrt(rndGen.sample01()); diff --git a/src/OpenFOAM/meshes/treeBoundBox/treeBoundBox.H b/src/OpenFOAM/meshes/treeBoundBox/treeBoundBox.H index edc42983df..7c27f9fc26 100644 --- a/src/OpenFOAM/meshes/treeBoundBox/treeBoundBox.H +++ b/src/OpenFOAM/meshes/treeBoundBox/treeBoundBox.H @@ -335,7 +335,7 @@ public: label distanceCmp(const point& pt, const treeBoundBox& other) const; //- Return slightly wider bounding box - // Extends all dimensions with s*span*Random::scalar01() + // Extends all dimensions with s*span*Random::sample01() // and guarantees in any direction s*mag(span) minimum width inline treeBoundBox extend(Random& rndGen, const scalar s) const; diff --git a/src/OpenFOAM/meshes/treeBoundBox/treeBoundBoxI.H b/src/OpenFOAM/meshes/treeBoundBox/treeBoundBoxI.H index 4b073fd975..750a6737ff 100644 --- a/src/OpenFOAM/meshes/treeBoundBox/treeBoundBoxI.H +++ b/src/OpenFOAM/meshes/treeBoundBox/treeBoundBoxI.H @@ -336,8 +336,8 @@ inline Foam::treeBoundBox Foam::treeBoundBox::extend newSpan[dir] = Foam::max(newSpan[dir], minSpan); } - bb.min() -= cmptMultiply(s * rndGen.vector01(), newSpan); - bb.max() += cmptMultiply(s * rndGen.vector01(), newSpan); + bb.min() -= cmptMultiply(s*rndGen.sample01(), newSpan); + bb.max() += cmptMultiply(s*rndGen.sample01(), newSpan); return bb; } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/turbulentDFSEMInlet/eddy/eddy.C b/src/finiteVolume/fields/fvPatchFields/derived/turbulentDFSEMInlet/eddy/eddy.C index b4a73f3b91..1883fac278 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/turbulentDFSEMInlet/eddy/eddy.C +++ b/src/finiteVolume/fields/fvPatchFields/derived/turbulentDFSEMInlet/eddy/eddy.C @@ -129,7 +129,7 @@ Foam::eddy::eddy const scalar x, const scalar sigmaX, const symmTensor& R, - cachedRandom& rndGen + Random& rndGen ) : patchFaceI_(patchFaceI), diff --git a/src/finiteVolume/fields/fvPatchFields/derived/turbulentDFSEMInlet/eddy/eddy.H b/src/finiteVolume/fields/fvPatchFields/derived/turbulentDFSEMInlet/eddy/eddy.H index 5bd0feb0f1..be527caa2f 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/turbulentDFSEMInlet/eddy/eddy.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/turbulentDFSEMInlet/eddy/eddy.H @@ -41,7 +41,7 @@ SourceFiles #include "vector.H" #include "point.H" #include "tensor.H" -#include "cachedRandom.H" +#include "Random.H" #include "coordinateSystem.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -112,7 +112,7 @@ class eddy ) const; //- Return a number with zero mean and unit variance - inline scalar epsi(cachedRandom& rndGen) const; + inline scalar epsi(Random& rndGen) const; public: @@ -133,7 +133,7 @@ public: const scalar x, // distance from reference position const scalar sigmaX, // length scale const symmTensor& R, // Stress tensor - cachedRandom& rndGen + Random& rndGen ); //- Construct copy @@ -175,7 +175,7 @@ public: inline label dir1() const; //- Return random vector of -1 and 1's - inline vector epsilon(cachedRandom& rndGen) const; + inline vector epsilon(Random& rndGen) const; // Helper functions diff --git a/src/finiteVolume/fields/fvPatchFields/derived/turbulentDFSEMInlet/eddy/eddyI.H b/src/finiteVolume/fields/fvPatchFields/derived/turbulentDFSEMInlet/eddy/eddyI.H index 82c579fcc5..91531bf13d 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/turbulentDFSEMInlet/eddy/eddyI.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/turbulentDFSEMInlet/eddy/eddyI.H @@ -29,7 +29,7 @@ using namespace Foam::constant; // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -Foam::scalar Foam::eddy::epsi(cachedRandom& rndGen) const +Foam::scalar Foam::eddy::epsi(Random& rndGen) const { // Random number with zero mean and unit variance return rndGen.sample01() > 0.5 ? 1 : -1; @@ -84,7 +84,7 @@ inline Foam::scalar Foam::eddy::c1() const } -Foam::vector Foam::eddy::epsilon(cachedRandom& rndGen) const +Foam::vector Foam::eddy::epsilon(Random& rndGen) const { return vector(epsi(rndGen), epsi(rndGen), epsi(rndGen)); } diff --git a/src/finiteVolume/fields/fvPatchFields/derived/turbulentDFSEMInlet/turbulentDFSEMInletFvPatchVectorField.H b/src/finiteVolume/fields/fvPatchFields/derived/turbulentDFSEMInlet/turbulentDFSEMInletFvPatchVectorField.H index b1d0afe62a..d14d82266f 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/turbulentDFSEMInlet/turbulentDFSEMInletFvPatchVectorField.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/turbulentDFSEMInlet/turbulentDFSEMInletFvPatchVectorField.H @@ -81,7 +81,7 @@ SourceFiles #define turbulentDFSEMInletFvPatchVectorField_H #include "fixedValueFvPatchFields.H" -#include "cachedRandom.H" +#include "Random.H" #include "eddy.H" #include "pointIndexHit.H" #include "instantList.H" @@ -184,7 +184,7 @@ class turbulentDFSEMInletFvPatchVectorField scalar v0_; //- Random number generator - cachedRandom rndGen_; + Random rndGen_; //- Length scale per patch face scalarField sigmax_; diff --git a/src/finiteVolume/fields/fvPatchFields/derived/turbulentInlet/turbulentInletFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/derived/turbulentInlet/turbulentInletFvPatchField.C index ec71541bd0..b457ecd85a 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/turbulentInlet/turbulentInletFvPatchField.C +++ b/src/finiteVolume/fields/fvPatchFields/derived/turbulentInlet/turbulentInletFvPatchField.C @@ -166,7 +166,7 @@ void Foam::turbulentInletFvPatchField::updateCoeffs() forAll(patchField, facei) { - ranGen_.randomise(randomField[facei]); + ranGen_.randomise01(randomField[facei]); } // Correction-factor to compensate for the loss of RMS fluctuation diff --git a/src/functionObjects/field/particleDistribution/particleDistribution.H b/src/functionObjects/field/particleDistribution/particleDistribution.H index fec579f193..4e7765e1b1 100644 --- a/src/functionObjects/field/particleDistribution/particleDistribution.H +++ b/src/functionObjects/field/particleDistribution/particleDistribution.H @@ -73,7 +73,7 @@ SourceFiles #include "fvMeshFunctionObject.H" #include "writeFile.H" #include "scalarField.H" -#include "cachedRandom.H" +#include "Random.H" #include "Tuple2.H" #include "writer.H" @@ -107,7 +107,7 @@ protected: word tagFieldName_; //- Random number generator - used by distribution models - cachedRandom rndGen_; + Random rndGen_; //- Writer autoPtr> writerPtr_; diff --git a/src/functionObjects/field/randomise/randomiseTemplates.C b/src/functionObjects/field/randomise/randomiseTemplates.C index a466ef3551..f0c691eb39 100644 --- a/src/functionObjects/field/randomise/randomiseTemplates.C +++ b/src/functionObjects/field/randomise/randomiseTemplates.C @@ -47,7 +47,7 @@ bool Foam::functionObjects::randomise::calcRandomised() forAll(field, celli) { Type rndPert; - rand.randomise(rndPert); + rand.randomise01(rndPert); rndPert = 2.0*rndPert - pTraits::one; rndPert /= mag(rndPert); rfield[celli] += magPerturbation_*rndPert; diff --git a/src/lagrangian/DSMC/clouds/Templates/DSMCCloud/DSMCCloud.C b/src/lagrangian/DSMC/clouds/Templates/DSMCCloud/DSMCCloud.C index 6da1c1aa8e..fadaf872bc 100644 --- a/src/lagrangian/DSMC/clouds/Templates/DSMCCloud/DSMCCloud.C +++ b/src/lagrangian/DSMC/clouds/Templates/DSMCCloud/DSMCCloud.C @@ -152,7 +152,7 @@ void Foam::DSMCCloud::initialise if ( (particlesRequired - nParticlesToInsert) - > rndGen_.scalar01() + > rndGen_.sample01() ) { nParticlesToInsert++; @@ -282,7 +282,7 @@ void Foam::DSMCCloud::collisions() // subCell candidate selection procedure // Select the first collision candidate - label candidateP = rndGen_.integer(0, nC - 1); + label candidateP = rndGen_.position