Keyword:MCSEED

From FISPACT-II Wiki
Jump to: navigation, search

MCSEED dim seed(i), i=1,dim


This keyword is provided to allow repeatable selections of pseudo-random numbers to be made by specifying the random number seed. FISPACT-II uses the intrinsic Fortran 95 random number generator, and the dimension of the seed depends on the compiler used. dim is the dimension of the seed array, and seed(i) are the dim integers to seed the pseudo-random number generator. An example of the use of this keyword is:

Example specific usage:

MCSEED 2 50209125 493

If the Intel Fortran compiler is used, then this will give a run that uses the same random number sequence as the example listed below for a case without the MCSEED keyword present.

The value of dim may be found by looking at the log file for a run undertaken without this keyword. For example, a run using FISPACT-II compiled using the Intel Fortran compiler gave the log message:

run sensitivity
Log : dimension of seed array = 2
Log : seed value = 502091259
Log : seed value = 493

In this case, two integer values are needed to get reproducible pseudo-random numbers. Other compilers use different seed lengths: gfortran uses and 8 integer seed, pgfortran uses 34 integers and so forth. FISPACT-II can handle up to a 36 integer seed. The random sequence is not reproduced across compilers, but the code will still work: if too many seed integers are specified, then the list of seeds is truncated, and if too few are given, then the list is extended with zeroes.

A complete example usage, where Monte-Carlo sampling of some titanium reactions is specified by SENSITIVITY and MCSAMPLE:

< -- Control phase -- >
...
FISPACT
* Title of the simulation
< -- Initial phase -- >
...
SENSITIVITY SIGMA 0.8 2 1
Ti48 Sc48
Ti49 Sc48
Sc48
MCSAMPLE 2 100 -2.0 2.0
MCSEED 2 50209125 493
...
< -- Inventory phase -- > 
...