[Pw_forum] question on potential energy in constant pressure simulations

Sandro Scandolo scandolo at ictp.it
Fri Apr 21 09:52:56 CEST 2006


Dear Kostya,

an additional note on the stress tensor, perhaps trivial for you, but 
hopefully useful for other less experienced users:

the stress tensor calculated in the Q-E codes is based on the expression 
derived by Nielsen and Martin (PRL 50, 697, 1983). Nielsen and Martin's 
derivation is based on the Hellmann-Feynman theorem, and therefore 
assumes that the basis set is complete. It can be shown that the 
derivation is valid also when the basis set is not complete, as long as 
the derivative is taken in such a way that the basis set does not 
change, to first order, upon infinitesimal changes of the strain tensor.

As a consequence, you should expect the calculated stress tensor to 
coincide with the derivative of the energy with respect to the strain, 
as calculated by small finite strains, *only* if you are able to keep 
the same number of plane waves in the calculations with and without 
strain. For isotropic strains (i.e. volume changes, where V->V+dV) this 
is easily done by changing the energy cut-off by [(V+dV)/V]^2/3 . For 
anisotropic strains (i.e. for the off-diagonal elements of the stress 
tensor) it may be more tricky. This is the correct procedure for testing 
if the stress tensor is calculated correctly by the code. However, as 
you probably know, when the basis set is not complete, a better (in 
physical terms) estimate of the stress tensor is obtained by 
differentiating the total energy (or potential energy in your notation) 
calculated by keeping the wfc cut-off (ecutwfc) fixed in the finite 
difference calculation. Unfortunately this leads to discontinous 
pressure-volume  (or stress-strain) curves, as the basis set size 
changes discontinuosly upon strain changes, if the cut-off is fixed (NB: 
to be more precise, it leads to a continuous curve only if the k-point 
sampling is infinitely dense, which is never the case in practice, and 
certainly not with Gamma-point only).

The "qcutz" trick has been introduced as a partial relief of the above 
problem. By introducing a (smooth) penalty function for plane waves 
whose kinetic energy exceeds a given *fixed* cut off (ecfixed), you can 
forget about the need to keep the cut-off fixed in the construction of 
the basis set (ecutwfc), as  long as ecutwfc is above the tail of the 
smooth penalty function. All this is described in M. Bernasconi et al, 
J. Phys. Chem. Solids 56, 501 (1995). As a strightforward consequence, 
the stress tensor calculated with this trick should be much less 
sensitive to whether it is calculated at constant cut-off or at constant 
number of plane waves. Hence, Nielsen and Martin's expression, with this 
modified functional, gives you a stress tensor in much better agreement 
with the physically sounder expression obtained by keeping the cut-off 
fixed.  However, you should not expect it to coincide exactly with the 
derivative of the potential energy when the derivative is calculated by 
keeping the cut-off fixed. You should however expect it to coincide 
exactly with the derivative taken at constant number of plane waves 
(like for the stress tensor without "qcutz").

Regards,
Sandro


Konstantin Kudin wrote:

> Hi Nicola,
>
> Thanks for the info! I was under the impression that ALL bugs were
>fixed by now, but apparently - not. I do in fact use ultra-soft PSPs,
>so that would explain my results.
>
> An important consideration for me is that I did not intend just to
>test the stress, but rather to use it for some production jobs. So
>unfortunately it looks like this has to wait.
>
> Kostya
>
>
>--- Nicola Marzari <marzari at MIT.EDU> wrote:
>
>  
>
>>Dear Kostya,
>>
>>great that your are testing the constant-pressure cp.
>>
>>There is still an unresolved issue (bug...) for ultrasoft psp, in
>>the diagonal terms only - that could explain your results. On the
>>bright
>>side, a lot of other arcane issues (bugs) that had crept in the CVS
>>have been recently found  and fixed  by Carlo C. and Paolo G.
>>
>>The safest first step would be to look at the numerical derivative of
>>the ground-state energy with respect to your variable lattice
>>vector - should be equal with the calculated stress
>>(again, if you are using psp, it will not...).
>>
>>
>>
>>			nicola
>>
>>
>>Konstantin Kudin wrote:
>>    
>>
>>> Hi all,
>>>
>>> I am doing the CP dynamics with one of the lattice vectors being
>>>optimized as well.
>>>
>>> I am using a very recent CVS (yesterday's), which should have the
>>>correct stress (knocking on wood).
>>>
>>> The parameters for the modified kinetic energy functional are:
>>>ecutwfc = 30.0, ecfixed = 25.0, qcutz = 25.0, q2sigma = 3.0
>>> This is for what used to be just ecutwfc=25.0 in constant volume
>>>simulations.
>>>
>>> So what I am seeing is that while the stress becomes smaller, the
>>>potential energy of the system goes up at the same time with the
>>>decreasing stress.
>>>
>>> Should not the decrease in stress correspond to the *decreasing*
>>>potential energy? Or is there some funny business with this
>>>      
>>>
>>modified
>>    
>>
>>>kinetic energy functional such that I should disregard the
>>>      
>>>
>>potential
>>    
>>
>>>energy values and trust the stress instead ?
>>>
>>> Thanks!
>>> Kostya
>>>
>>>
>>>__________________________________________________
>>>Do You Yahoo!?
>>>Tired of spam?  Yahoo! Mail has the best spam protection around 
>>>http://mail.yahoo.com 
>>>_______________________________________________
>>>Pw_forum mailing list
>>>Pw_forum at pwscf.org
>>>http://www.democritos.it/mailman/listinfo/pw_forum
>>>      
>>>
>>-- 
>>---------------------------------------------------------------------
>>Prof Nicola Marzari   Department of Materials Science and Engineering
>>13-5066   MIT   77 Massachusetts Avenue   Cambridge MA 02139-4307 USA
>>tel 617.4522758 fax 2586534 marzari at mit.edu http://quasiamore.mit.edu
>>_______________________________________________
>>Pw_forum mailing list
>>Pw_forum at pwscf.org
>>http://www.democritos.it/mailman/listinfo/pw_forum
>>
>>    
>>
>
>
>__________________________________________________
>Do You Yahoo!?
>Tired of spam?  Yahoo! Mail has the best spam protection around 
>http://mail.yahoo.com 
>_______________________________________________
>Pw_forum mailing list
>Pw_forum at pwscf.org
>http://www.democritos.it/mailman/listinfo/pw_forum
>  
>



More information about the Pw_forum mailing list