forum@abinit.org
Subject: The ABINIT Users Mailing List ( CLOSED )
List archive
- From: matthieu verstraete <matthieu.jean.verstraete@gmail.com>
- To: forum@abinit.org
- Subject: Re: [abinit-forum] Etotal versus etotal
- Date: Fri, 4 Sep 2009 17:22:09 +0200
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; b=YAzT6ZvfBywyU9ACwV170maS2Sj/mljZDu+olFc2yx1rCoZY9veSPyjYk8Jw49PvSz vcYnRVy6YLyEFLkdV+9ZXPwijBq6Zx8C4vULFn90yUebU+4LrDqj0nJk+/WsT2BWfbHa i2GWPcYJHy2kXMMnoczlo3KA3noprvdpDE0n0=
Perfectly correct! Brilliant - delocalized debugging. I will fix this
asap : need to add tphysel to etotfor.F90 (this really should be
consolidated somehow).
Cheers
Matthieu
On Fri, Sep 4, 2009 at 2:31 PM, Vincent
Chevrier<vincent.chevrier@dahn.phys.dal.ca> wrote:
> Hi Marc,
>
> 1- Etotal vs EtotalDC:
> I think the problem is closed:
>
> Etotal-EtotalDC tphysel toldfe or tolvrs
> -8.8E-04 0 1d-5
> 5.8E-06 0 1d-9
> -1.5E-08 0 1d-15
> 4.4E-04 0.002131 1d-5
> -1.0E-08 0.002131 1d-9
> 2.2E-10 0.002131 1d-15
>
> the convergence increases as expected (although to different orders
> depending on tphysel).
>
> 2 - Etotal/EtotalDC vs etotal:
>
> Thanks for clarifying one more time! I don't remember this:
> Etotal is e_intern - tphysel*entropy (implemented in prtene.F90)
> etotal is e_intern - tsmear*entropy (implemented in etotfor.F90)
>
> being stated anywhere in the description of the variables on the Abinit
> website. As a non-developer user I would not have guessed it. It might be
> worthwhile to mention it or unify the behavior since etotal and EtotalDC
> are presented as equivalent in the tutorials.
>
> Thanks
> Vincent
>
>> Hi Vincent,
>>
>> Apparently, there are two separated problems when using tphysel:
>>
>> 1- Etotal vs EtotalDC:
>>
>> Now you use a sufficiently small tolerance on density residual.
>> Are now Etotal and Etotal DC equal when tphysel is used ?
>> (I cannot read it with your pdf file...)
>> I mean 10 digits or more... Are they closer than the results obtained
>> with toldfe=1.d-9.
>> If yes, the problem is closed.
>> If not this is a bug.... and the origin of it is mysterious...
>>
>>
>> 2- Etotal/EtotalDC vs etotal:
>>
>> When tphysel<>0:
>> As I wrote yesterday, I can easily explain the difference.
>> Etotal is e_intern - tphysel*entropy (implemented in prtene.F90)
>> etotal is e_intern - tsmear*entropy (implemented in etotfor.F90)
>>
>> The first question is: which is the correct one ?
>> Looking at your graph, it seems that Etotal is better (it converges wr
>> to tsmear).
>> Let Matthieu answer this question...
>>
>> The second question is: why is it implemented like this ?
>> Again, let Matthieu answer this question...
>> Perhaps it is sufficient to simply modify etotfor.F90 routine and put in
>> it the same formula as in prtene.F90.
>>
>>
>>
>> Marc
>>
>>
>>
>> Vincent Chevrier a écrit :
>>> 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
>>>>
>>>>
>>
>
>
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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
- [abinit-forum] Etotal versus etotal, Vincent Chevrier, 09/02/2009
- Re: [abinit-forum] Etotal versus etotal, Bernard Amadon, 09/03/2009
- Re: [abinit-forum] Etotal versus etotal, Vincent Chevrier, 09/03/2009
- Re: [abinit-forum] Etotal versus etotal, TORRENT Marc, 09/03/2009
- Re: [abinit-forum] Etotal versus etotal, matthieu verstraete, 09/03/2009
- Re: [abinit-forum] Etotal versus etotal, Vincent Chevrier, 09/03/2009
- Re: [abinit-forum] Etotal versus etotal, TORRENT Marc, 09/04/2009
- Re: [abinit-forum] Etotal versus etotal, Vincent Chevrier, 09/04/2009
- [abinit-forum] problem with optic, pablo picasso, 09/04/2009
- Re: [abinit-forum] Etotal versus etotal, matthieu verstraete, 09/04/2009
- Re: [abinit-forum] Etotal versus etotal, matthieu verstraete, 09/04/2009
- Re: [abinit-forum] Etotal versus etotal, TORRENT Marc, 09/04/2009
- Re: [abinit-forum] Etotal versus etotal, Vincent Chevrier, 09/04/2009
- RE : [abinit-forum] Etotal versus etotal, Marc.TORRENT, 09/06/2009
- Re: [abinit-forum] Etotal versus etotal, matthieu verstraete, 09/06/2009
- Re: [abinit-forum] Etotal versus etotal, TORRENT Marc, 09/04/2009
- Re: [abinit-forum] Etotal versus etotal, Vincent Chevrier, 09/03/2009
- Re: [abinit-forum] Etotal versus etotal, matthieu verstraete, 09/03/2009
- [abinit-forum] problem with optic, Jason Beaudin, 09/08/2009
- Re: [abinit-forum] Etotal versus etotal, TORRENT Marc, 09/03/2009
- Re: [abinit-forum] Etotal versus etotal, Vincent Chevrier, 09/03/2009
- Re: [abinit-forum] Etotal versus etotal, Bernard Amadon, 09/03/2009
Archive powered by MHonArc 2.6.16.