How to Apply Holzmann et al.’s Finite-Size Correction?
I'm calculating TiS2 bulk structure for tracing this study. https://dx.doi.org/10.1021/acs.jpca.0c05973
In this study, Holzmann et al.'s correction was employed as a potential energy correction. To evaluate this correction, I performed DMC calculations while recording the static structure factor using the following estimator:
<estimator type="skall" name="SkAll" source="ion0" target="e" hdf5="yes"/>
I then processed the results with the qmcfinitesize command and obtained the following output: %---------------------------------------- ========================================================= Finite Size Corrections: ========================================================= System summary: Nelec = 192.00000000 Vol = 3094.43944186 [a0^3] Ne/V = 0.06204678 [1/a0^3] rs/a0 = 1.56698215
V_LO / electron = 0.00159580 +/- 0.00005100 [Ha/electron] V_LO = 0.30639447 +/- 0.00979268 [Ha] T_LO / electron = 0.00082837 +/- 0.00002648 [Ha/electron] T_LO = 0.15904800 +/- 0.00508334 [Ha] NB: This is a crude estimate of the kinetic energy correction!
Beyond Leading Order (Integrated corrections): V_Int / electron = 0.00160340 +/- 0.00005687 [Ha/electron] V_Int = 0.30785348 +/- 0.01091999 [Ha] %---------------------------------------- I have attached the result for one of the twists. qmc.g000.s004.finitesize.txt
However, I am unsure about the proper way to apply this finite-size correction to the raw DMC energy.
Specifically, when I averaged the V_Int values over each twist and simply added this average to the raw DMC energy (obtained using qmca -a -q e qmc.g*.s004.scalar.dat), the resulting size dependence of the energy differed significantly from that reported in the reference paper.
Could you advise whether this procedure for applying the correction is appropriate, or if there might be another underlying cause for the discrepancy?
I apologize if this is a very basic question, but I would greatly appreciate your guidance.
@rcclay Please can you add your comments on using the estimator and finitesize tool here
I think there might be a problem in your analysis workflow--specifically in how you add the correction coming out of the tool to your DMC energy. That is based on the following:
1.) Without being super cautious matching the axes of your plots to those of Krogel et al. Figure 1, it does look as if your uncorrected DMC extrapolation ends up roughly where Krogel's does, under the assumption that your energies are really in Ha/f.u., instead of the eV/f.u. you have in your figure. This seems like too big of a coincidence, so I would assume there are mistaken units in either your numbers or Krogel's numbers. Please double check this.
2.) Looking your qmcfinitesize output, I see that you are doing a 48 atom supercell, which is 16 formula units of TiS2. Vint is 0.307Ha for the whole cell, which is 0.307Ha/16=+0.0191 Ha/f.u., or +0.519eV/f.u. Looking at your 48 atom number, this would definitely imply that your corrected DMC energies would be below the infinite system result, more in line with Krogel's findings. Adding the correction in eV/f.u. to the DMC energies in Ha/f.u. would probably explain how you are overshooting the thermodynamic limit.
3.) Even with this change though, your finite size corrections coming out of the tool are smaller than what Krogel found. He was about 0.1Ha/f.u. below the thermodynamic limit at 48 atoms, whereas when I use your numbers, I get 0.3Ha/f.u. below.
Here are some things I would recommend checking in addition to the units.
1.) I see in your qmc.g000.s004.finitesize.txt file (line 738) that your LR_dim_cutoff might be a bit small. This code assumes that your S(k) at the largest k-vectors is close to its k->infinity asymptote of 1, and increasing LR_dim_cutoff over default will increase the k-space cutoff as well. Might not fix it, but it's worth a check.
2.) You might want to check your order of operations for twist averaging the corrections. The correct way to do it would be to get a twist-averaged S(k), and then feed that into the qmcfinitesize tool. It might be the case that computing a correction at each twist and averaging the result at the end miiiiight get you to the same place, but I'm not sure about that. Also worth a check.
Anyways, I hope this helps you identify some issues. Let us know how your investigations turn out, and we can iterate here. Fortunately, it looks like on the whole, QMCPACK and the tool are doing what they should--we might just have subtle workflow and physics gotchas.