giovannipizzi / seekpath

A module to obtain and visualize k-vector coefficients and obtain band paths in the Brillouin zone of crystal structures
Other
114 stars 45 forks source link

No standardization #9

Closed tkotani closed 7 years ago

tkotani commented 7 years ago

I think standardization should be one of an option. Because people use supercells and so on. Its depends on problems.

takao kotani

giovannipizzi commented 7 years ago

Indeed, I agree with you. However, the band structure can be defined easily only when standardised. The introduction of the transformation matrix (see also issue #10) might make it easier to go back to the original cell, once the path is provided by seekpath.

The reason for which it is difficult is e.g. the following: if e.g. you take a hexagonal 2D lattice, and you make a rectangular supercell with twice the volume, if the supercell is exactly the same, you might just want to follow the folded path. The same is true if e.g. you just want to compare the bands with a uniformly-rescaled cell. However, you might want instead to follow a path that is more typical of a rectangular cell. This is even more true if you are comparing instead the band structure with other structures, stretched only along one axis (and therefore, the spacegroup changes, and also the BZ and the suggested path). Or you could do even different deformations, that change differently the spacegroup, and so you would like to do an even different path. It's impossible to know automatically what the user will want to do.

A trick, if the case above is what you are interested, is the following: create the band path for a slightly distorted, lower symmetry cell (e.g. rectangular, slightly stretched along x). Take the scaled coordinates of the band path, and the suggested path. Then use this path for all deformations, including the system without deformation that would have higher symmetry, without running seekpath again on each system.

For different problems, different approaches (but similar in spirit) should be followed.

I hope this clarifies why an automated package like seek-path needs to rely on standardisation. I close this issue, unless you have some practical suggestion on how to overcome the problem.