Programs in Physics & Physical Chemistry
|[Licence| Download | New Version Template] adye_v1_0.tar.gz(5 Kbytes)|
|Manuscript Title: A package of Linux scripts for the parallelization of Monte Carlo simulations|
|Authors: Andreu Badal, Josep Sempau|
|Program title: seedsMLCG|
|Catalogue identifier: ADYE_v1_0|
Distribution format: tar.gz
|Journal reference: Comput. Phys. Commun. 175(2006)440|
|Programming language: FORTRAN 77.|
|Computer: Any computer with a FORTRAN compiler.|
|Operating system: Linux (RedHat 8.0, SuSe 8.1, Debian Woody 3.1), MS Windows (2000, XP). Compilers, GNU FORTRAN g77 (Linux and Windows); g95 (Linux); Intel Fortran Compiler 7.1 (Linux); Compaq Visual Fortran 6.1 (Windows).|
|RAM: 500 KBytes|
|Word size: 32 bits|
|Keywords: Pseudo-random number generator, Multiplicative linear congruential generator, RANECU, PENELOPE.|
Nature of problem:
Statistically independent results from different runs of a Monte Carlo code can be obtained using uncorrelated sequences of random numbers on each execution. Multiplicative linear congruential generators (MLCG), or other generators that are based on them such as RANECU, can be adapted to produce these sequences.
For a given MLCG, the presented program calculates initialization values that produce disjoint, consecutive sequences of pseudo-random numbers. The calculated values initiate the generator in distant positions of the random number cycle and can be used, for instance, on a parallel simulation. The values are found using the formula SJ = (aJS0) MOD m, which gives the random value that will be generated after J iterations of the MLCG.
The 32-bit length restriction for the integer variables in standard FORTRAN 77 limits the produced seeds to be separated a distance smaller than 231, when the distance J is expressed as an integer value. The program allows the user to input the distance as a power of 10 for the purpose of efficiently splitting the sequence of generators with a very long period.
The program, "clonEasy", referred to in the manuscript associated with this program, is held in the CPC Program Library as ADYD_v1_0.
The execution time depends on the parameters of the used MLCG and the distance between the generated seeds. The generation of 106 seeds separated 1012 units in the sequential cycle, for one of the MLCGs found in the RANECU generator, takes 3 seconds on a 2.4 GHz Intel Pentium 4 using the g77 compiler.
|Disclaimer | ScienceDirect | CPC Journal | CPC | QUB|