Base code and routines for building/manipulating periodic crystal structures. Hopefully useful for more complex projects with specific applications.
Cell{T,D}supports auxiliary dimensions for hyperdimensional workflows.- The current hyper-cell model uses:
- a
3 x 3periodic lattice - the first 3 position rows as periodic Cartesian coordinates
- rows
4:endas auxiliary non-periodic coordinates
- a
get_scaled_positions(cell)andset_scaled_positions!(cell, scaled)operate on the periodic3 x Nsubspace.- XYZ I/O uses
ExtXYZ.jland round-trips auxiliary coordinates throughextra_dim_*properties. - 3D file formats such as POSCAR, RES, STRU, and
.cellwrite only the first 3 Cartesian coordinates and warn when auxiliary dimensions are dropped.
- Ease to use - don't make things unnecessary complex.
- High performance - when it is needed.
- Extensibility and flexibility.
Elemental datasets are taken from the SMACT package.