What problem does it solve?
Editing ABACUS structure (STRU) files by hand is error-prone and slow, especially when you need batch conversions, coordinate/constraint updates, or consistent magnetic moment setup.
Core Features & Use Cases
- Read/write ABACUS structures in Python using the AbacusSTRU and AbacusATOM classes for reliable STRU I/O.
- Convert between formats (STRU, POSCAR, CIF/ASE, and more) to integrate existing materials workflows into ABACUS.
- Modify structures programmatically for common tasks such as fixing atoms in slab relaxations, setting collinear/non-collinear magnetic moments, and building supercells for systematic studies.
- Batch operations and safety in structure logic including supercell replication that preserves per-atom properties, and coordinate/cell manipulations in consistent units.
Quick Start
Use the abacustest-stru-class skill to read a STRU file, update magnetic moments for selected atoms in code, and write out a new STRU file.