14.09.2014 Views

CASINO manual - Theory of Condensed Matter

CASINO manual - Theory of Condensed Matter

CASINO manual - Theory of Condensed Matter

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>of</strong> G vectors and discards all those before the first non-zero one (where zero is defined by some<br />

threshold like 1.d-6). In the HF/DFT case this tends to give a large reduction in the size <strong>of</strong> the<br />

vector to be evaluated. However, the random noise in the QMC density coefficients is likely to<br />

exceed the zero threshold for all G, and the vector will likely be untruncated. It is important<br />

therefore to use a value for expval cut<strong>of</strong>f which is not too large when using this facility, in<br />

order that the total number <strong>of</strong> G vectors in the expansion is not too large.<br />

QMC PLOT (Block) This utility allows you to plot the value <strong>of</strong> certain quantities along a line AB /<br />

plane AB-AC / volume AB-AC-AD. The data will be plotted in a format suitable for xmgrace<br />

in the file lineplot.dat or in a format suitable for gnuplot in 2Dplot.dat or 3Dplot.dat.<br />

The block has the following format:<br />

Line 1: what to plot (either ‘orb’, ‘orb gradx’, ‘orb grady’, ‘orb gradz’, ‘orb lap’, ‘wfn’, ‘nodes’,<br />

‘energy’, ‘eipot’ or ‘expot’);<br />

Line 2: dimensionality (1, 2 or 3);<br />

Line 3: no. <strong>of</strong> points along each direction;<br />

Lines 4–: (x, y, z) coordinates <strong>of</strong> point A; <strong>of</strong> point B; <strong>of</strong> point C (if required); <strong>of</strong> point D (if<br />

required).<br />

Three additional lines have to be added for orbital plots:<br />

Line A1: number <strong>of</strong> orbitals (N orb );<br />

Line A2: N orb integers identifying the orbitals to be plotted;<br />

Line A3: N orb integers identifying the spins (1 or −1) for each <strong>of</strong> the orbitals.<br />

For wave-function and local-energy plots, the coordinate defined by lines 4– refer to electron<br />

1. The coordinates <strong>of</strong> all remaining electrons are taken from a configuration obtained by VMC<br />

equilibration (without Jastrow factor). Alternatively the positions <strong>of</strong> several electrons may be<br />

fixed. The following line(s) must be added:<br />

Line B1: number <strong>of</strong> fixed electrons (≥ 0);<br />

Line B2 and onwards: spin, number and (x, y, z) coordinates for each <strong>of</strong> the fixed electrons.<br />

For electron–ion-potential, external-potential and node plots, no lines have to be added.<br />

RANDOM SEED (String) This keyword determines which random seed to use for the RANLUX<br />

random number generator. The default value <strong>of</strong> random seed is ‘default’, which uses the seed<br />

314159265. If random seed is set to ‘timer’, the system timer will be used as the seed. If the<br />

value <strong>of</strong> random seed is an integer, that integer will be used as the random seed. The seed is<br />

printed to the output file so that calculations using random seed=‘timer’ can be reproduced<br />

afterwards. Note that when restarting from a previous calculation the value <strong>of</strong> random seed<br />

is ignored and the random number sequence will generally be continued from the saved state<br />

<strong>of</strong> the random number generator stored in the config file. The user may in fact override this<br />

behaviour in DMC restarts by setting random seed=‘timer’, in which case the generator will<br />

be re-initialized from the system clock after the config file is read. This might be useful, for<br />

example, if a prior test has revealed that the standard sequence will lead to a configuration<br />

giving rise to a population explosion.<br />

RANLUXLEVEL (Integer) To generate the parallel streams <strong>of</strong> pseudo-random numbers for its<br />

stochastic algorithms, casino uses an implementation <strong>of</strong> the ranlux algorithm. This is an<br />

advanced pseudo-random number generator based on the rcarry algorithm proposed in 1991 by<br />

Marsaglia and Zaman. rcarry used a subtract-and-borrow algorithm with a period on the order<br />

<strong>of</strong> 10 171 but still had detectable correlations between numbers. Martin Luescher proposed the<br />

ranlux algorithm in 1993; ranlux generates pseudo-random numbers using rcarry but throws<br />

away numbers to destroy correlations. ranlux trades execution speed for quality through the<br />

choice <strong>of</strong> a ‘luxury level’ given in casino by the ranluxevel input keyword. By choosing a<br />

larger luxury setting one gets better random numbers slower. By the tests available at the time<br />

it was proposed, ranlux at its higher settings appears to give a significant advance in quality<br />

over previous generators. The luxury setting must be in the range 0–4. Level 0: equivalent to<br />

the original rcarry <strong>of</strong> Marsaglia and Zaman, very long period, but fails many tests. Level 1:<br />

considerable improvement in quality over level 0, now passes the gap test, but still fails spectral<br />

test. Level 2: passes all known tests, but theoretically still defective. Level 3 [DEFAULT]: any<br />

theoretically possible correlations have very small chance <strong>of</strong> being observed. Level 4: highest<br />

possible luxury, all 24 bits chaotic.<br />

RANPRINT (Integer) Setting this keyword to a value greater than zero will cause the first ranprint<br />

numbers generated by the casino random number generator to be printed to a file random.log.<br />

On parallel machines the numbers generated on all processors are printed. The run script<br />

51

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!