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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

should pick out random.log files from different stages <strong>of</strong> a calculation (e.g., VMC configuration<br />

generation / DMC equilibration / DMC statistics accumulation) and rename them appropriately.<br />

Since 1.2011 (for more than 100 processors) the check on random seeds being equal on different<br />

processors is only performed when RANPRINT is greater than zero.<br />

REDIST GRP SIZE (Integer) In the branch-and-redistribute algorithm (which does redistribution<br />

<strong>of</strong> configurations across nodes in DMC), we must decide which pairs <strong>of</strong> nodes are involved in configuration<br />

transfers, and how many configurations are to be transferred in each operation. There<br />

is an optimal algorithm for doing this (involving looking at individual configuration multiplicities<br />

and the exact excess or deficit <strong>of</strong> configurations relative to a target on each node. If we consider<br />

all the nodes then this algorithm scales linearly with the number <strong>of</strong> nodes, eventually becoming<br />

so expensive that for a fixed number <strong>of</strong> configurations the code actually becomes slower if we<br />

increase the number <strong>of</strong> nodes. We therefore parallelize the algorithm; to do this we form groups<br />

<strong>of</strong> processors (‘redist groups’) <strong>of</strong> size redist grp size (plus some remainder). When calculating<br />

the vector <strong>of</strong> instructions, only transfers within these groups are contemplated, and the cost for<br />

working out what to send where no longer increases with the number <strong>of</strong> nodes (above a certain<br />

size).<br />

RELATIVISTIC (Logical) If relativistic is T, then relativistic corrections to the energy are calculated<br />

using perturbation theory. Note that this can only be done for closed-shell systems at<br />

present. See Sec. 32 for further details.<br />

RNG RESTART SAFE (Logical) We would like, e.g., a 1000-move VMC run, and two 500-move<br />

VMC runs linked together by a restart to give the same answer, in the sense that we end up with<br />

the same vmc.hist file. Unfortunately they do not in general since the pseudorandom number<br />

sequence is affected by the restart. This is because random numbers are generated something<br />

like 63 at a time and stored in a buffer until needed (this buffer being refilled when necessary).<br />

In the normal way <strong>of</strong> saving a point in the random number sequence, any unused numbers in<br />

the buffer are discarded, which means the final answer will be different to the unrestarted case.<br />

If the keyword rng restart safe is T (which is actually now the default) then the whole current<br />

buffer is saved in the final config.out file as well as the current state <strong>of</strong> the random sequence<br />

(necessarily fixed at the end <strong>of</strong> the current buffer). This allows multiple step runs to give the<br />

same answer as single step runs, at the expense <strong>of</strong> slightly larger configuration files.<br />

RUNTYPE (Text) This keyword specifies the type <strong>of</strong> QMC run to be carried out. It can take the<br />

following values: ‘vmc’ (perform a single VMC simulation); ‘dmc equil’ (perform DMC equilibration);<br />

‘dmc stats’ (perform DMC statistics accumulation); ‘dmc’ (perform DMC equilibration,<br />

then statistics accumulation); ‘vmc dmc’ (perform VMC, then DMC equilibration, then DMC<br />

statistics accumulation); ‘vmc dmc equil’ (perform VMC, then DMC equilibration); ‘opt’ (perform<br />

a single wave-function optimization calculation); ‘vmc opt’ (perform opt cyles cycles <strong>of</strong><br />

VMC and optimization, alternately) ‘opt vmc’ (perform opt cycles cycles <strong>of</strong> optimization and<br />

VMC, alternately); ‘gen mpc’ (generate an mpc.dat file enabling the use <strong>of</strong> the MPC interaction);<br />

‘gen mdet casl’ (generate an mdet.casl file for use by the det compress utility); ‘plot’<br />

(perform plot specified by block qmc plot). NOTE: in earlier versions <strong>of</strong> the code, we used<br />

‘runtype : dmc’ with the now-redundant keyword ‘iaccumulate : T or F’ to indicate whether<br />

stats accumulation was activated or not. This usage is now deprecated and, unless iaccumulate<br />

is specifically defined in input, then ‘runtype : dmc’ is just a synonym for ‘runtype :<br />

dmc dmc’.<br />

SCELL MATRIX (Block) If the simulation-cell lattice vectors are {a i } and the primitive-cell lattice<br />

vectors are {p j } then we may write a i = ∑ j S ijp j , where the S ij are integers. The 3 × 3 integer<br />

matrix S is given in the scell matrix input block. This is a generalization <strong>of</strong> npcell (which<br />

simply gives the diagonal elements <strong>of</strong> S in the special case that S is diagonal). Only one <strong>of</strong><br />

npcell and scell matrix should be present in the input file.<br />

SHM SIZE NPROC (Integer) In Shm calculations on Blue Gene machines one needs to<br />

know in advance the number <strong>of</strong> MB <strong>of</strong> shared memory required, so that one may set<br />

the BG SHAREDMEMSIZE environment variable (which can be done by means <strong>of</strong> the<br />

--user.shemsize argument to runqmc). casino will calculate this number and print it to<br />

output at the end <strong>of</strong> the setup process (within the scope <strong>of</strong> testrun=T). However, the amount<br />

<strong>of</strong> shared memory required depends on the number <strong>of</strong> cores (or the number <strong>of</strong> MPI processes<br />

if running more or less than one process per core). If one ultimately wishes to run on, say,<br />

52

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

Saved successfully!

Ooh no, something went wrong!