Skip to Content.
Sympa Menu

forum - Re: [abinit-forum] Etotal versus etotal

forum@abinit.org

Subject: The ABINIT Users Mailing List ( CLOSED )

List archive

Re: [abinit-forum] Etotal versus etotal


Chronological Thread 
  • From: Vincent Chevrier <vincent.chevrier@dahn.phys.dal.ca>
  • To: forum@abinit.org
  • Subject: Re: [abinit-forum] Etotal versus etotal
  • Date: Thu, 3 Sep 2009 18:20:12 -0300 (ADT)
  • Importance: Normal

Hi,

I'm really sorry but I swapped the tphysel values in the previous
postings. It SHOULD have read:
toldfe=1e-9, tphysel=0
>>>>>>>>> Etotal= -2.24784859172166E+02
>>>> Etotal (DC)= -2.24784864956616E+02
etotal -2.2478486496E+02

toldfe=1e-9, tphysel=0.002131
>>>>>>>>> Etotal= -2.24785888288957E+02
>>>> Etotal (DC)= -2.24785888278458E+02
etotal -2.2478510947E+02

And so Etotal != etotal when tphysel != 0.

As Matthieu suggested I varied tsmear and as Marc suggested used a
tolvrs=1e-15. See the attached plot. It therefore appears that the value
of etotal in the .out file is missing some contribution when using
tphysel. (I'm only plotting tsmear=[0.005:0.015] but the same trend
continues up to 0.05 and I didn't test beyond that).

One should therefore use Etotal or EtotalDC when using tphysel and NOT
etotal? Is this a bug?

Thanks
Vincent

> Guilty, as charged. The concept behind tphysel is in PRB 65 035111:
>
> The result of a combination of a physical (Femi Dirac tphysel)
> temperature and an artificial (tsmear, e.g. Marzari cold-smearing)
> smearing is an effective smearing scheme, where the temperature for
> the entropic term is tphysel and the smearing function is a
> mathematical convolution (determines the occupation numbers, which
> gives the value of the entropy) which depends both on tsmear and
> tphysel. This is why in the tphysel case you specify both but it is
> tphysel which should appear in front of the entropy, not tsmear.
>
> Note that for physical temperature calculations you always have the
> reference of setting tsmear=T and occopt 3, and then converging wrt
> k-points. This avoids the additional cross-convergence of tsmear and
> nkpt, but obviously is heavier (that's the whole point of
> tphysel+tsmear, to improve k-point convergence).
>
>> toldfe=1e-9, tphysel=0
>> >>>>>>>>> Etotal= -2.24785888288957E+02
>> >>>> Etotal (DC)= -2.24785888278458E+02
>> etotal -2.2478510947E+02
> this is wierd: the Etotal-s are already free energies, with the
> entropic term subtracted. So etotal should be equal to them. Perhaps
> it is recalculated somewhere else before the final output? And that
> point would have a small bug. Could you test this difference as a
> function of tsmear for instance, to see if there is a trend?
>
>
>> toldfe=1e-9, tphysel=0.002131
>> >>>>>>>>> Etotal= -2.24784859172166E+02
>> >>>> Etotal (DC)= -2.24784864956616E+02
>> etotal -2.2478486496E+02
> Here etotal looks identical to Etotal(DC), as it should be, but the
> difference with Etotal is about 1.e-6, instead of 1.e-8 as above... I
> see no particular reason that the DC estimate should be worse in this
> case wrt the direct calculation of the energy. Has anyone seen this in
> norm-conserving calculations? Again, here, could you test if there is
> a trend wrt tphysel? Perhaps with a very reduced cutoff if the runs
> take time (and if the discrepancy is still there, of course).
>
> cheers,
>
> Matthieu
>
> On Thu, Sep 3, 2009 at 2:12 PM, TORRENT Marc<marc.torrent@cea.fr> wrote:
>> Dear Vincent,
>>
>> Some explanations (but not all).
>>
>> etotal is used to converge the scf cycle and contains an entropy energy
>> computed with tsmear.
>> It is obtained by direct scheme if iscf<10, by double-counting scheme if
>> iscf>=10:
>>
>> iscf=7 :  etotal=e_intern      - tsmear*entropy
>> iscf=17:  etotal=eDC_intern - tsmear*entropy
>>
>> Etotal (EtotalDC) is just printed at the end of the SCF cycle and
>> recomputed
>> at that level.
>> It uses tphysel if not zero, else tsmear:
>>
>> If tphysel<>0:
>> Etotal=e_intern      - tphysel*entropy
>> EtotalDC=eDC_intern - tphysel*entropy
>>
>> If tphysel=0:
>> Etotal=e_intern      - tsmear*entropy
>> EtotalDC=eDC_intern - tsmear*entropy
>>
>> So, it explains the differences between etotal and Etotal.
>> Why is it implemented like this: I don't know.
>> The developer who introduced tphysel should be able to explain that.
>>
>>
>> Concerning the difference between Etotal and EtotalDC when tphysel<>0...
>> it
>> sounds strange.
>> But I cannot explore further if I'm not sure of the convergence of your
>> SCF
>> cycle.
>> toldfe is not the right criterium.
>> you should use tolvrs and put it to a very low value (i.e 1.d-15 or
>> lower).
>>
>> Regards,
>>
>> Marc
>>
>>
>>
>> Etotal and Etotal
>>
>> Vincent Chevrier a écrit :
>>
>> Dear Bernard,
>> thank you for your reply. I've rerun with toldfe=1e-9. But etotal does
>> not
>> always agree with Etotal(DC). See below, in all cases tsmear=0.01 and
>> the
>> runs only differ in the parameters stated.
>>
>> toldfe=1e-5, tphysel=0
>> >>>>>>>>> Etotal= -2.24785447837035E+02
>> >>>> Etotal (DC)= -2.24785888234037E+02
>> etotal -2.2478510911E+02
>>
>> toldfe=1e-5, tphysel=0.002131
>> >>>>>>>>> Etotal= -2.24785745210972E+02
>> >>>> Etotal (DC)= -2.24784864246079E+02
>> etotal -2.2478486425E+02
>>
>
>> when tphysel=0.002131 then etotal = Etotal(DC), but when tphysel=0 then
>> etotal != Etotal(DC). Why is this, or more specifically what is:
>>
>> 1 - the cause of the difference between Etotal(DC) and etotal
>> 2 - the effect of tphysel on the difference between Etotal(DC) and
>> etotal
>>
>> Thanks
>> Vincent
>>
>>
>>
>> Dear Vincent,
>>
>> With iscf=17 (the default value of iscf), ETOT
>> is equal to the so-called "double counting" expression of the energy
>>
>>
>> written "Etotal (DC)" in the .out file (you could check it in your .out
>> file).
>>
>>
>> Moreover, Etotal and Etotal (DC) (both written in the .out file) are
>>
>>
>> expected to agree if
>>
>>
>> your calculation is well converged.
>> In your case, your convergence criterion
>> is weak (toldfe 1.d-05) so Etotal and Etotal (DC)
>> are not equal. You could
>> increase you convergence criterion to check this.
>>
>> Best regards
>> Bernard
>>
>>
>> Vincent Chevrier a écrit :
>>
>>
>> Hi,
>> I am wondering what the difference is between Etotal and etotal for PAW
>>
>>
>> calcs. I can't remember ever seeing a difference stated on the ABINIT
>> website. I'm especially interested in knowing how tphysel affects this
>> difference.
>>
>>
>> I completed two runs with the same structure the only difference being
>>
>>
>> tphysel=0 and tphysel=0.00213.
>>
>>
>> >From the .out file:
>> For tphysel=0:
>> Kinetic energy = 1.72081044902126E+01
>> Hartree energy = 1.17823500013938E+01
>> XC energy = -3.59810665254476E+01
>> Ewald energy = -1.07436906857906E+02
>> PspCore energy = 8.93535605840166E+00
>> Loc. psp. energy= -4.47984809673791E+01
>> Spherical terms = -7.44950150296981E+01
>> >>>>> Internal E= -2.24785658830422E+02
>> -kT*entropy = 2.10993387856660E-04
>> >>>>>>>>> Etotal= -2.24785447837035E+02
>> and
>> etotal -2.2478510911E+02
>> For tphysel=0.002131
>> Kinetic energy = 1.72075689848333E+01
>> Hartree energy = 1.17845516746048E+01
>> XC energy = -3.59818457081452E+01
>> Ewald energy = -1.07436906857906E+02
>> PspCore energy = 8.93535605840166E+00
>> Loc. psp. energy= -4.48011025224259E+01
>> Spherical terms = -7.44958705044103E+01
>> >>>>> Internal E= -2.24788248875047E+02
>> -kT*entropy = 2.50366407550064E-03
>> >>>>>>>>> Etotal= -2.24785745210972E+02
>> and
>> etotal -2.2478486425E+02
>> below is the input file. Can anybody help me understand:
>> 1 - the cause of the difference between Etotal and etotal
>> 2 - the effect of tphysel on the difference between Etotal and etotal
>>
>>
>> Thanks
>>
>>
>> Vincent
>> Input file:
>> ndtset 2
>> tphysel1 0.002131
>> tphysel2 0.0
>> occopt 4
>> tsmear 0.01
>> pawecutdg 15
>> ecut 15
>> kptopt 1
>> nshiftk 1
>> shiftk 0.5 0.5 0.5
>> kptrlatt 6 0 0
>> 0 3 0
>> 0 0 10
>> nstep 50
>> toldfe 1.0d-5
>> ntypat 2
>> znucl 3 14
>> natom 34
>> typat 1 1 1 1 2 1 1 1
>> 2 1 1 1 2 1 1 1
>> 2 1 1 1 1 2 1 1
>> 1 2 1 1 1 2 1 1
>> 1 2
>> acell 1.5065427965E+01 2.8615352526E+01 8.4083802112E+00 Bohr
>>
>>
>> rprim 1.0 0.0 0.0
>>
>>
>> 0.0 1.0 0.0
>> 0.0 0.0 1.0
>> xred 7.4996953092E-13 5.0000000000E-01 0.0000000000E+00
>> 9.6480532055E-02 1.9420479791E-01 0.0000000000E+00
>>
>>
>> 2.7080350417E-01 3.4610078252E-01 0.0000000000E+00
>> 1.5292044305E-01 2.5787557735E-02 0.0000000000E+00
>> 4.1748605305E-01 1.6031572532E-01 0.0000000000E+00
>> 2.5955975937E-01 9.5181187368E-02 5.0000000000E-01
>> 4.0978302750E-01 2.5635768786E-01 5.0000000000E-01
>> 9.6925526499E-02 3.9393640703E-01 5.0000000000E-01
>> 4.2837868374E-01 4.3177429281E-01 5.0000000000E-01
>> 9.0351946795E-01 8.0579520209E-01 0.0000000000E+00
>> 7.2919649583E-01 6.5389921748E-01 0.0000000000E+00
>> 8.4707955695E-01 9.7421244227E-01 0.0000000000E+00
>> 5.8251394695E-01 8.3968427468E-01 0.0000000000E+00
>> 7.4044024063E-01 9.0481881263E-01 5.0000000000E-01
>> 5.9021697250E-01 7.4364231214E-01 5.0000000000E-01
>> 9.0307447350E-01 6.0606359297E-01 5.0000000000E-01
>> 5.7162131627E-01 5.6822570719E-01 5.0000000000E-01
>> 5.0000000000E-01 0.0000000000E+00 0.0000000000E+00
>> 4.0351946795E-01 6.9420479791E-01 0.0000000000E+00
>> 2.2919649583E-01 8.4610078252E-01 0.0000000000E+00
>> 3.4707955695E-01 5.2578755773E-01 0.0000000000E+00
>> 8.2513946947E-02 6.6031572532E-01 0.0000000000E+00
>> 2.4044024063E-01 5.9518118737E-01 5.0000000000E-01
>> 9.0216972503E-02 7.5635768786E-01 5.0000000000E-01
>> 4.0307447350E-01 8.9393640703E-01 5.0000000000E-01
>> 7.1621316266E-02 9.3177429281E-01 5.0000000000E-01
>> 5.9648053206E-01 3.0579520209E-01 0.0000000000E+00
>> 7.7080350417E-01 1.5389921748E-01 0.0000000000E+00
>> 6.5292044305E-01 4.7421244227E-01 0.0000000000E+00
>> 9.1748605305E-01 3.3968427468E-01 0.0000000000E+00
>> 7.5955975937E-01 4.0481881263E-01 5.0000000000E-01
>> 9.0978302750E-01 2.4364231214E-01 5.0000000000E-01
>> 5.9692552650E-01 1.0606359297E-01 5.0000000000E-01
>> 9.2837868374E-01 6.8225707188E-02 5.0000000000E-01
>>
>>
>>
>>
>>
>>
>>
>
>
>
> --
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> Dr. Matthieu Verstraete
>
> Universite de Liège
> Institut de Physique, Bat. B5
> Allée du 6 aout, 17
> B- 4000 Sart Tilman, Liège
> Belgium
>
> Phone : +32 4 366 37 50
> Fax : +32 4 366 36 29
>
> Mail : matthieu.jean.verstraete@gmail.com
>

Attachment: plotE.pdf
Description: Adobe PDF document




Archive powered by MHonArc 2.6.16.

Top of Page