Fvib from fitfc and fitsvsl

Hi Axel,

I’m moving on to some phonon calculations of the SiGe system and hope you can see to these (shorter) questions regarding fitfc and fitsvsl.

Trange.in is 1000 20.

I examined the fvib output for each structure from both routines, and found the values from fitfc are very large, and it looks like it contains the total energy of the structure, rather than the additional part, but for fitsvsl it is not the case, only the additional contribution is there. As an example, the Si end member:

E0 = -11.910908
fvib from fitfc:

-11.7892
-11.7896
-11.793
-11.8009
-11.8135
-11.8306
-11.8517
-11.8766
-11.9049
-11.9361
-11.9701
-12.0067
-12.0455
-12.0865
-12.1296
-12.1745
-12.2212
-12.2695
-12.3194
-12.3708

fvib from fitsvsl:

0.119498
0.119391
0.119173
0.118585
0.117413
0.115553
0.112954
0.10959
0.105455
0.100555
0.0949051
0.0885278
0.0814478
0.0736921
0.0652877
0.0562614
0.0466391
0.0364454
0.0257039
0.0144367

In turn, the zeroth order of fvib.eci is very large for fitfc,

fvib.eci from fitfc at T = 0:

-11.0014
0.380551
-0.00111
-0.000327052
-0.000664653
-0.000799553
-0.000391742
0.000117978
0
-0.00100126

while that from fitsvsl at T = 0 :

0.0954644
-0.0121116
-3.655e-05
8.48722e-07
2.01175e-06
-4.0717e-08
-1.71708e-06
-6.18027e-07
0
-8.13645e-06

So my question is, will there be a double counting?

Also, I noticed that before doing the vasp runs for each displacement, fitfc procedure will ask the user to relax the different strained vol_*, but the fitsvsl procedure directly skips that and goes on calculating each displaced cells. Will that lead to errors?

It is expected to have shift between the fitfc and svsl free energies: the svsl uses few force constants and leads to a softer solid (but since the shift is roughly constant for different structures, there is error cancellation when computing formation free energies).

I am puzzled by the magnitude of the shift in this case - it seems way too big. Do the phonon dos look reasonably similar? Does the problem persist if you use only vol_0? If not, perhaps specify the bulk modulus with the -b option that you have calculated separately (the default is to infer it from the force constants, which quick but not accurate).

You should not add the svsl and fitfc free energies or eci as that would indeed double count. If you want to combine them, you should add the fitfc value of the end member to the formation free energy obtained with svsl (see https://www.brown.edu/Departments/Engineering/Labs/avdw/papers/CuLipd.pdf for an example). In your system, I see no reasons for doing that because you have only one lattice type. Just use fitfc for all (more accurate) or svsl for all (quicker, less accurate) structures.

It’s true that fitsvsl does not relax each volume before doing displacements. The rationale was that fitsvsl uses an approximation whose error is probably larger than that due to failing to relax ion positions at each volume. So I took the much faster option of skipping relaxations. BTW, it won’t make a difference on high-symmetry structures that have no internal relaxations (e.g. pure Si or pure Ge and even SiGe).

Got it. I think it’s the default result of not having switched on fitfc’s option -me0. If that’s the case, the fvib file contains the total free energy, rather than only the vibrational part. And one should not combine the fvib.eci from fitfc with eci.out, since fvib.eci already has what eci.out has.

fitsvsl and svsl on the contrary, output only the vibrational part of the free energy, whose fvib.eci should be combined with eci.out.

Good point! Added a note to this effect in the fitfc helpfile.