[QE-developers] Berry Phase on BaTiO3 - unexpected renormalization of the Phase value

Spreafico, Samuele samuele.spr.spreafico at fau.de
Fri May 13 16:17:07 CEST 2022


To whom it may concern:

While running Berry Phase analysis on BaTiO3 via pw.x (version 7.0) I found a mismatch in the output value.
I figure out that the value  of weighted average of the Electronic Phase printed in the output file get shift by a factor of +1.

In the following temporary link, you can find the files of two calculations on this system: one with reasonable results and another with unexpected results.
https://www.transfernow.net/dl/20220513pe4LRGy

Our Idea:

This process seems to happen, whenever the averaged Electronic Phase lies outside the range of [-0.5, +0.5], leading to an unexpected Total phase and resulted Polarization value.
Although polarization is a multiple value given by:  Ps +/- n*mod,  the above mentioned  shift cannot correctly compensated by the mod, such to get a reasonable value for this system.

Looking at the source code: bp_c_phase.f90 around the lines=764-806,
The variables pdl_elec_up, pdl_elec_dw and pdl_elec_tot  seems to be renormalized as follow:

805:   !  you need to do mod again!
806:  pdl_elec_tot=pdl_elec_tot-nint(pdl_elec_tot)

Where nint = +/- 1  and not the mod value.

although in the previous lines, the value seems already to be fixed in the range of -Pi to +Pi

771:     !REC Third you need to fix jumps before you take average
762:     if(abs(t+1d0-t1).lt.abs(t-t1))phik(istring)=phik(istring)+tpi.

Our Question:
1) why there's this renormalization at line 806?
2) why there's a change of +/- 1 instead of +/-2?

Thank you for your consideration
Regards

Samuele Spreafico
Department of Chemistry and Pharmacy
Professor for Computational Chemistry (ICMM)
CCC, Nägelsbachstraße 25
91052 Erlangen
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quantum-espresso.org/pipermail/developers/attachments/20220513/77ea1b46/attachment.html>


More information about the developers mailing list