Monday, September 19, 2011

structural optimization: vc-relax issues with van der Waals functionals

As van der Waals functionals are getting more popular, questions on pw_forum related to vc-relax are becoming more and more frequent. Why?

Well, many can finally start relaxing the cell of molecular crystals or layered structures. With the graphene hype still around, probably the latter is more common. You can say "But why? vc-relax with vdW-DF is no different than it was with PBE."

Elementary, my dear Watson (I've never read Sherlock saying that in the books btw, where did it come from? ) vdW-DF overestimates the volume by a good amount (some 10%) where PBE gives way closer agreement with experiment, which tricks users into thinking that there is something wrong with their vc-relax calculation.

"Hold on a second!" you should say, "I thought I would get more accurate results with this functional, what is going on?"
Well, PBE is cheating, that is what is going on. Although the volume seems better, the intramolecular bond lengths are too short and since there is no attractive vdW interaction, interlayer/molecular interactions are very weak, leaving some excess space between layers/molecules. Therefore, even though the volume agreement is better, the structure detail is worse with PBE. Which can also be revealed through energetics (We are about to submit a paper on that so I am not supposed to share the details with you, but let me tell you that it involves several phases of a molecular crystal, which have very small energy differences in between, and PBE fails to order them correctly even though it displays almost identical final volume with experiment.)

So folks, keep on using some vdW-aware functional and stop bothering the forum with "this volume is huge, what is wrong?" questions. Instead try some other ones and see the difference for yourself: 
vdW-DF2, vdW-DF-C09, vdW-DF2-C09.

Actually, read the following paper (it is my delusion that people actually read the references when given)
Cooper argues the reasons behind this overestimate issue and comes up with the C09 branch for the gradient correction on exchange.

All this stuff is implemented in Quantum Espresso. Check Modules/funct.f90 for updates and other references. 

No comments:

Post a Comment