[Wien] Finite temperature DFT: electronic free energy

Gavin Abo gsabo at crimson.ua.edu
Tue May 15 06:40:22 CEST 2018


I think you found a bug in init_lapw.  The fix seems like it should be 
simple though.  On line 498 in the init_lapw script in the sed command, 
it looks like $fermit just needs changed to $fermits.

I made a patch file called init_lapw.patch [ 
https://github.com/gsabo/WIEN2k-Patches/tree/master/17.1 ], which you 
should be able to apply and try simply using:

username at computername:~/Desktop$ cd $WIENROOT
username at computername:~/WIEN2k$ wget 
https://raw.githubusercontent.com/gsabo/WIEN2k-Patches/master/17.1/init_lapw.patch
username at computername:~/WIEN2k$ patch -b init_lapw init_lapw.patch
patching file init_lapw

Maybe F is the :ENE (TOTAL ENERGY) in case.scf.

I tried following what a previous user did [ 
https://www.mail-archive.com/wien@zeus.theochem.tuwien.ac.at/msg10319.html 
] but with a quick TiC calculation using run_lapw in WIEN2k 17.1:

T = 1000 K = 0.00633 Ry
init_lapw -b -fermits 0.00633
TiC.scf::ENE  : ********** TOTAL ENERGY IN Ry = -1783.95041939
TiC.output2:          Kb * T            =   0.00633000
TiC.output2:          -T*Entr           =  -0.00054181

T = 0 K = 0.0 Ry
init_lapw -b -fermits 0.0
TiC.scf::ENE  : ********** TOTAL ENERGY IN Ry = -1783.94928338
TiC.output2:          Kb * T            =   0.00180000
TiC.output2:          -T*Entr           =  -0.00005329

F_1000K - F_0K = (E - T*S) - (E - 0) = -T*S = -1783.95041939 - 
(-1783.94928338) = -0.001136 => -T*S = -0.001136

If -T*S divided by 2:

-T*S = -0.001136/2 = - 0.000568 <- This seems reasonably close to the 
above -0.00054181 for T = 1000 K.

As I recall, the -T*S term was doubled in WIEN2k versions after 2014 [ 
https://www.mail-archive.com/wien@zeus.theochem.tuwien.ac.at/msg10319.html 
].

Though, there may be a flaw in my above calculation.

On 5/14/2018 5:35 PM, Sabry Moustafa wrote:
>
> Hi;
>
> I am interested in the electronic free energy (F=E-TS) using the 
> finite temperature DFT using Fermi-Dirac statistics (i.e., Mermin's 
> extension to 0 K DFT) -- i.e., I am not just looking for Fermi-Dirac 
> as a broadening/smearing technique. So,how this can be done in WIEN2k?
>
> It looks like I have to define "-fermits X" in the init_lapw command 
> (where X= kT, in Ry). But when I did (T=1000K in my case):
>
> init_lapw -b -fermits 0.00633
>
> I got "fermit: Undefined variable." at the end. This is fixed though 
> when defined fermit as well:
>
> init_lapw -b -fermit 0.00633 -fermits 0.00633
>
> So, do I have to define both?
>
>
> Also, where can I find this "free energy F". It does not seem to be 
> the "TOTAL ENERGY" in case.scf. Seems like I need to add this "TOTAL 
> ENERGY" (E) to "-T*Entr" (-TS) in case.output2 file to get F?
>
>
> Thanks ;
>
> Sabry
>
>
> :-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:
>
> Sabry G. Moustafa, Ph.D.
> Department of Chemical and Biological Engineering,
> University at Buffalo, The State University of New York.
> 511 Furnas Hall
> Buffalo, NY 14260-4200
> 716-645-1186 (office)
> 716-239-8543 (cell)
>
> E-mail: sabrygad at buffalo.edu <mailto:sabrygad at buffalo.edu>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://zeus.theochem.tuwien.ac.at/pipermail/wien/attachments/20180514/2e2841ec/attachment.html>


More information about the Wien mailing list