diff --git a/src/lagrangian/dieselSpray/injector/commonRailInjector/commonRailInjector.C b/src/lagrangian/dieselSpray/injector/commonRailInjector/commonRailInjector.C index 922c51a8d8..374e1a16c0 100644 --- a/src/lagrangian/dieselSpray/injector/commonRailInjector/commonRailInjector.C +++ b/src/lagrangian/dieselSpray/injector/commonRailInjector/commonRailInjector.C @@ -25,7 +25,6 @@ License #include "commonRailInjector.H" #include "addToRunTimeSelectionTable.H" -#include "Random.H" #include "mathematicalConstants.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // @@ -175,13 +174,13 @@ Foam::commonRailInjector::~commonRailInjector() void Foam::commonRailInjector::setTangentialVectors() { - Random rndGen(label(0)); + cachedRandom rndGen(label(0), -1); scalar magV = 0.0; vector tangent; while (magV < SMALL) { - vector testThis = rndGen.vector01(); + vector testThis = rndGen.sample01(); tangent = testThis - (testThis & direction_)*direction_; magV = mag(tangent); @@ -223,7 +222,7 @@ Foam::vector Foam::commonRailInjector::position const vector& axisOfSymmetry, const vector& axisOfWedge, const vector& axisOfWedgeNormal, - Random& rndGen + cachedRandom& rndGen ) const { if (twoD) @@ -241,8 +240,8 @@ Foam::vector Foam::commonRailInjector::position else { // otherwise, disc injection - scalar iRadius = d_*rndGen.scalar01(); - scalar iAngle = constant::mathematical::twoPi*rndGen.scalar01(); + scalar iRadius = d_*rndGen.sample01(); + scalar iAngle = constant::mathematical::twoPi*rndGen.sample01(); return ( diff --git a/src/lagrangian/dieselSpray/injector/commonRailInjector/commonRailInjector.H b/src/lagrangian/dieselSpray/injector/commonRailInjector/commonRailInjector.H index ed13a2cb82..6ca532c9ea 100644 --- a/src/lagrangian/dieselSpray/injector/commonRailInjector/commonRailInjector.H +++ b/src/lagrangian/dieselSpray/injector/commonRailInjector/commonRailInjector.H @@ -138,7 +138,7 @@ public: const vector& axisOfSymmetry, const vector& axisOfWedge, const vector& axisOfWedgeNormal, - Random& rndGen + cachedRandom& rndGen ) const; //- Return the number of holes diff --git a/src/lagrangian/dieselSpray/injector/definedInjector/definedInjector.C b/src/lagrangian/dieselSpray/injector/definedInjector/definedInjector.C index 6071c67bd7..1934491eaf 100644 --- a/src/lagrangian/dieselSpray/injector/definedInjector/definedInjector.C +++ b/src/lagrangian/dieselSpray/injector/definedInjector/definedInjector.C @@ -25,7 +25,6 @@ License #include "definedInjector.H" #include "addToRunTimeSelectionTable.H" -#include "Random.H" #include "mathematicalConstants.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // @@ -158,13 +157,13 @@ Foam::definedInjector::~definedInjector() void Foam::definedInjector::setTangentialVectors() { - Random rndGen(label(0)); + cachedRandom rndGen(label(0), -1); scalar magV = 0.0; vector tangent; while (magV < SMALL) { - vector testThis = rndGen.vector01(); + vector testThis = rndGen.sample01(); tangent = testThis - (testThis & direction_)*direction_; magV = mag(tangent); @@ -204,7 +203,7 @@ Foam::vector Foam::definedInjector::position const vector& axisOfSymmetry, const vector& axisOfWedge, const vector& axisOfWedgeNormal, - Random& rndGen + cachedRandom& rndGen ) const { if (twoD) @@ -222,8 +221,8 @@ Foam::vector Foam::definedInjector::position else { // otherwise, disc injection - scalar iRadius = d_*rndGen.scalar01(); - scalar iAngle = constant::mathematical::twoPi*rndGen.scalar01(); + scalar iRadius = d_*rndGen.sample01(); + scalar iAngle = constant::mathematical::twoPi*rndGen.sample01(); return ( diff --git a/src/lagrangian/dieselSpray/injector/definedInjector/definedInjector.H b/src/lagrangian/dieselSpray/injector/definedInjector/definedInjector.H index acbb09c765..0f14b80c8f 100644 --- a/src/lagrangian/dieselSpray/injector/definedInjector/definedInjector.H +++ b/src/lagrangian/dieselSpray/injector/definedInjector/definedInjector.H @@ -139,7 +139,7 @@ public: const vector& axisOfSymmetry, const vector& axisOfWedge, const vector& axisOfWedgeNormal, - Random& rndGen + cachedRandom& rndGen ) const; //- Return the number of holes diff --git a/src/lagrangian/dieselSpray/injector/injectorType/injectorType.H b/src/lagrangian/dieselSpray/injector/injectorType/injectorType.H index 90e1c3885e..a5a3e476c9 100644 --- a/src/lagrangian/dieselSpray/injector/injectorType/injectorType.H +++ b/src/lagrangian/dieselSpray/injector/injectorType/injectorType.H @@ -43,7 +43,7 @@ SourceFiles #include "runTimeSelectionTables.H" #include "vector.H" #include "scalarField.H" -#include "Random.H" +#include "cachedRandom.H" #include "liquidMixture.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -120,7 +120,7 @@ public: const vector& axisOfSymmetry, const vector& axisOfWedge, const vector& axisOfWedgeNormal, - Random& rndGen + cachedRandom& rndGen ) const = 0; //- Return the number of holes diff --git a/src/lagrangian/dieselSpray/injector/multiHoleInjector/multiHoleInjector.C b/src/lagrangian/dieselSpray/injector/multiHoleInjector/multiHoleInjector.C index 49446e1f00..878c9bcabb 100644 --- a/src/lagrangian/dieselSpray/injector/multiHoleInjector/multiHoleInjector.C +++ b/src/lagrangian/dieselSpray/injector/multiHoleInjector/multiHoleInjector.C @@ -25,7 +25,6 @@ License #include "multiHoleInjector.H" #include "addToRunTimeSelectionTable.H" -#include "Random.H" #include "unitConversion.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // @@ -194,7 +193,7 @@ void Foam::multiHoleInjector::setTangentialVectors() position_[i] = centerPosition_ + 0.5*nozzleTipDiameter_*dp; } - Random rndGen(label(0)); + cachedRandom rndGen(label(0), -1); for (label i=0; i(); tangent = testThis - (testThis & direction_[i])*direction_[i]; magV = mag(tangent); @@ -244,7 +243,7 @@ Foam::vector Foam::multiHoleInjector::position const vector& axisOfSymmetry, const vector& axisOfWedge, const vector& axisOfWedgeNormal, - Random& rndGen + cachedRandom& rndGen ) const { if (twoD) @@ -262,8 +261,8 @@ Foam::vector Foam::multiHoleInjector::position else { // otherwise, disc injection - scalar iRadius = d_*rndGen.scalar01(); - scalar iAngle = constant::mathematical::twoPi*rndGen.scalar01(); + scalar iRadius = d_*rndGen.sample01(); + scalar iAngle = constant::mathematical::twoPi*rndGen.sample01(); return ( diff --git a/src/lagrangian/dieselSpray/injector/multiHoleInjector/multiHoleInjector.H b/src/lagrangian/dieselSpray/injector/multiHoleInjector/multiHoleInjector.H index 686ac382bd..cd2b5cad53 100644 --- a/src/lagrangian/dieselSpray/injector/multiHoleInjector/multiHoleInjector.H +++ b/src/lagrangian/dieselSpray/injector/multiHoleInjector/multiHoleInjector.H @@ -148,7 +148,7 @@ public: const vector& axisOfSymmetry, const vector& axisOfWedge, const vector& axisOfWedgeNormal, - Random& rndGen + cachedRandom& rndGen ) const; //- Return the number of holes diff --git a/src/lagrangian/dieselSpray/injector/swirlInjector/swirlInjector.C b/src/lagrangian/dieselSpray/injector/swirlInjector/swirlInjector.C index ed8177e293..57cce2960f 100644 --- a/src/lagrangian/dieselSpray/injector/swirlInjector/swirlInjector.C +++ b/src/lagrangian/dieselSpray/injector/swirlInjector/swirlInjector.C @@ -25,7 +25,6 @@ License #include "swirlInjector.H" #include "addToRunTimeSelectionTable.H" -#include "Random.H" #include "mathematicalConstants.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // @@ -179,13 +178,13 @@ Foam::swirlInjector::~swirlInjector() void Foam::swirlInjector::setTangentialVectors() { - Random rndGen(label(0)); + cachedRandom rndGen(label(0), -1); scalar magV = 0.0; vector tangent; while (magV < SMALL) { - vector testThis = rndGen.vector01(); + vector testThis = rndGen.sample01(); tangent = testThis - (testThis & direction_)*direction_; magV = mag(tangent); @@ -226,7 +225,7 @@ Foam::vector Foam::swirlInjector::position const vector& axisOfSymmetry, const vector& axisOfWedge, const vector& axisOfWedgeNormal, - Random& rndGen + cachedRandom& rndGen ) const { if (twoD) @@ -244,8 +243,8 @@ Foam::vector Foam::swirlInjector::position else { // otherwise, disc injection - scalar iRadius = d_*rndGen.scalar01(); - scalar iAngle = constant::mathematical::twoPi*rndGen.scalar01(); + scalar iRadius = d_*rndGen.sample01(); + scalar iAngle = constant::mathematical::twoPi*rndGen.sample01(); return ( diff --git a/src/lagrangian/dieselSpray/injector/swirlInjector/swirlInjector.H b/src/lagrangian/dieselSpray/injector/swirlInjector/swirlInjector.H index 0658139fa9..4a1083a3d7 100644 --- a/src/lagrangian/dieselSpray/injector/swirlInjector/swirlInjector.H +++ b/src/lagrangian/dieselSpray/injector/swirlInjector/swirlInjector.H @@ -157,7 +157,7 @@ public: const vector& axisOfSymmetry, const vector& axisOfWedge, const vector& axisOfWedgeNormal, - Random& rndGen + cachedRandom& rndGen ) const; //- Return the number of holes diff --git a/src/lagrangian/dieselSpray/injector/unitInjector/unitInjector.C b/src/lagrangian/dieselSpray/injector/unitInjector/unitInjector.C index a09e497bb1..e40646a06d 100644 --- a/src/lagrangian/dieselSpray/injector/unitInjector/unitInjector.C +++ b/src/lagrangian/dieselSpray/injector/unitInjector/unitInjector.C @@ -25,7 +25,6 @@ License #include "unitInjector.H" #include "addToRunTimeSelectionTable.H" -#include "Random.H" #include "mathematicalConstants.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // @@ -154,13 +153,13 @@ Foam::unitInjector::~unitInjector() void Foam::unitInjector::setTangentialVectors() { - Random rndGen(label(0)); + cachedRandom rndGen(label(0), -1); scalar magV = 0.0; vector tangent; while (magV < SMALL) { - vector testThis = rndGen.vector01(); + vector testThis = rndGen.sample01(); tangent = testThis - (testThis & direction_)*direction_; magV = mag(tangent); @@ -199,7 +198,7 @@ Foam::vector Foam::unitInjector::position const vector& axisOfSymmetry, const vector& axisOfWedge, const vector& axisOfWedgeNormal, - Random& rndGen + cachedRandom& rndGen ) const { if (twoD) @@ -217,8 +216,8 @@ Foam::vector Foam::unitInjector::position else { // otherwise, disc injection - scalar iRadius = d_*rndGen.scalar01(); - scalar iAngle = constant::mathematical::twoPi*rndGen.scalar01(); + scalar iRadius = d_*rndGen.sample01(); + scalar iAngle = constant::mathematical::twoPi*rndGen.sample01(); return ( diff --git a/src/lagrangian/dieselSpray/injector/unitInjector/unitInjector.H b/src/lagrangian/dieselSpray/injector/unitInjector/unitInjector.H index f386783b10..1b61f6e96c 100644 --- a/src/lagrangian/dieselSpray/injector/unitInjector/unitInjector.H +++ b/src/lagrangian/dieselSpray/injector/unitInjector/unitInjector.H @@ -137,7 +137,7 @@ public: const vector& axisOfSymmetry, const vector& axisOfWedge, const vector& axisOfWedgeNormal, - Random& rndGen + cachedRandom& rndGen ) const; //- Return the number of holes diff --git a/src/lagrangian/dieselSpray/parcel/parcel.C b/src/lagrangian/dieselSpray/parcel/parcel.C index 50837a923d..3862508f7a 100644 --- a/src/lagrangian/dieselSpray/parcel/parcel.C +++ b/src/lagrangian/dieselSpray/parcel/parcel.C @@ -521,7 +521,7 @@ void Foam::parcel::updateParcelProperties scalar Taverage = TDroplet + (Tg - TDroplet)/3.0; // for a liquid Cl \approx Cp - scalar liquidcL = sDB.fuels().cp(pg, TDroplet, X()); + scalar liquidcL = sDB.fuels().Cp(pg, TDroplet, X()); cpMix = 0.0; for (label i=0; i evaporationSource(const label i) const; inline tmp heatTransferSource() const; - inline Random& rndGen(); + inline cachedRandom& rndGen(); inline label subCycles() const; inline const vector& g() const; diff --git a/src/lagrangian/dieselSpray/spray/sprayI.H b/src/lagrangian/dieselSpray/spray/sprayI.H index d406f670dd..7087204888 100644 --- a/src/lagrangian/dieselSpray/spray/sprayI.H +++ b/src/lagrangian/dieselSpray/spray/sprayI.H @@ -221,7 +221,7 @@ inline tmp spray::heatTransferSource() const } -inline Random& spray::rndGen() +inline cachedRandom& spray::rndGen() { return rndGen_; } diff --git a/src/lagrangian/dieselSpray/spraySubModels/atomizationModel/LISA/LISA.C b/src/lagrangian/dieselSpray/spraySubModels/atomizationModel/LISA/LISA.C index 5334e2295d..5082323aa5 100644 --- a/src/lagrangian/dieselSpray/spraySubModels/atomizationModel/LISA/LISA.C +++ b/src/lagrangian/dieselSpray/spraySubModels/atomizationModel/LISA/LISA.C @@ -54,7 +54,6 @@ Foam::LISA::LISA : atomizationModel(dict, sm), coeffsDict_(dict.subDict(typeName + "Coeffs")), - rndGen_(sm.rndGen()), Cl_(readScalar(coeffsDict_.lookup("Cl"))), cTau_(readScalar(coeffsDict_.lookup("cTau"))), Q_(readScalar(coeffsDict_.lookup("Q"))), @@ -361,8 +360,8 @@ void Foam::LISA::atomizeParcel do { - x = minValue + range*rndGen_.scalar01(); - y = rndGen_.scalar01(); + x = minValue + range*rndGen_.sample01(); + y = rndGen_.sample01(); scalar xx = pow(x/dD, nExp); diff --git a/src/lagrangian/dieselSpray/spraySubModels/atomizationModel/LISA/LISA.H b/src/lagrangian/dieselSpray/spraySubModels/atomizationModel/LISA/LISA.H index 18234356d5..235aef280e 100644 --- a/src/lagrangian/dieselSpray/spraySubModels/atomizationModel/LISA/LISA.H +++ b/src/lagrangian/dieselSpray/spraySubModels/atomizationModel/LISA/LISA.H @@ -68,7 +68,6 @@ private: // Private data dictionary coeffsDict_; - Random& rndGen_; scalar Cl_; scalar cTau_; scalar Q_; diff --git a/src/lagrangian/dieselSpray/spraySubModels/atomizationModel/atomizationModel/atomizationModel.H b/src/lagrangian/dieselSpray/spraySubModels/atomizationModel/atomizationModel/atomizationModel.H index db0cf0dada..d543ec2bed 100644 --- a/src/lagrangian/dieselSpray/spraySubModels/atomizationModel/atomizationModel/atomizationModel.H +++ b/src/lagrangian/dieselSpray/spraySubModels/atomizationModel/atomizationModel/atomizationModel.H @@ -55,7 +55,7 @@ protected: const dictionary& dict_; spray& spray_; - Random& rndGen_; + cachedRandom& rndGen_; public: diff --git a/src/lagrangian/dieselSpray/spraySubModels/atomizationModel/blobsSheetAtomization/blobsSheetAtomization.C b/src/lagrangian/dieselSpray/spraySubModels/atomizationModel/blobsSheetAtomization/blobsSheetAtomization.C index 3c58faaf4f..6c527b9b28 100644 --- a/src/lagrangian/dieselSpray/spraySubModels/atomizationModel/blobsSheetAtomization/blobsSheetAtomization.C +++ b/src/lagrangian/dieselSpray/spraySubModels/atomizationModel/blobsSheetAtomization/blobsSheetAtomization.C @@ -56,8 +56,7 @@ Foam::blobsSheetAtomization::blobsSheetAtomization atomizationModel(dict, sm), coeffsDict_(dict.subDict(typeName + "Coeffs")), B_(readScalar(coeffsDict_.lookup("B"))), - angle_(readScalar(coeffsDict_.lookup("angle"))), - rndGen_(sm.rndGen()) + angle_(readScalar(coeffsDict_.lookup("angle"))) {} diff --git a/src/lagrangian/dieselSpray/spraySubModels/atomizationModel/blobsSheetAtomization/blobsSheetAtomization.H b/src/lagrangian/dieselSpray/spraySubModels/atomizationModel/blobsSheetAtomization/blobsSheetAtomization.H index 754c92f0f3..2aef4303ed 100644 --- a/src/lagrangian/dieselSpray/spraySubModels/atomizationModel/blobsSheetAtomization/blobsSheetAtomization.H +++ b/src/lagrangian/dieselSpray/spraySubModels/atomizationModel/blobsSheetAtomization/blobsSheetAtomization.H @@ -67,7 +67,6 @@ private: dictionary coeffsDict_; scalar B_; scalar angle_; - Random& rndGen_; public: diff --git a/src/lagrangian/dieselSpray/spraySubModels/breakupModel/SHF/SHF.C b/src/lagrangian/dieselSpray/spraySubModels/breakupModel/SHF/SHF.C index 4824d253f8..2c00930e05 100644 --- a/src/lagrangian/dieselSpray/spraySubModels/breakupModel/SHF/SHF.C +++ b/src/lagrangian/dieselSpray/spraySubModels/breakupModel/SHF/SHF.C @@ -53,7 +53,6 @@ Foam::SHF::SHF breakupModel(dict, sm), coeffsDict_(dict.subDict(typeName + "Coeffs")), g_(sm.g()), - rndGen_(sm.rndGen()), weCorrCoeff_(readScalar(coeffsDict_.lookup("weCorrCoeff"))), weBuCrit_(readScalar(coeffsDict_.lookup("weBuCrit"))), weBuBag_(readScalar(coeffsDict_.lookup("weBuBag"))), @@ -186,9 +185,9 @@ void Foam::SHF::breakupParcel do { - x = cDmaxBM_*rndGen_.scalar01(); + x = cDmaxBM_*rndGen_.sample01(); d = sqr(x)*d05; - y = rndGen_.scalar01(); + y = rndGen_.sample01(); px = x @@ -217,9 +216,9 @@ void Foam::SHF::breakupParcel do { - x = cDmaxS_*rndGen_.scalar01(); + x = cDmaxS_*rndGen_.sample01(); d = sqr(x)*d05; - y = rndGen_.scalar01(); + y = rndGen_.sample01(); px = x diff --git a/src/lagrangian/dieselSpray/spraySubModels/breakupModel/SHF/SHF.H b/src/lagrangian/dieselSpray/spraySubModels/breakupModel/SHF/SHF.H index daf62e69af..549c48b599 100644 --- a/src/lagrangian/dieselSpray/spraySubModels/breakupModel/SHF/SHF.H +++ b/src/lagrangian/dieselSpray/spraySubModels/breakupModel/SHF/SHF.H @@ -66,8 +66,6 @@ private: // reference to gravity const vector& g_; - Random& rndGen_; - // model constants scalar weCorrCoeff_; diff --git a/src/lagrangian/dieselSpray/spraySubModels/breakupModel/TAB/TAB.C b/src/lagrangian/dieselSpray/spraySubModels/breakupModel/TAB/TAB.C index 9d9f5523ef..4f791ea7c4 100644 --- a/src/lagrangian/dieselSpray/spraySubModels/breakupModel/TAB/TAB.C +++ b/src/lagrangian/dieselSpray/spraySubModels/breakupModel/TAB/TAB.C @@ -175,7 +175,7 @@ void Foam::TAB::breakupParcel label n = 0; bool found = false; - scalar random = rndGen_.scalar01(); + scalar random = rndGen_.sample01(); while (!found && (n<99)) { if (rrd_[n] > random) diff --git a/src/lagrangian/dieselSpray/spraySubModels/breakupModel/breakupModel/breakupModel.H b/src/lagrangian/dieselSpray/spraySubModels/breakupModel/breakupModel/breakupModel.H index 8913d4ad66..8ec1e38196 100644 --- a/src/lagrangian/dieselSpray/spraySubModels/breakupModel/breakupModel/breakupModel.H +++ b/src/lagrangian/dieselSpray/spraySubModels/breakupModel/breakupModel/breakupModel.H @@ -56,7 +56,7 @@ protected: const dictionary& dict_; spray& spray_; - Random& rndGen_; + cachedRandom& rndGen_; Switch includeOscillation_; diff --git a/src/lagrangian/dieselSpray/spraySubModels/collisionModel/ORourke/ORourkeCollisionModel.C b/src/lagrangian/dieselSpray/spraySubModels/collisionModel/ORourke/ORourkeCollisionModel.C index f333f6b387..0c0e10b8f3 100644 --- a/src/lagrangian/dieselSpray/spraySubModels/collisionModel/ORourke/ORourkeCollisionModel.C +++ b/src/lagrangian/dieselSpray/spraySubModels/collisionModel/ORourke/ORourkeCollisionModel.C @@ -48,7 +48,7 @@ Foam::ORourkeCollisionModel::ORourkeCollisionModel ( const dictionary& dict, spray& sm, - Random& rndGen + cachedRandom& rndGen ) : collisionModel(dict, sm, rndGen), diff --git a/src/lagrangian/dieselSpray/spraySubModels/collisionModel/ORourke/ORourkeCollisionModel.H b/src/lagrangian/dieselSpray/spraySubModels/collisionModel/ORourke/ORourkeCollisionModel.H index 64fb5f247c..e9fddb31d1 100644 --- a/src/lagrangian/dieselSpray/spraySubModels/collisionModel/ORourke/ORourkeCollisionModel.H +++ b/src/lagrangian/dieselSpray/spraySubModels/collisionModel/ORourke/ORourkeCollisionModel.H @@ -75,7 +75,7 @@ public: ( const dictionary& dict, spray& sm, - Random& rndGen + cachedRandom& rndGen ); diff --git a/src/lagrangian/dieselSpray/spraySubModels/collisionModel/ORourke/sameCell.H b/src/lagrangian/dieselSpray/spraySubModels/collisionModel/ORourke/sameCell.H index dd66d1d3dd..7743a06f7c 100644 --- a/src/lagrangian/dieselSpray/spraySubModels/collisionModel/ORourke/sameCell.H +++ b/src/lagrangian/dieselSpray/spraySubModels/collisionModel/ORourke/sameCell.H @@ -35,7 +35,7 @@ scalar mdMin = mMin/nMin; scalar nu0 = 0.25*constant::mathematical::pi*sqr(sumD)*magVRel*dt/vols_[cell1]; scalar nu = nMin*nu0; scalar collProb = exp(-nu); -scalar xx = rndGen_.scalar01(); +scalar xx = rndGen_.sample01(); if ((xx > collProb) && (mMin > VSMALL) && (mMax > VSMALL)) { @@ -62,7 +62,7 @@ if ((xx > collProb) && (mMin > VSMALL) && (mMax > VSMALL)) scalar WeColl = max(1.0e-12, 0.5*rho*magVRel*magVRel*dMin/sigma); scalar coalesceProb = min(1.0, 2.4*f/WeColl); - scalar prob = rndGen_.scalar01(); + scalar prob = rndGen_.sample01(); // Coalescence if (prob < coalesceProb && coalescence_) diff --git a/src/lagrangian/dieselSpray/spraySubModels/collisionModel/collisionModel/collisionModel.C b/src/lagrangian/dieselSpray/spraySubModels/collisionModel/collisionModel/collisionModel.C index 29a98081eb..af6e751714 100644 --- a/src/lagrangian/dieselSpray/spraySubModels/collisionModel/collisionModel/collisionModel.C +++ b/src/lagrangian/dieselSpray/spraySubModels/collisionModel/collisionModel/collisionModel.C @@ -41,7 +41,7 @@ Foam::collisionModel::collisionModel ( const dictionary& dict, spray& sm, - Random& rndGen + cachedRandom& rndGen ) : dict_(dict), diff --git a/src/lagrangian/dieselSpray/spraySubModels/collisionModel/collisionModel/collisionModel.H b/src/lagrangian/dieselSpray/spraySubModels/collisionModel/collisionModel/collisionModel.H index 94d8c73b76..4554ea0ab4 100644 --- a/src/lagrangian/dieselSpray/spraySubModels/collisionModel/collisionModel/collisionModel.H +++ b/src/lagrangian/dieselSpray/spraySubModels/collisionModel/collisionModel/collisionModel.H @@ -34,7 +34,7 @@ Description #include "IOdictionary.H" #include "spray.H" -#include "Random.H" +#include "cachedRandom.H" #include "Switch.H" #include "autoPtr.H" #include "runTimeSelectionTables.H" @@ -56,7 +56,7 @@ protected: // Protected data const dictionary& dict_; spray& spray_; - Random& rndGen_; + cachedRandom& rndGen_; //dictionary coeffsDict_; @@ -76,7 +76,7 @@ public: ( const dictionary& dict, spray& sm, - Random& rndGen + cachedRandom& rndGen ), (dict, sm, rndGen) ); @@ -89,7 +89,7 @@ public: ( const dictionary& dict, spray& sm, - Random& rndGen + cachedRandom& rndGen ); @@ -103,7 +103,7 @@ public: ( const dictionary& dict, spray& sm, - Random& rndGen + cachedRandom& rndGen ); diff --git a/src/lagrangian/dieselSpray/spraySubModels/collisionModel/collisionModel/collisionModelNew.C b/src/lagrangian/dieselSpray/spraySubModels/collisionModel/collisionModel/collisionModelNew.C index 9e56403c36..6b850a0116 100644 --- a/src/lagrangian/dieselSpray/spraySubModels/collisionModel/collisionModel/collisionModelNew.C +++ b/src/lagrangian/dieselSpray/spraySubModels/collisionModel/collisionModel/collisionModelNew.C @@ -37,7 +37,7 @@ Foam::autoPtr Foam::collisionModel::New ( const dictionary& dict, spray& sm, - Random& rndGen + cachedRandom& rndGen ) { const word modelType(dict.lookup("collisionModel")); diff --git a/src/lagrangian/dieselSpray/spraySubModels/collisionModel/noCollision/noCollision.C b/src/lagrangian/dieselSpray/spraySubModels/collisionModel/noCollision/noCollision.C index 8949e12967..f74dc9956e 100644 --- a/src/lagrangian/dieselSpray/spraySubModels/collisionModel/noCollision/noCollision.C +++ b/src/lagrangian/dieselSpray/spraySubModels/collisionModel/noCollision/noCollision.C @@ -49,7 +49,7 @@ Foam::noCollision::noCollision ( const dictionary& dict, spray& sm, - Random& rndGen + cachedRandom& rndGen ) : collisionModel(dict, sm, rndGen) diff --git a/src/lagrangian/dieselSpray/spraySubModels/collisionModel/noCollision/noCollision.H b/src/lagrangian/dieselSpray/spraySubModels/collisionModel/noCollision/noCollision.H index b78332edbc..edb857fcaa 100644 --- a/src/lagrangian/dieselSpray/spraySubModels/collisionModel/noCollision/noCollision.H +++ b/src/lagrangian/dieselSpray/spraySubModels/collisionModel/noCollision/noCollision.H @@ -62,7 +62,7 @@ public: ( const dictionary& dict, spray& sm, - Random& rndGen + cachedRandom& rndGen ); //- Destructor diff --git a/src/lagrangian/dieselSpray/spraySubModels/collisionModel/trajectoryModel/trajectoryCM.H b/src/lagrangian/dieselSpray/spraySubModels/collisionModel/trajectoryModel/trajectoryCM.H index 9b60cff915..d9e83f6875 100644 --- a/src/lagrangian/dieselSpray/spraySubModels/collisionModel/trajectoryModel/trajectoryCM.H +++ b/src/lagrangian/dieselSpray/spraySubModels/collisionModel/trajectoryModel/trajectoryCM.H @@ -51,7 +51,7 @@ if (vAlign > 0) pow(0.5*sumD/max(0.5*sumD, closestDist), cSpace_) *exp(-cTime_*mag(alpha-beta)); - scalar xx = rndGen_.scalar01(); + scalar xx = rndGen_.sample01(); spray::iterator pMin = p1; spray::iterator pMax = p2; @@ -106,7 +106,7 @@ if (vAlign > 0) scalar coalesceProb = min(1.0, 2.4*f/WeColl); - scalar prob = rndGen_.scalar01(); + scalar prob = rndGen_.sample01(); // Coalescence if ( prob < coalesceProb && coalescence_) diff --git a/src/lagrangian/dieselSpray/spraySubModels/collisionModel/trajectoryModel/trajectoryModel.C b/src/lagrangian/dieselSpray/spraySubModels/collisionModel/trajectoryModel/trajectoryModel.C index 60e2e9b761..a58b729d07 100644 --- a/src/lagrangian/dieselSpray/spraySubModels/collisionModel/trajectoryModel/trajectoryModel.C +++ b/src/lagrangian/dieselSpray/spraySubModels/collisionModel/trajectoryModel/trajectoryModel.C @@ -48,7 +48,7 @@ Foam::trajectoryCollisionModel::trajectoryCollisionModel ( const dictionary& dict, spray& sm, - Random& rndGen + cachedRandom& rndGen ) : collisionModel(dict, sm, rndGen), diff --git a/src/lagrangian/dieselSpray/spraySubModels/collisionModel/trajectoryModel/trajectoryModel.H b/src/lagrangian/dieselSpray/spraySubModels/collisionModel/trajectoryModel/trajectoryModel.H index 62b55f9a39..65323b305b 100644 --- a/src/lagrangian/dieselSpray/spraySubModels/collisionModel/trajectoryModel/trajectoryModel.H +++ b/src/lagrangian/dieselSpray/spraySubModels/collisionModel/trajectoryModel/trajectoryModel.H @@ -78,7 +78,7 @@ public: ( const dictionary& dict, spray& sm, - Random& rndGen + cachedRandom& rndGen ); diff --git a/src/lagrangian/dieselSpray/spraySubModels/dispersionModel/gradientDispersionRAS/gradientDispersionRAS.C b/src/lagrangian/dieselSpray/spraySubModels/dispersionModel/gradientDispersionRAS/gradientDispersionRAS.C index b154974a26..9c7f0dffd0 100644 --- a/src/lagrangian/dieselSpray/spraySubModels/dispersionModel/gradientDispersionRAS/gradientDispersionRAS.C +++ b/src/lagrangian/dieselSpray/spraySubModels/dispersionModel/gradientDispersionRAS/gradientDispersionRAS.C @@ -102,8 +102,8 @@ void Foam::gradientDispersionRAS::disperseParcels() const scalar rsq = 10.0; while ((rsq > 1.0) || (rsq == 0.0)) { - x1 = 2.0*spray_.rndGen().scalar01() - 1.0; - x2 = 2.0*spray_.rndGen().scalar01() - 1.0; + x1 = 2.0*spray_.rndGen().sample01() - 1.0; + x2 = 2.0*spray_.rndGen().sample01() - 1.0; rsq = x1*x1 + x2*x2; } diff --git a/src/lagrangian/dieselSpray/spraySubModels/dispersionModel/stochasticDispersionRAS/stochasticDispersionRAS.C b/src/lagrangian/dieselSpray/spraySubModels/dispersionModel/stochasticDispersionRAS/stochasticDispersionRAS.C index c7e7e4cd09..7085f45839 100644 --- a/src/lagrangian/dieselSpray/spraySubModels/dispersionModel/stochasticDispersionRAS/stochasticDispersionRAS.C +++ b/src/lagrangian/dieselSpray/spraySubModels/dispersionModel/stochasticDispersionRAS/stochasticDispersionRAS.C @@ -96,7 +96,7 @@ void Foam::stochasticDispersionRAS::disperseParcels() const elmnt().tTurb() = 0.0; scalar sigma = sqrt(2.0*k[cellI]/3.0); - vector dir = 2.0*spray_.rndGen().vector01() - one; + vector dir = 2.0*spray_.rndGen().sample01() - one; dir /= mag(dir) + SMALL; // numerical recipes... Ch. 7. Random Numbers... @@ -104,8 +104,8 @@ void Foam::stochasticDispersionRAS::disperseParcels() const scalar rsq = 10.0; while (rsq > 1.0 || rsq == 0.0) { - x1 = 2.0*spray_.rndGen().scalar01() - 1.0; - x2 = 2.0*spray_.rndGen().scalar01() - 1.0; + x1 = 2.0*spray_.rndGen().sample01() - 1.0; + x2 = 2.0*spray_.rndGen().sample01() - 1.0; rsq = x1*x1 + x2*x2; } diff --git a/src/lagrangian/dieselSpray/spraySubModels/injectorModel/Chomiak/Chomiak.C b/src/lagrangian/dieselSpray/spraySubModels/injectorModel/Chomiak/Chomiak.C index 2c924d6ed1..5fe010c740 100644 --- a/src/lagrangian/dieselSpray/spraySubModels/injectorModel/Chomiak/Chomiak.C +++ b/src/lagrangian/dieselSpray/spraySubModels/injectorModel/Chomiak/Chomiak.C @@ -123,7 +123,7 @@ Foam::vector Foam::ChomiakInjector::direction scalar alpha = sin(angle); scalar dcorr = cos(angle); - scalar beta = constant::mathematical::twoPi*rndGen_.scalar01(); + scalar beta = constant::mathematical::twoPi*rndGen_.sample01(); // randomly distributed vector normal to the injection vector vector normal = vector::zero; diff --git a/src/lagrangian/dieselSpray/spraySubModels/injectorModel/blobsSwirl/blobsSwirlInjector.C b/src/lagrangian/dieselSpray/spraySubModels/injectorModel/blobsSwirl/blobsSwirlInjector.C index a0bf94b5a3..d649955dab 100644 --- a/src/lagrangian/dieselSpray/spraySubModels/injectorModel/blobsSwirl/blobsSwirlInjector.C +++ b/src/lagrangian/dieselSpray/spraySubModels/injectorModel/blobsSwirl/blobsSwirlInjector.C @@ -105,7 +105,7 @@ Foam::scalar Foam::blobsSwirlInjector::d0 { const injectorType& it = injectors_[n].properties(); - scalar c = rndGen_.scalar01(); + scalar c = rndGen_.sample01(); angle_ = degToRad(coneAngle_[n]/2.0 + c*coneInterval_[n]); @@ -139,7 +139,7 @@ Foam::vector Foam::blobsSwirlInjector::direction { scalar alpha = sin(angle_); scalar dcorr = cos(angle_); - scalar beta = constant::mathematical::twoPi*rndGen_.scalar01(); + scalar beta = constant::mathematical::twoPi*rndGen_.sample01(); // randomly distributed vector normal to the injection vector vector normal = vector::zero; diff --git a/src/lagrangian/dieselSpray/spraySubModels/injectorModel/constant/constInjector.C b/src/lagrangian/dieselSpray/spraySubModels/injectorModel/constant/constInjector.C index 7e52e1d77d..8f59a43cee 100644 --- a/src/lagrangian/dieselSpray/spraySubModels/injectorModel/constant/constInjector.C +++ b/src/lagrangian/dieselSpray/spraySubModels/injectorModel/constant/constInjector.C @@ -130,11 +130,12 @@ Foam::vector Foam::constInjector::direction */ scalar angle = - rndGen_.scalar01()*sprayAngle_[n]*constant::mathematical::pi/360.0; + rndGen_.sample01()*sprayAngle_[n] + *constant::mathematical::pi/360.0; scalar alpha = sin(angle); scalar dcorr = cos(angle); - scalar beta = constant::mathematical::twoPi*rndGen_.scalar01(); + scalar beta = constant::mathematical::twoPi*rndGen_.sample01(); // randomly distributed vector normal to the injection vector vector normal = vector::zero; diff --git a/src/lagrangian/dieselSpray/spraySubModels/injectorModel/definedHollowCone/definedHollowCone.C b/src/lagrangian/dieselSpray/spraySubModels/injectorModel/definedHollowCone/definedHollowCone.C index ea7151f070..87c15c13a2 100644 --- a/src/lagrangian/dieselSpray/spraySubModels/injectorModel/definedHollowCone/definedHollowCone.C +++ b/src/lagrangian/dieselSpray/spraySubModels/injectorModel/definedHollowCone/definedHollowCone.C @@ -157,11 +157,11 @@ Foam::vector Foam::definedHollowConeInjector::direction scalar angleOuter = it.getTableValue(outerConeAngle_, t); // use random number to generate angle between inner/outer cone angles - scalar angle = angleInner + rndGen_.scalar01()*(angleOuter - angleInner); + scalar angle = rndGen_.position(angleInner, angleOuter); scalar alpha = sin(angle*constant::mathematical::pi/360.0); scalar dcorr = cos(angle*constant::mathematical::pi/360.0); - scalar beta = constant::mathematical::twoPi*rndGen_.scalar01(); + scalar beta = constant::mathematical::twoPi*rndGen_.sample01(); // randomly distributed vector normal to the injection vector vector normal = vector::zero; diff --git a/src/lagrangian/dieselSpray/spraySubModels/injectorModel/definedPressureSwirl/definedPressureSwirl.C b/src/lagrangian/dieselSpray/spraySubModels/injectorModel/definedPressureSwirl/definedPressureSwirl.C index 53204fac47..aaeae060fe 100644 --- a/src/lagrangian/dieselSpray/spraySubModels/injectorModel/definedPressureSwirl/definedPressureSwirl.C +++ b/src/lagrangian/dieselSpray/spraySubModels/injectorModel/definedPressureSwirl/definedPressureSwirl.C @@ -90,7 +90,7 @@ Foam::scalar Foam::definedPressureSwirlInjector::d0 { const injectorType& it = injectors_[n].properties(); - scalar c = rndGen_.scalar01(); + scalar c = rndGen_.sample01(); scalar coneAngle = it.getTableValue(coneAngle_, t); scalar coneInterval = it.getTableValue(coneInterval_, t); angle_ = coneAngle ; @@ -212,7 +212,7 @@ Foam::vector Foam::definedPressureSwirlInjector::direction { scalar alpha = sin(angle_); scalar dcorr = cos(angle_); - scalar beta = constant::mathematical::twoPi*rndGen_.scalar01(); + scalar beta = constant::mathematical::twoPi*rndGen_.sample01(); // randomly distributed vector normal to the injection vector vector normal = vector::zero; diff --git a/src/lagrangian/dieselSpray/spraySubModels/injectorModel/hollowCone/hollowCone.C b/src/lagrangian/dieselSpray/spraySubModels/injectorModel/hollowCone/hollowCone.C index 81a1cdf8a2..dc53ee59d2 100644 --- a/src/lagrangian/dieselSpray/spraySubModels/injectorModel/hollowCone/hollowCone.C +++ b/src/lagrangian/dieselSpray/spraySubModels/injectorModel/hollowCone/hollowCone.C @@ -124,11 +124,10 @@ Foam::vector Foam::hollowConeInjector::direction const scalar d ) const { - scalar angle = - innerAngle_[n] + rndGen_.scalar01()*(outerAngle_[n]-innerAngle_[n]); + scalar angle = rndGen_.position(innerAngle_[n], outerAngle_[n]); scalar alpha = sin(angle*constant::mathematical::pi/360.0); scalar dcorr = cos(angle*constant::mathematical::pi/360.0); - scalar beta = constant::mathematical::twoPi*rndGen_.scalar01(); + scalar beta = constant::mathematical::twoPi*rndGen_.sample01(); // randomly distributed vector normal to the injection vector vector normal = vector::zero; diff --git a/src/lagrangian/dieselSpray/spraySubModels/injectorModel/injectorModel/injectorModel.H b/src/lagrangian/dieselSpray/spraySubModels/injectorModel/injectorModel/injectorModel.H index 7d505ce833..a66f4e9cb8 100644 --- a/src/lagrangian/dieselSpray/spraySubModels/injectorModel/injectorModel/injectorModel.H +++ b/src/lagrangian/dieselSpray/spraySubModels/injectorModel/injectorModel/injectorModel.H @@ -62,7 +62,7 @@ protected: spray& sm_; const PtrList& injectors_; - Random& rndGen_; + cachedRandom& rndGen_; public: diff --git a/src/lagrangian/dieselSpray/spraySubModels/injectorModel/pressureSwirl/pressureSwirlInjector.C b/src/lagrangian/dieselSpray/spraySubModels/injectorModel/pressureSwirl/pressureSwirlInjector.C index 9f299631f3..42c5e59adc 100644 --- a/src/lagrangian/dieselSpray/spraySubModels/injectorModel/pressureSwirl/pressureSwirlInjector.C +++ b/src/lagrangian/dieselSpray/spraySubModels/injectorModel/pressureSwirl/pressureSwirlInjector.C @@ -100,7 +100,7 @@ Foam::scalar Foam::pressureSwirlInjector::d0 { const injectorType& it = injectors_[n].properties(); - scalar c = rndGen_.scalar01(); + scalar c = rndGen_.sample01(); angle_ = coneAngle_[n] + 2.0*coneInterval_[n]*(0.5 - c); angle_ *= constant::mathematical::pi/360.0; @@ -134,7 +134,7 @@ Foam::vector Foam::pressureSwirlInjector::direction { scalar alpha = sin(angle_); scalar dcorr = cos(angle_); - scalar beta = constant::mathematical::twoPi*rndGen_.scalar01(); + scalar beta = constant::mathematical::twoPi*rndGen_.sample01(); // randomly distributed vector normal to the injection vector vector normal = vector::zero;