c2x and Symmetry

Since version 2 of check2xsf it has been possible to link it with the excellent spglib symmetry finding code, and thus gain access to the functionality of this library. This is the same symmetry finder which is used by Castep.

Spglib is a useful package for finding crystallographic symmetry, including the primitive cell, individual symmetry operations, and the international space group symbol.

C2x provides access to the following operations from spglib:

  primitive     call spg_find_primitive()
  refine        call spg_refine_cell()
  int           call spg_get_dataset() and report international symbol
  schoen        call spg_get_schoenflies()
  symmetry      call spg_get_dataset() and keep symmetry ops
  list          call spg_get_dataset() and list symmetry ops
  point         call spg_get_dataset() followed by spg_get_pointgroup()

These are requested by preceding them with two hyphens on the c2x command line. Multiple operations may be specified. The order in which they will be applied is the order in which they are listed above, not the order on the command line.

$ c2x --int --list  SiC_4H.cell
International symmetry is P6_3mc
12 symmetry operations found.
 6  axis along ( 0.000, 0.000, 1.000) through (0.333333,0.333333,0.000000)
 3  axis along ( 0.000, 0.000, 1.000) through (0.333333,0.333333,0.000000)
 2  axis along ( 0.000, 0.000, 1.000) through (0.333333,0.333333,0.000000)
 3  axis along ( 0.000, 0.000, 1.000) through (0.666667,0.666667,0.000000)
 6  axis along ( 0.000, 0.000, 1.000) through (0.333333,0.333333,0.000000)
-2  axis along ( 2.000,-1.000, 0.000) through (0.333333,0.333333,0.250000)
-2  axis along ( 1.000, 0.000, 0.000) through (0,0,0)
-2  axis along ( 1.000, 1.000, 0.000) through (0.333333,0.333333,0.250000)
-2  axis along ( 0.000,-1.000, 0.000) through (0.000000,0.500000,0.000000)
-2  axis along ( 1.000,-2.000, 0.000) through (0.333333,0.333333,0.250000)
-2  axis along ( 1.000,-1.000, 0.000) through (0.000000,0.500000,0.000000)

The above output does not explicitly state that -2 axes are mirror or glide planes.

Note that a single six-fold axis will appear five times, representing the five different rotations, two of which will be listed as three-fold, and one as two-fold.

It is also possible to give a range of precisions to use when searching for symmetry operations.

$ c2x --int --list -e=1e-6-1e-4 SiC_4H.cell
Tol=1e-06 International symmetry is Cmc2_1
Tol=1e-06 4 symmetry operations found.
Tol=8e-06 International symmetry is P6_3mc
Tol=8e-06 12 symmetry operations found.

This output shows that at a tolerance of 8e-6 the six-fold axis is detected, whereas the other elements continue to exist at tighter tolerances. Tolerances are tested at factor of two intervals between the lowest and highest given as a range.