![]() |
Documentation 6b54b78464
|
Functions | |
| uint64_t | RandomToolbox::GetHash (unsigned long nodeIndex, unsigned short iDim, unsigned long timeIter) |
| Generate a deterministic 64-bit hash from three integers. | |
| double | RandomToolbox::HashToUniform (uint64_t x) |
| Convert a 64-bit hash into a uniform double in (0,1]. Uses the top 53 bits of the hash to fill the mantissa of a double. Ensures the result is never zero, suitable for Box-Muller transform. | |
| double | RandomToolbox::HashToNormal (uint64_t x) |
| Generate a standard normal random number from a 64-bit hash. Uses two deterministic uniforms derived from the hash and its bitwise NOT as inputs to the Box-Muller transform. | |
| double | RandomToolbox::GetNormal (unsigned long nodeIndex, unsigned long dim, unsigned long timeIter) |
| Generate a deterministic standard normal number for a cell, dimension, and timestep. | |
| template<class T > | |
| T | RandomToolbox::GetBesselZero (const T &x) |
| Compute modified bessel function of first kind (order 0). | |
| template<class T > | |
| T | RandomToolbox::GetBesselIntegral (const T &beta_x, const T &beta_y, const T &beta_z) |
| Compute integral involving the product of three modified Bessel functions. Useful for scaling the smoothed stochastic source terms in Langevin equations. | |
|
inline |
Compute integral involving the product of three modified Bessel functions. Useful for scaling the smoothed stochastic source terms in Langevin equations.
| [in] | beta_x | Argument in x-direction. |
| [in] | beta_y | Argument in y-direction. |
| [in] | beta_z | Argument in z-direction. |
|
inline |
Compute modified bessel function of first kind (order 0).
| [in] | x | Argument of Bessel funtion. |
|
inline |
Generate a deterministic 64-bit hash from three integers.
| [in] | nodeIndex | Global node index. |
| [in] | iDim | Dimension index. |
| [in] | timeIter | Current time iteration of the simulation. |
|
inline |
Generate a deterministic standard normal number for a cell, dimension, and timestep.
Combines hashing and Box-Muller in one function.
| [in] | nodeIndex | Global node index. |
| [in] | dim | Dimension index. |
| [in] | timeIter | Simulation timestep (1-based). |
|
inline |
Generate a standard normal random number from a 64-bit hash. Uses two deterministic uniforms derived from the hash and its bitwise NOT as inputs to the Box-Muller transform.
| [in] | x | 64-bit hash. |
|
inline |
Convert a 64-bit hash into a uniform double in (0,1]. Uses the top 53 bits of the hash to fill the mantissa of a double. Ensures the result is never zero, suitable for Box-Muller transform.
| [in] | x | 64-bit hash. |