Random number generator. More...

Classes | |
| class | gaussianGeneratorOp |
| A generator class returning a gaussian distributed random number. More... | |
| class | uniformGeneratorOp |
| A generator class returning a uniformly distributed random number on the given interval. More... | |
Public Member Functions | |
| Random (const label seedValue=defaultSeed) | |
| Construct with seed value. More... | |
| Random (const Random &rnd, const bool reset) | |
| Copy construct with possible reset of seed. More... | |
| label | seed () const |
| The initial random number seed that was used. More... | |
| void | reset (const label seedValue) |
| Reset the random number generator seed. More... | |
| int | bit () |
| Return a random bit. More... | |
| template<class Type > | |
| Type | sample01 () |
| Return a sample whose components lie in the range [0,1]. More... | |
| template<class Type > | |
| Type | GaussNormal () |
| Return a sample whose components are normally distributed with zero mean and unity variance N(0,1) More... | |
| template<class Type > | |
| Type | position (const Type &start, const Type &end) |
| Return a sample on the interval [start,end]. More... | |
| template<class Type > | |
| void | randomise01 (Type &value) |
| Randomise value in the range [0,1]. More... | |
| template<class Type > | |
| void | shuffle (UList< Type > &values) |
| Shuffle the values in the list. More... | |
| template<class Type > | |
| Type | globalSample01 () |
| Return a sample whose components lie in the range [0,1]. More... | |
| template<class Type > | |
| Type | globalGaussNormal () |
| Return a sample whose components are normally distributed with zero mean and unity variance N(0,1) More... | |
| template<class Type > | |
| Type | globalPosition (const Type &start, const Type &end) |
| Return a sample on the interval [start,end]. More... | |
| template<class Type > | |
| void | globalRandomise01 (Type &value) |
| Randomise value in the range 0-1. More... | |
| template<> | |
| Foam::scalar | sample01 () |
| template<> | |
| Foam::label | sample01 () |
| template<> | |
| Foam::scalar | GaussNormal () |
| template<> | |
| Foam::label | GaussNormal () |
| template<> | |
| Foam::scalar | position (const scalar &start, const scalar &end) |
| template<> | |
| Foam::label | position (const label &start, const label &end) |
| template<> | |
| Foam::scalar | globalSample01 () |
| template<> | |
| Foam::label | globalSample01 () |
| template<> | |
| Foam::scalar | globalGaussNormal () |
| template<> | |
| Foam::label | globalGaussNormal () |
| template<> | |
| Foam::scalar | globalPosition (const scalar &start, const scalar &end) |
| template<> | |
| Foam::label | globalPosition (const label &start, const label &end) |
| template<> | |
| scalar | sample01 () |
| template<> | |
| label | sample01 () |
| template<> | |
| scalar | GaussNormal () |
| template<> | |
| label | GaussNormal () |
| template<> | |
| scalar | position (const scalar &start, const scalar &end) |
| template<> | |
| label | position (const label &start, const label &end) |
| template<> | |
| scalar | globalSample01 () |
| template<> | |
| label | globalSample01 () |
| template<> | |
| scalar | globalGaussNormal () |
| template<> | |
| label | globalGaussNormal () |
| template<> | |
| scalar | globalPosition (const scalar &start, const scalar &end) |
| template<> | |
| label | globalPosition (const label &start, const label &end) |
Static Public Attributes | |
| static constexpr label | defaultSeed = 123456 |
| The default seed value (name may change in the future) More... | |
Random number generator.
|
explicit |
Copy construct with possible reset of seed.
Definition at line 36 of file Random.C.
References Random::reset(), and Rand48::seed().

|
inline |
|
inline |
Reset the random number generator seed.
Definition at line 43 of file RandomI.H.
Referenced by Random::Random().

| Type sample01 | ( | ) |
Return a sample whose components lie in the range [0,1].
Definition at line 28 of file RandomTemplates.C.
References Foam::expressions::Detail::nComponents().
Referenced by BrownianMotionForce< CloudType >::calcCoupled(), ConeInjection< CloudType >::ConeInjection(), boundBox::inflate(), InflationInjection< CloudType >::parcelsToInject(), triangulatedPatch::randomGlobalPoint(), patchInjectionBase::setPositionAndCell(), ConeInjection< CloudType >::setProperties(), StochasticDispersionRAS< CloudType >::update(), and SHF< CloudType >::update().


| Type GaussNormal | ( | ) |
Return a sample whose components are normally distributed with zero mean and unity variance N(0,1)
Definition at line 41 of file RandomTemplates.C.
References Foam::expressions::Detail::nComponents().
Referenced by BrownianMotionForce< CloudType >::calcCoupled(), StochasticDispersionRAS< CloudType >::update(), and GradientDispersionRAS< CloudType >::update().


| Type position | ( | const Type & | start, |
| const Type & | end | ||
| ) |
Return a sample on the interval [start,end].
Definition at line 54 of file RandomTemplates.C.
References Foam::SVG::end, and Foam::expressions::Detail::nComponents().
Referenced by InflationInjection< CloudType >::parcelsToInject(), triangulatedPatch::randomLocalPoint(), Foam::randomMap(), massRosinRammler::sample(), patchInjectionBase::setPositionAndCell(), ReactingLookupTableInjection< CloudType >::setPositionAndCell(), ThermoLookupTableInjection< CloudType >::setPositionAndCell(), ReactingMultiphaseLookupTableInjection< CloudType >::setPositionAndCell(), KinematicLookupTableInjection< CloudType >::setPositionAndCell(), and ConeInjection< CloudType >::setProperties().


| void randomise01 | ( | Type & | value | ) |
Randomise value in the range [0,1].
Definition at line 68 of file RandomTemplates.C.
| void shuffle | ( | UList< Type > & | values | ) |
Shuffle the values in the list.
Definition at line 75 of file RandomTemplates.C.
References Foam::Swap(), and Foam::HashTableOps::values().
Referenced by eddy::eddy(), and ConeInjection< CloudType >::setPositionAndCell().


| Type globalSample01 | ( | ) |
Return a sample whose components lie in the range [0,1].
Definition at line 86 of file RandomTemplates.C.
References Pstream::broadcast(), UPstream::master(), and Foam::Zero.
Referenced by patchInjectionBase::setPositionAndCell().


| Type globalGaussNormal | ( | ) |
Return a sample whose components are normally distributed with zero mean and unity variance N(0,1)
Definition at line 102 of file RandomTemplates.C.
References Pstream::broadcast(), UPstream::master(), and Foam::Zero.

| Type globalPosition | ( | const Type & | start, |
| const Type & | end | ||
| ) |
Return a sample on the interval [start,end].
Definition at line 118 of file RandomTemplates.C.
References Pstream::broadcast(), Foam::SVG::end, UPstream::master(), and Foam::Zero.
Referenced by InjectedParticleDistributionInjection< CloudType >::initialise(), PatchFlowRateInjection< CloudType >::parcelsToInject(), PatchInjection< CloudType >::parcelsToInject(), and InjectedParticleDistributionInjection< CloudType >::setPositionAndCell().


| void globalRandomise01 | ( | Type & | value | ) |
Randomise value in the range 0-1.
Definition at line 134 of file RandomTemplates.C.
References Pstream::broadcast(), and UPstream::master().

| Foam::scalar GaussNormal | ( | ) |
Definition at line 66 of file Random.C.
References Foam::log(), Foam::sqr(), and Foam::sqrt().

| Foam::scalar position | ( | const scalar & | start, |
| const scalar & | end | ||
| ) |
Definition at line 103 of file Random.C.
References Foam::SVG::end.
| Foam::label position | ( | const label & | start, |
| const label & | end | ||
| ) |
Definition at line 113 of file Random.C.
References Foam::abort(), Foam::SVG::end, Foam::FatalError, FatalErrorInFunction, Foam::min(), and Foam::nl.

| Foam::scalar globalSample01 | ( | ) |
Definition at line 137 of file Random.C.
References Pstream::broadcast(), and UPstream::master().

| Foam::label globalSample01 | ( | ) |
Definition at line 153 of file Random.C.
References Pstream::broadcast(), and UPstream::master().

| Foam::scalar globalGaussNormal | ( | ) |
Definition at line 169 of file Random.C.
References Pstream::broadcast(), and UPstream::master().

| Foam::label globalGaussNormal | ( | ) |
Definition at line 185 of file Random.C.
References Pstream::broadcast(), and UPstream::master().

| Foam::scalar globalPosition | ( | const scalar & | start, |
| const scalar & | end | ||
| ) |
Definition at line 202 of file Random.C.
References Pstream::broadcast(), Foam::SVG::end, and UPstream::master().

| Foam::label globalPosition | ( | const label & | start, |
| const label & | end | ||
| ) |
Definition at line 222 of file Random.C.
References Pstream::broadcast(), Foam::SVG::end, and UPstream::master().

| scalar sample01 | ( | ) |
| label sample01 | ( | ) |
| scalar GaussNormal | ( | ) |
| label GaussNormal | ( | ) |
| scalar position | ( | const scalar & | start, |
| const scalar & | end | ||
| ) |
| label position | ( | const label & | start, |
| const label & | end | ||
| ) |
| scalar globalSample01 | ( | ) |
| label globalSample01 | ( | ) |
| scalar globalGaussNormal | ( | ) |
| label globalGaussNormal | ( | ) |
| scalar globalPosition | ( | const scalar & | start, |
| const scalar & | end | ||
| ) |
| label globalPosition | ( | const label & | start, |
| const label & | end | ||
| ) |
|
static |