You are on page 1of 3

ula hulio suscribete a mi canal . vale hulio?!?

1) RANDom command.

The expression ?RAND will have a random number substituted for it
during command line evaluation. The default is to provide a number
from a uniform distribution, between 0.0 and 1.0; the RANDom command
allows modification of the distribution type and specification of
other factors. The only required keyword is the distribution type,
which must be second; for a GAUSsian distribution, a value for sigma
is required; the default mean is 0.0.

There is a variety of random number generators (RNG) available in
CHARMM. They are:

OLDRandom - legacy RNG. It is not appropriate to use for production
simulations anymore, but it can be used for simple testing
and for comparison with older results and test cases. "Use
The Source Luke" to find out the CHARMM command line
parameters to switch back to either old random or old
CLCG. It is very convenient to put these flags into script and compare the test results with older
CHARMM versions. The alternative would be to put random
command in test/datadir.def file and in some 40 or so test
cases input scripts which don't stream datadir.def.

CLCG - new RNG that supports 100 series and uses 4 seeds. It is a
modern RNG and is the default choice.

SYSTem - whatever is provided by random_number() routine in
fortran. It supports only one series but uses different
numbers of seeds, depending on compilers and integer(8)
vs integer(4) compilation. Use ?NRAND value to query

USER - a user_random() function is provided in
charmm/usersb.src. This routine can be replaced by users
to test their own RNG.

Additional keywords:

UNIForm uniform distribution - default

GAUSSian sigma Gaussian distribution. Value of sigma must be specified

SCALe scale multiply the number by scale

OFFSet offset add offset to the number

ACOS treat the number as a cosine and return the angle (deg)

ASIN treat the number as a sine and return the angle (deg)

ISEEd iseed specify a new random seed(s) (integer(s)). Use
?NSEED parameter to query how many seeds are

E. The default.g. Each series or distribution must first be set up with the IRANdom SETUp command. Note that OLDRandom sub-command sets OLDRNG. the series number. It is implemented so that the restart files from older versions of CHARMM can still be used. OFFS 60. to 360 RANDOM UNIFORM ACOS SCALE . IRAND SERIES 1 SETUp BEGI 1 ENDI 18 SEED 2346 IRAND SERIES 2 SETUp BEGI 1 ENDI 402 SEED 4028987 The random integers for each series are then generated with the commands IRAND SERIES 1 . No limit for SYSTem random generator. PARAllel stores the seeds from all the processors in the restart file. TEST this command will test the random number generator for its poriodicity. However the full functionality of seed storage is implemented for the restart file. and runs the CLCG random number generator. 2) IRANdom command. and an integer seed are specified. RAND UNIF ISEED 7734 ! uniform new random seed Subsequent use of ?RAND will substitute a number from the appropriate distribution. About the seeds: The use of fixed seeds is discouraged for production runs so by default the system clock provides an initial seeds for the RNGs. only the seed is ignored when running from the old restart file. in which the lower and upper limits of the distribution.0 with a sigma of 2. to . ! uniform 0. RANDOM UNIFORM SCALE 360. CLCG unsets OLDRNG. The seed number stored in the trajectory file is for legacy RNG (OLDRandom) and its use is deprecated. One can specify seeds on the RANDom command or in some other commands. TIME seeds are assigned from the current system time. NOTE: No big numbers for CLCG (iseed < 2 giga).5 RAND GAUS 5.2 SCALE 10.5 ! uniform angles with cosines from 0. ! gaussian mean of 60. needed for the current random number generator. Without the parallel keyword every processors has its own random number series initialized from system time. so parallel run can be restored if needed. The new restart file saves all the necessary seeds. which runs "old" random number generator instead of "new" CLCG method.0 ! gaussian mean of 0. Examples: RANDOM GAUSS 0. eg DYNA. with a sigma of 5. This command is designed to generate series of random integers taken from uniform distributions between user-specified limits.

.g. An internal counter. through a division of the generated integers by a constant. The IRANdom function has an overall period of no less than 10^12 for distribution widths of 10^10 or less. Second. it may help the user avoid correlations between random numbers generated for different parts of a calculation. The ?iran expression accesses the last random integer generated. IRANdom can also be used to effectively generate random real numbers. The use of multiple seeds for a given series should be unnecessary and is discouraged. First. by separating the seeds of the various distributions sufficiently. is incremented by several units with each instance of the IRANdom command. with the use of the CALC command. it allows users to generate random numbers easily from many different distributions during the same charmm run (e. the user can thus avoid cross-series correlations. The purpose of the multiple series feature is at least two-fold.IRAND SERIES 2 etc. corresponding initially to the seed. for use in different parts of the same calculation).