grimme-lab / xtb

Semiempirical Extended Tight-Binding Program Package
https://xtb-docs.readthedocs.io/
GNU Lesser General Public License v3.0
574 stars 144 forks source link

Deprecate use of PBC treatment with `xtb` unless `--tblite` implementation is used #895

Open Andrew-S-Rosen opened 11 months ago

Andrew-S-Rosen commented 11 months ago

Describe the bug When running xtb POSCAR --opt --gfn 1 on the POSCAR below, the resulting converged structure has bond lengths that are roughly 2x as long as physically reasonable.

When doing the geometry optimization with the tblite standalone package via ASE as the optimization wrapper, everything works fine. When running xtb POSCAR --opt --gfn 1 --tblite, everything works out as expected as well I believe.

This is with the most recent conda builds of both xtb and tblite on Ubuntu in an otherwise clean Conda environment. I haven't yet tried older versions of xtb, in case it's related to #884, but that's probably the thing worth trying next on my end.

To Reproduce See above. xtb POSCAR --opt --gfn 1

POSCAR.txt

Refer to the CONTCAR below, which was made from xtbopt.vasp. Note how the bonds are all extremely elongated.

CONTCAR.txt

Expected behaviour The bonds should not be elongated to unphysical lengths (the unit cell here ends up being almost exactly 2x larger than expected).

Additional context Seems like something is suspect regarding the PBCs in standalone xtb, at least with GFN1-xTB.

Tagging @prathami11 who initiated this report with me.

awvwgk commented 11 months ago

This is a known issue for the GFN1-xTB implementation. The xTB PBC support in xtb should be deprecated now since there is a proper implementation via tblite available.

Andrew-S-Rosen commented 11 months ago

Ah, okay thanks for the update. I feel like I did know at one point, but it must have slipped my mind.

alexamist commented 10 months ago

After updating to xtb latest version (6.6.1), I observed the same problem with the system cell (almost 2 times larger), even using the --tblite option: xtb --tblite --chrg 0 --uhf 0 --gfn 1 --parallel 24 --opt tight test.POSCAR

The xTB PBC support in xtb will not be maintained anymore? Because I wanted to use the spin-polarization implemented in the latest version of xtb for a periodic system, a feature that (I suppose) is not available in tblite.

Andrew-S-Rosen commented 10 months ago

@alexamist Whike this doesn't help with the xtb executable, it turns out the spin polarized features are in tblite --- just not the ASE calculator. See https://github.com/tblite/tblite/issues/126.

Andrew-S-Rosen commented 10 months ago

@awvwgk: Can you confirm if PBCs in xtb (the package) should not be used at all, or if it's okay to use if --tblite (the flag) is set?

I know that tblite (the package) is okay in terms of PBCs.

awvwgk commented 10 months ago

I can confirm that GFN1-xTB in xtb is still broken with PBCs and should be removed. I tested and verified GFN1-xTB from tblite mostly in dftb+. The parts provided by tblite in xtb should be fine, i.e. energy, forces and stress, not sure about the optimizer in xtb.

Andrew-S-Rosen commented 10 months ago

Thanks. That's my conclusion as well. Only thing I'm uncertain about is the --tblite flag with --opt in xTB. Will try to do a test.