Spglib is a C library for finding and handling crystal symmetries.
Spglib-1.7.4. is the stable release.
Spglib-1.8.1 is the latest release. This version is expected to be slightly faster and compact than the stable version, and the code is cleaner to be the base of future development. Update and change of definitions of variables can happen within versions 1.8.x and the change will be written in the document.
Version history is summarized in ChangeLog.
Unzip, configure, and make:
% tar xvfz spglib-1.7.4.tar.gz % cd spglib-1.7.4 % ./configure % make
Copy the libraries where you want using OpenMP. The libraries may be in src/.libs if you don’t make install,
Bottle neck of symmetry operation search may be eased using the OpenMP threading. In the case of gcc (> 4.2), set the following environment variables before running configure script:
% export LIBS='-lgomp' % export CFLAGS='-fopenmp'
Overhead of threading is relatively large when the number of atoms is small. Therefore the threading is activated when the number of atoms >= 1000.
A few examples are found in example <https://github.com/atztogo/spglib/tree/master/example>_ directory.
The ruby code symPoscar.rb in test directory reads a VASP POSCAR formatted file and finds the space-group type. The -l option refines a slightly distorted structure within tolerance spacified with the -s option. The -o option gives the symmetry operations of the input structure.
ruby symPoscar.rb POSCAR -s 0.1 -o -l
Some more options are shown with --help option:
ruby symPoscar.rb --help
The way to compile the ruby module is explained in test/README.
For questions, bug reports, and comments, please visit following mailing list:
Spglib project acknowledges Yusuke Seto for the Crystallographic database and Dimitar Pashov for the fortran interface.