Canonical Estimates

In this tutorial we will discuss how estimates for various mean-field properties of a system can be evaluated in the canonical ensemble at finite temperatures. These estimates are useful for basis set extrapolation as well as comparison to the fully interacting results and are non-trivial to evaluate analytically. See [Malone15] for details.

The input file is fairly simple:

sys = ueg {
    nel = 7,
    ms = 7,
    dim = 3,
    cutoff = 10,
    rs = 1,
}

canonical_estimates {
    sys = sys,
    canonical_estimates = {
        beta = 1,
        nattempts = 10000,
        ncycles = 1000,
        fermi_temperature = true,
    },
}

Here we attempt to generate N particle states making nattempts attempts and then run the simulation for ncycles*nattempts iterations in total. The only other options available are the inverse temperature desired, which can be scaled by the Fermi temperature (where appropriate). Here we restrict ourself to the fully spin polarised UEG in M=389 plane waves, which can be compared to the IP-DMQMC simulation in the DMQMC tutorial.

Running the input file we find

$ hande.x canonical_estimates.lua >  canonical_estimates.out

Inspecting the output, we see a number of columns for various estimates including the kinetic, potential, internal, free energy and entropy - precise definitions of everything can be found in the output file. The data can be analysed to find the mean and standard error using the analyse_canonical.py script in the tools/canonical_energy subdirectory:

$ analyse_canonical.py canonical_estimates.out

which gives

          Beta            U_0      U_0_error            T_0      T_0_error             V_0      V_0_error    N_ACC/N_ATT  N_ACC/N_ATT_error             F_0      F_0_error            S_0      S_0_error           T_HF     T_HF_error           U_HF     U_HF_error            V_HF     V_HF_error
1.00000000e+00 3.34489604e+01 7.12207413e-03 3.42505858e+01 7.00598613e-03 -8.01625332e-01 1.43282029e-04 1.67618487e-01     1.16924926e-04 -1.83693842e+01 2.03921704e-03 1.79999929e+01 2.45760105e-03 3.37906337e+01 6.93061658e-03 3.29774580e+01 7.04945348e-03 -8.13175652e-01 1.46382195e-04

In particular, we can compare the values of \(U_0\) and \(U_{\mathrm{HF}}\) to the value of 32.91(4) Ha from the IP-DMQMC tutorial.