CASINO manual - Theory of Condensed Matter
CASINO manual - Theory of Condensed Matter
CASINO manual - Theory of Condensed Matter
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
The vmc method input parameter selects which is to be used: a value <strong>of</strong> 1 means electron-byelectron,<br />
whereas a value <strong>of</strong> 3 means configuration-by-configuration. 17<br />
The local energy does not have to be calculated every configuration move. In particular, energies are<br />
not calculated during the first vmc equil nstep moves <strong>of</strong> a VMC simulation when the Metropolis<br />
algorithm has yet to reach its equilibrium. Furthermore, because the configurations are serially correlated,<br />
the expense <strong>of</strong> calculating the energy at every configuration move is unjustified: it is more<br />
efficient to calculate the energy once every vmc decorr period moves, where typically the input<br />
parameter vmc decorr period might be in the range 4–20.<br />
Note that it is not necessary to write out every local energy calculated. vmc ave period successive<br />
energies can be averaged over before being written out to vmc.hist: this helps ensure that the<br />
vmc.hist file is not excessively large when long production calculations are carried out. Furthermore,<br />
on parallel machines the local energies computed on each processor are averaged over before being<br />
written out.<br />
The input parameter vmc nstep gives the number <strong>of</strong> energy-calculating steps in the VMC simulation.<br />
In parallel machines, each processor goes over vmc nstep/nproc energy-calculating steps.<br />
12.3 Two-level sampling<br />
The Metropolis acceptance probability for a move from R ′ to R in the standard algorithm 18 is<br />
} {<br />
}<br />
p(R ← R ′ ) = min<br />
{1, |Ψ(R)|2<br />
|D↑ 2<br />
|Ψ(R ′ )| 2 = min 1,<br />
(R)D2 ↓<br />
(R)| exp[2J(R)]<br />
|D↑ 2(R′ )D↓ 2(R′ )| exp[2J(R ′ . (12)<br />
)]<br />
It is straightforward to show that if detailed balance [11] in configuration space is satisfied then the<br />
resulting ensemble <strong>of</strong> configurations will be distributed according to the square <strong>of</strong> the trial wave<br />
function.<br />
However, casino employs a two-level sampling algorithm, which has been shown to be considerably<br />
more efficient [25].<br />
Let us define the first-level acceptance probability<br />
{<br />
p 1 (R ← R ′ |D↑ 2 ) = min 1,<br />
(R)D2 ↓ (R)|<br />
}<br />
|D↑ 2(R′ )D↓ 2(R′ )|<br />
and the second-level acceptance probability<br />
p 2 (R ← R ′ ) = min<br />
(13)<br />
{<br />
1, exp[2J(R)] }<br />
exp[2J(R ′ . (14)<br />
)]<br />
In the two-level algorithm we accept trial moves from R ′ to R with probability p 1 (R ← R ′ )p 2 (R ←<br />
R ′ ). It can be shown that, provided detailed balance in configuration space is satisfied, this procedure<br />
also results in an ensemble <strong>of</strong> configurations distributed according to the square <strong>of</strong> the trial wave<br />
function.<br />
The two-level approach is computationally advantageous because the Metropolis accept/reject step<br />
can be carried out in two stages: if the ‘first level’ is accepted (with probability p 1 ) then we compute<br />
the Jastrow factors <strong>of</strong> the new and old configurations and determine whether the ‘second level’ is<br />
accepted (with probability p 2 ). Thus, if a move is rejected at the first level then we do not have to<br />
compute the Jastrow factors for the new and old configuration 19 .<br />
12.4 Optimal value <strong>of</strong> the VMC time step<br />
Ideally, the VMC time step dtvmc should be chosen such that the correlation period (as determined<br />
by reblocking analysis) <strong>of</strong> the resulting configuration local energies is minimized. For large time steps<br />
17 There used to be a vmc method=2, but after extensive testing we concluded that it did not <strong>of</strong>fer any advantage<br />
over the other methods and was hard to support.<br />
18 In the electron-by-electron algorithm, R and R ′ differ only in the coordinates <strong>of</strong> a single electron.<br />
19 It is better to use the Slater wave function to compute the first-level acceptance probability because p 1 is much<br />
lower (in general) than the corresponding acceptance probability for the Jastrow part (p 2 ); hence we are less likely to<br />
need to compute the second level acceptance probability than if the situation were reversed.<br />
122