diffsims
                                
                                 diffsims copied to clipboard
                                
                                    diffsims copied to clipboard
                            
                            
                            
                        Make better use of crystallographic libraries
We depend on diffpy.structure for atomic structure manipulations but perhaps currently under-utilise some of the functionality of that package.
One example is that the is_lattice_hexagonal() function in sim_utils is probably superseded by the isSpaceGroupLatPar() function in SymmetryUtilities in diffpy.
Another case is when we need dot products, angles etc - we should be using Lattice.angle, Lattice.norm etc from diffpy.structure.
This mostly requires us getting a bit more familiar with diffpy.structure and should have the advantage of making things more robust and more general moving forwards.
This may involve implementing a space group analyzer e.g. https://github.com/materialsproject/pymatgen/blob/master/pymatgen/symmetry/analyzer.py for diffpy structures.
That functionality depends mostly on spglib https://atztogo.github.io/spglib/python-spglib.html#python-spglib
Note we should also consider use and dependence on other crystallographic libraries
This is a useful reference for this: http://journals.iucr.org/j/issues/2019/04/00/gj5229/index.html