c2x changes

What changes does c2x, version two of check2xsf, bring, apart from a shorter name?

Support for SPGLIB

As a result of merging check2xsf and cellsym, the functionality of spglib is available via the options --primitive, --refine, --int, --schoen, --symmetry, --list and --point. This is the same symmetry-finding library which is used in Castep 8.0 and beyond.

Python output formats

Two python-compatible output formats have been added.

Weighting of bands

Bands can be weighted automatically. In particular, for converged calculations with norm-conserving pseudopotentials, the charge density can be fully reconstructed as the weighted sum of bands by specifying the options -BAW -k=-.

Full support for Castep 16.11 & 17.2

Check files from Castep 16.11 & 17.2 are fully supported, including wavefunctions with spinors.

More Code Support (from c2x 2.05)

Onetep's input files can be read and written.

VASP's CHG/CHGCAR/POSCAR formats can be read and written (support only for VASP >5 which includes atomic symbols in these files).

Castep's den_fmt files can be read and written.

Abinit's DEN, POT and .in files can be read, and .in files written, from c2x version 2.14.

Reading of Siesta's .fdf files was much improved in version 2.14a.

Intial support for Quantum Espresso was added in 2.15.

Input improvements

XSF files can now be read.

The spin keyword in cell files is read, and respected when considering symmetry.

The species_pot, species_q, species_mass and species_lcao_states blocks are preserved when transforming cell files.

Arithmetic expressions in cell files supported from 2.10.

Initial support for the use of subspecies (e.g. H:D as a species identifier for deuterium) in both check and cell files from 2.10.

Output improvements

The XSF output is now compatible with VESTA.

Volumetric data at a single point can be requested.

The cut-off energy used for a calculation can be reported, as can the corresponding 2|g_max| FFT grid size.

The -15 flag for higher precision in output files is supported in more formats.

Symmetry operation output of the form -x,y,z+1 should now never say things like "z+1"

The first failure star of k-point sets can be calculated.


One big, invisible, change is the removal of almost all global variables from the code, so the new code should be more maintainable. There are also quite a lot of minor bug fixes, mostly correcting crashes.