The question is similar to How to calculate/plot molecular orbitals with XTB? Hence we can produce molden files from xTB calculations, which include the molecular orbitals. How do I proceed to get localised orbitals and how would I then plot these? I am considering this as more of a visual aid that could guide further investigations or a certain narrative, than actual fact producing science. Since xTB itself is open source it would be great if there was a similar way.
You can do it with Multiwfn (http://sobereva.com/multiwfn/)
First, xTB has to be run with the
--molden directive, to output the converged molecular orbitals as a molden file. Normally xTB will produce this file with the name
Multiwfn is able to open this file. After opening, select option
Orbital Localization Analysis. You can change various settings related to the localization procedure here, including criterion of convergence, threshold for determining 1 and 2-centre LMOs, maximum number of localization cycles etc. The option
-6 selects the scheme for localization—default is
Pipek-Mezey with Mulliken population. There are also
Pipek-Mezey with Lowdin population and
Foster-Boys localization schemes available.
After changing settings (or leaving them with the default options), select option
1 to localize the occupied orbitals. (Option
2 localizes occupied and unoccupied orbitals separately). Multiwfn will now generate a file containing the localized orbitals, named
new.fch. (Which can be opened and visualized with multiwfn or other programs)
To test this, I localized the orbitals of methane after running a calculation with GFN2-xTB. It seems to have worked:
(This is one of the localized orbitals)
Note that this would only calculate the wavefunctions of the LMO's but not their energies. (If you see energies in visualisation software, they are probably wrong.) To get LMO energies, the Fock matrix also needs to be supplied to Multiwfn, and I am not sure if there is any way to do that with xTB.