27#include <CD_NamespaceHeader.H>
115 template <
typename T>
123 template <
typename T>
194 static bool s_seeded;
217#include <CD_NamespaceFooter.H>
Implementation of CD_Random.H.
Class for encapsulating random number generation. This class is MPI and OpenMP safe.
Definition CD_Random.H:36
static Real get(T &a_distribution)
For getting a random number from a user-supplied distribution. T must be a distribution for which we ...
Definition CD_RandomImplem.H:221
static void setRandomSeed()
Set a random RNG seed.
Definition CD_RandomImplem.H:87
static RealVect getDirection()
Get a random direction in space.
Definition CD_RandomImplem.H:182
Random(const Random &a_other)=delete
Deleted copy constructor. Must be impossible because this is a singleton.
static Real getUniformReal11()
Get a uniform real number on the interval [-1,1].
Definition CD_RandomImplem.H:162
Random(const Random &&a_other)=delete
Deleted copy constructor. Must be impossible because this is a singleton.
static size_t getDiscrete(T &a_distribution)
For getting a random number from a user-supplied distribution. T must be a distribution for which we ...
Definition CD_RandomImplem.H:232
static Real getUniformReal01()
Get a uniform real number on the interval [0,1].
Definition CD_RandomImplem.H:152
Random & operator=(const Random &&a_other)=delete
Disallowed move assignment.
static Real getNormal01()
Get a number from a normal distribution centered on zero and variance 1.
Definition CD_RandomImplem.H:172
static void seed()
Seed the RNG.
Definition CD_RandomImplem.H:29
static void setSeed(const int a_seed)
Set the RNG seed.
Definition CD_RandomImplem.H:53
static T getPoisson(const Real a_mean)
Get Poisson distributed number.
Definition CD_RandomImplem.H:101
Random()=delete
Disallowed constructor.
Random & operator=(const Random &a_other)=delete
Disallowed copy assignment.
static T getBinomial(const T a_N, const Real a_p) noexcept
Get Poisson distributed number.
Definition CD_RandomImplem.H:125
static RealVect randomPosition(const RealVect a_lo, const RealVect a_hi) noexcept
Return a random position in the cube (a_lo, a_hi);.
Definition CD_RandomImplem.H:289
Base class for a tracer particle solver. This solver can advance particles in a pre-defined velocity ...
Definition CD_TracerParticleSolver.H:37
TracerParticleSolver()
Default constructor.
Definition CD_TracerParticleSolverImplem.H:25