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.
local energy <strong>of</strong> the initial configurations. During equilibration E best is updated after each iteration<br />
as the average local energy over the previous ebest av window moves. During accumulation E best<br />
is set equal to the current value <strong>of</strong> the mixed estimator <strong>of</strong> the energy, given by Eq. (51), with  =<br />
E L (α, m). The algorithms differ because we wish to discard data from the start <strong>of</strong> the simulation<br />
during equilibration. E T is updated after every iteration as<br />
( )<br />
E T (m + 1) = E best (m) −<br />
g−1<br />
τ EFF (m) log Mtot (m)<br />
, (32)<br />
M 0<br />
where g −1 = min{1, τc ET }, c ET is a constant which must be set in the input file (cerefdmc), but<br />
is usually set equal to one, M 0 =dmc target weight is the target number <strong>of</strong> configurations (in our<br />
implementation it is allowed to take non-integer values) and<br />
M tot (m) =<br />
N config (m)<br />
∑<br />
α=1<br />
w α (m), (33)<br />
where N config (m) is the number <strong>of</strong> configurations and w α is the weight <strong>of</strong> configuration α. Note that<br />
E best (m) is the best energy at time step m while E T (m + 1) is the trial energy to be used in the<br />
next time step. τ EFF is the current best estimate over all configurations and time steps <strong>of</strong> the mean<br />
effective time step, calculated using Eq. (51) with  = τ eff(α, m). Note that g is the time scale (in<br />
terms <strong>of</strong> time steps) over which the population attempts to return to M 0 .<br />
13.5 Modifications to the Green’s Function<br />
13.5.1 The effective time step<br />
Time-step errors can be reduced and the stability <strong>of</strong> the DMC algorithm improved by modifying the<br />
Green’s function. An important modification is to introduce an effective time step, τ eff , into the<br />
branching factor [28]. When the accept/reject step is included, the mean distance diffused by each<br />
electron each move (which should go as the square root <strong>of</strong> the time step) is reduced because some<br />
moves are rejected. When calculating branching factors it is therefore more accurate to use a time<br />
step appropriate for the actual distance diffused. Umrigar and Filippi [26] have suggested using an<br />
effective time step for each configuration at each time step. The effective time step is given by<br />
∑<br />
i<br />
τ eff (α, m) = τ<br />
p i∆rd,i<br />
2 ∑ , (34)<br />
i ∆r2 d,i<br />
where the averages are over all attempted moves <strong>of</strong> the electrons i in configuration α at time step<br />
m. The ∆r d,i are the diffusive displacements [i.e., the distances travelled by the electrons without the<br />
drift-displacement: see Eq. (22)] and p i is the acceptance probability <strong>of</strong> the electron move [see Eq.<br />
(26)]. The values averaged over the current run are written in the output file.<br />
We calculate τ EFF (m) using Eq. (51) with  ≡ τ eff(α, m).<br />
13.5.2 Drift-vector and local-energy limiting<br />
The drift vector diverges at the nodal surface and a configuration which approaches a node can exhibit<br />
a very large drift, resulting in an excessively large move in the configuration space. One can improve<br />
the Green’s function by cutting <strong>of</strong>f the drift vector when its magnitude becomes large. The total drift<br />
vector is defined in Eq. (21).<br />
We use the smoothly cut-<strong>of</strong>f drift vector suggested by UNR [19]. For each electron with drift vector<br />
v i , we define the smoothly cut-<strong>of</strong>f drift vector:<br />
ṽ i = −1 + √ 1 + 2a|v i | 2 τ<br />
a|v i | 2 v i , (35)<br />
τ<br />
where a is a constant that can be chosen to minimize the bias. The value <strong>of</strong> a = alimit can be entered<br />
by the user if nucleus gf mods is set to F (the default is a = 1); otherwise a will be calculated as<br />
described in Sec. 13.6.<br />
126