Page 1 of 1

[SOLVED] Variational principle in abinit

Posted: Sat Nov 12, 2011 6:30 pm
by sponce
Dear all,

I obtain what seems to be a breaking of the variational principle using Abinit 6.10.1

I was making a convergence study on the number of planewaves (increasing ecut) for a supercell of CaS (16 atoms) with one of the Ca atom replaced by an Eu one.

I got the following convergence:

ecut etot
10 -171.709291322976
15 -174.987947912499
20 -188.871468450272
25 -192.252478537605
30 -192.702344777715
35 -192.699296456479

So the total energy is actually lower for ecut 30 than for ecut 35.

All the calculation are converged (it took around 300 steps) with respect to my tolvrs 1.0d-20 criteria. (the algo used for SCF is iscf 7). I'm using TM nc psp. (I have 0 warning in the log file).

Any idea?

Re: Variational principle in abinit

Posted: Mon Nov 14, 2011 10:11 pm
by david.waroquiers
Hello Samuel,


Could you check how much is the value of mqgrid for your calculations (it might change from one ecut to another or be 3001 for all of them) and, also check with a very high value of mqgrid (let's say 10 times the highest value of mqgrid you have.

David

Re: Variational principle in abinit

Posted: Tue Nov 15, 2011 2:15 pm
by sponce
Thank you David for your answer.

The value of the mqgrid is between 3001 (the default min) to 4449 (set automatically by abinit) for my highest ecut 65 Ha.

As it is the value set automatically by Abinit, I don't really understand why I would obtain a different result increasing it to 40000?

Re: Variational principle in abinit

Posted: Tue Nov 15, 2011 7:28 pm
by david.waroquiers
Hello,

In old times (meaning a few months ago ;-), this variable was 3001 by default. I discovered similar problems (breaking of the variatonal principle) when going to high ecut values and implemented an automatic setting of this mqgrid variable (the minimum would ALWAYS be 3001 and if the ecut is high, it would be set to a higher value, I do not get into details here). So maybe this automatic setting is not robust enough.

When I was getting these problems (with high ecut values), I was getting back a good variational principle by using a very high mqgrid value, so just try with 40000 and tell me if it's changing things or not. If yes, I might change the setmqgrid routine.

David

Re: Variational principle in abinit

Posted: Thu Nov 17, 2011 10:28 am
by sponce
I suppose you can happily dig back inside the setmqgrid routine because:

with default mqgrid
ECUT ETOT
10 -171.709291322976
15 -174.987947912499
20 -188.871468450272
25 -192.252478537605
30 -192.702344777715
35 -192.699296456479
40 -192.70089663413
45 -192.73004367069
50 -192.73246135
55 -192.733544383505

with mqgrid = 40.000
ECUT ETOT
10 -171.70929132294
15 -174.98794791251
20 -188.87146844996
25 -192.26853488098
30 -192.67692884945
35 -192.72477497287
..

So it did solve the problem ;)

Thank you.

PS: I'm interested by the technical explanation of it