Missing bravais lattice symmetries and tolerance factor problem
This is a two sided problem of the high-symmetry points method for the band structure and the Brillouin zone. As an example of what I mean, please check out the following picture:
<img src="/uploads/6ac24091f89415873066906ee6988bb5/Screenshot_from_2022-12-02_09-31-23.png" width="300">
This is done for Si2. As you can see, the high-symmetry points cannot be recognize.
After digging up a bit, I saw a couple of problems in the `band_structure.py` normalizer. Please, feel free to correct me if I am wrong or I overlooked something:
1. Some symmetries are not addressed in `BandStructureNormalizer:get_special_points` method: there should be 14 Bravais lattices (see e.g. [Wikipedia](https://en.wikipedia.org/wiki/Bravais_lattice) or the paper by [Setyawana and Curtarolo](https://arxiv.org/pdf/1004.2974.pdf)) and there are only 6 defined for the high-symmetry points. As said in the method: "This is copied from the VASP parser", so it essentially fails for all the other electronic codes I checked.
2. I think the tolerance factor should be relaxed to 0.01 or 0.001 Å (right now it is 0.0001 Å, which might be a bit restrictive when capturing the correct symmetry).
The point 2. is easy to implement.
The point 1. is much more involved. @mscheidg @lucamghi @ndaelman : wouldn't be better to simply comment out these assertions and come up with a more generalized check later on? As I see it, having the high-symmetry points well captured is more important right now that sanity checks on the fine details of the structure.
Let me know what you think, please.
___________________________
In the example above for Si2, the bravais_lattice is 'cF' which is addressed by the normalizer, but the assertions are failing because the three cubic directions difer by 4 ⋅ 10<sup>-4</sup> (which is more than 0.0001, of course).
issue