The Stochastic Processes Generation in OpenModelica
Background: Component-based modeling language Modelica (OpenModelica is open source implementation) is used for the numerical simulation of complex processes of different nature represented by ODE system. However, in OpenModelica standard library there is no routines for pseudo-random numbers generation, which makes it impossible to use for stochastic modeling processes. Purpose: The goal of this article is a brief overview of a number of algorithms for generation a sequence of uniformly distributed pseudo random numbers and quality assessment of the sequence given by them, as well as the ways to implement some of these algorithms in OpenModelica system. Methods: All the algorithms are implemented in C language, and the results of their work tested using open source package DieHarder. For those algorithms that do not use bit operations, we describe there realisation using OpwnModelica. The other algorithms can be called in OpenModelica as C functions Results: We have implemented and tested about nine algorithms. DieHarder testing revealed the highest quality pseudo-random number generators. Also we have reviewed libraries Noise and AdvancedNoise, who claim to be adding to the Modelica Standard Library. Conclusions: In OpenModelica system can be implemented generators of uniformly distributed pseudo-random numbers, which is the first step towards to make OpenModelica suitable for simulation of stochastic processes.
READ FULL TEXT