|
| uint64_t | GetHash (unsigned long nodeIndex, unsigned short iDim, unsigned long timeIter) |
| | Generate a deterministic 64-bit hash from three integers.
|
| |
| double | 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 | 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 | 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 | GetBesselZero (const T &x) |
| | Compute modified bessel function of first kind (order 0).
|
| |
| template<class T > |
| T | 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.
|
| |