dipc-cc / hubbard

Python tools for mean-field Hubbard models
https://dipc-cc.github.io/hubbard/
GNU Lesser General Public License v3.0
21 stars 8 forks source link

Intercell Zak phase calculations #109

Closed tfrederiksen closed 2 years ago

tfrederiksen commented 2 years ago

Following the discussion on discord with @pfebrer and @zerothi, this branch enables the possibility of a coordinate shift to bring the origin of the cell to the (possible) mirror/inversion symmetric point of the geometry. In this way the computed Zak phase corresponds to the (origin-independent) intercell part.

Note that I also propose intercell=True to be the default.

zerothi commented 2 years ago

Actually I thought this was a problem in sisl? I thought about having a method zak:fix which uses the fixed coordinates, and by default it shifts the structure when calculating the phases? What do you think?

tfrederiksen commented 2 years ago

You are right, it is better to enable this directly in sisl!

zerothi commented 2 years ago

Ok, I'll add a PR

tfrederiksen commented 2 years ago

We can skip this PR, with https://github.com/zerothi/sisl/pull/411 the intercell Zak phase is now the default in sisl.

pfebrer commented 2 years ago

Maybe it would be nice to be able to choose between "zak" and "zak:origin" directly from the hubbard method somehow?

tfrederiksen commented 2 years ago

Good point @pfebrer. I've now enabled this option.

sofiasanz commented 2 years ago

Thank you for the PR :-) Looks good to me!