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.

V(x)<br />

Ψ init<br />

(x)<br />

τ{<br />

t<br />

Ψ 0<br />

(x)<br />

x<br />

The first step in DMC is to generate these configurations in their initial distribution (i.e., according<br />

to the VMC trial wave function). This is done through a VMC calculation in exactly the same way as<br />

we generated configurations for variance minimization in the previous section. Therefore one should<br />

again set vmc nconfig write to be the desired number <strong>of</strong> configurations, and vmc nstep to be ≥<br />

vmc nconfig write. (Setting the decorrelation period vmc decorr period to a higher value than<br />

in VMC is less important than in variance minimization, since the correlations will disappear as the<br />

DMC calculation evolves).<br />

Note—and this is a common point <strong>of</strong> confusion—that the runtype flag should generally be set to<br />

‘vmc dmc’ at the start <strong>of</strong> a DMC calculation, not, as might be thought, to ‘dmc’ 7 .<br />

An appropriate number <strong>of</strong> configurations to use for DMC might be 1000 or more. You can sometimes<br />

get away with using a few hundred for small systems. Notice that parallelization is automatic—<br />

configurations will be distributed among the nodes.<br />

Following configuration generation the distribution <strong>of</strong> walkers is allowed to propagate in imaginary<br />

time (see e.g. Ref. [11]) according to the DMC rules. During a certain period <strong>of</strong> equilibration, the<br />

distribution will change until the walkers are distributed according to the ground-state wave function<br />

<strong>of</strong> the system, subject to the constraint that the wave function has the same nodes as the trial function<br />

that we started with. This part <strong>of</strong> the process is called ‘DMC equilibration’. The best estimate <strong>of</strong><br />

the energy will fall from the initial VMC value to around the correct ground-state energy during this<br />

process. After equilibration, the best estimate <strong>of</strong> the energy will be roughly correct, and we now<br />

propagate for a long period <strong>of</strong> imaginary time in order to accumulate enough energy data to estimate<br />

7 Sometimes one does wish to do DMC only (by using already generated VMC configurations, or by continuing an<br />

existing DMC run) in which case one should set runtype to either ‘dmc equil’ (perform DMC equilibration), ‘dmc stats’<br />

(perform DMC statistics DMC equilibration), or ‘dmc dmc’ (perform DMC equilibration, then statistics accumulation).<br />

In earlier versions <strong>of</strong> the code, we used runtype = ‘dmc’ with the now-deprecated keyword iaccumulate = T or F<br />

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

is specifically defined in input, runtype = ‘dmc’ is just a synonym for ‘dmc dmc’. If you don’t know what DMC<br />

equilibration or statistics accumulation are, read on.<br />

21

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

Saved successfully!

Ooh no, something went wrong!