forum@abinit.org
Subject: The ABINIT Users Mailing List ( CLOSED )
List archive
- From: TORRENT Marc <marc.torrent@cea.fr>
- To: forum@abinit.org
- Subject: Re: [abinit-forum] Etotal versus etotal
- Date: Fri, 04 Sep 2009 10:27:54 +0200
- Organization: CEA-DAM
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=0this is wierd: the Etotal-s are already free energies, with the
>>>>>>>>> Etotal= -2.24785888288957E+02
>>>> Etotal (DC)= -2.24785888278458E+02
etotal -2.2478510947E+02
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.002131Here etotal looks identical to Etotal(DC), as it should be, but the
>>>>>>>>> Etotal= -2.24784859172166E+02
>>>> Etotal (DC)= -2.24784864956616E+02
etotal -2.2478486496E+02
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
- [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.