Page 1 of 1

Recalculating electronic polarization from ground state orbitals and orbitals differentiated with respect to k

Posted: Mon Jun 01, 2020 5:38 pm
by kryczko
Dear developers,

I would like to recompute the polarization as given in equation 1.26 of https://www.abinit.org/sites/default/fi ... eithen.pdf. I have calculated the ground state orbitals and have written to disk the orbitals that have been differentiated with respect to k for AlAs (https://docs.abinit.org/tutorial/ffield/index.html).

I am then using abipy (abipy.waves.wfkfile) to read in the orbitals and compute equation 1.26 but do not get the same values as computed in abinit (I also get a complex part). Is there something I am missing here in my computation?

Thanks,
Kevin

Re: Recalculating electronic polarization from ground state orbitals and orbitals differentiated with respect to k

Posted: Thu Jun 04, 2020 3:38 pm
by ebousquet
Dear Kevin,
I'm not sure if I understand, but you want to compute the polarization through the Berry phase, I guess you did it with berryopt=-1 with Abinit, right?
Now, you have to be careful with quantum of polarization problem, see for example:
http://palata.fzu.cz/abinitschool/downl ... zation.pdf
I did not know Abipy is computing the Berry phase polarization, are sure about it, can you give the doc/info telling you that?
Best wishes,
Eric

Re: Recalculating electronic polarization from ground state orbitals and orbitals differentiated with respect to k

Posted: Thu Jun 04, 2020 4:59 pm
by kryczko
Hi Eric,

Thank you for the response. With the formula that I showed, you can compute the polarization once you have the derivatives of the Kohn-Sham orbitals with respect to k. This could be done with berryopt -1 (or -3 if you want the derivatives of the orbitals written) or with DFPT.

For abipy, it itself does not compute the polarization. But it does have the ability to read the WFK files and therefore I am reading in all of the orbitals along with the derivatives of the orbitals and I am trying to compute the polarization manually.

I hope this info makes it more clear.

Thanks,
Kevin