Open drjbarker opened 4 years ago
It's basically not possible to do this check with the space group symmetry. We need to use the site symmetry for each site to generate equivalent points. It seems spglib now has support for determining the site symmetries, but does not provide the symmetry operations yet.
From further learning about symmetry operations it is now clear that:
So we should be able to fix this.
The FFT dipole Hamiltonians do a symmetry check to ensure no equivalent points are missed in the tensor (for example if the spherical cutoff just misses a point on the edge of the sphere). This check is throwing an exception for a YIG unit cell even when all of the points are being found correctly.
The bug seems to be that I am not generating symmetric points correctly. At the moment we only use the rotational part of the symmetry, but it looks like we should be using the translation too. The choice of rotation only is because we only ever want to calculate symmetry for displacement vectors, but it seems the rotation only is insufficient even for this.
The plan is to refactor the symmetry code to consolidate it in a new header/source file and to test these components.