[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