Code Compatibility#

ShakeNBreak is built to natively function using pymatgen Defect objects (docs available here) and be compatible with the most recent version of pymatgen. If you are receiving pymatgen-related errors when using ShakeNBreak, you may need to update pymatgen and/or ShakeNBreak, which can be done with:

pip install --upgrade pymatgen shakenbreak

ShakeNBreak can take pymatgen DefectEntry objects as input (to then generate the trial distorted structures), but also can take in pymatgen Structure objects, doped defect dictionaries or structure files (e.g. POSCARs for VASP) as inputs. As such, it should be compatible with any defect code (such as doped, pydefect, PyCDT, PyLada, DASP, Spinney, DefAP, PyDEF…) that generates these files.

Please let us know if you have any issues with compatibility, or if you would like to see any additional features added to ShakeNBreak to make it more compatible with your code.