Calculator wrapper for g-xTB

For those who haven’t seen yet the Grimme lab released a very performant tight-binding approach called g-xTB. I played around with it and decided to write an ASE wrapper for the distributed development binary and parameter files (they haven’t shared the source code yet). Seems to be working well, would appreciate any testers.

Thanks for this! for me it works,

(i had to do some minor editing of some paths and the pyproject.toml to get it to install and find the xtb binary and parameter files in the correct place, but suspect this might have been specific to my use-case of pip installing it into a conda-env)

1 Like

Thanks for trying it and noting some setup challenges with conda … the packaging with the binary is tricky but I was trying to avoid users going and grabbing the g-xTB binary and parameter files manual, then having to tweak, but seems you had to anyways :frowning: .

Thanks for sharing! “Very performant” sounds nice.

Does this version of xTB do periodic boundary conditions, or will we still need DFTB+ for that?

We are working towards a “plugin” system for ASE which will make it a bit nicer for external Calculators like this to integrate with the rest of ASE.

I notice this is a FileIOCalculator: it is recommended that new file-based Calculators use the “GenericFileIOCalculator” machinery. This gives better separation of concerns between “how to run on this machine” and “how to read/write files” and is used by e.g. the Espresso calculator ase/calculators/espresso.py · master · ase / ase · GitLab

No it does not support PBC as far as I can tell and have tested; seems to only read the basic turbomole and XYZ file formats.

Thanks for pointing to the new file IO calc class, I’ll look into refactoring. One detail about the wrapper is it probably has a short shelf life as authors of g-xTB mention they will eventually be distributing through the tblite framework.