CASINO manual - Theory of Condensed Matter
CASINO manual - Theory of Condensed Matter
CASINO manual - Theory of Condensed Matter
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