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.
1 Answer
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 molden.input
.
Multiwfn is able to open this file. After opening, select option 19
for 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.
-
2$\begingroup$ You can get LMO analysis inside XTB using --lmo on the command-line, although I don't remember what details show up in the output files. IIRC there's a distinct LMO output file. $\endgroup$ Commented May 18, 2021 at 14:22
-
$\begingroup$ @GeoffHutchison Thanks! I was not aware of that. I tried the
--lmo
option, and it gave melmocent.coord
andxtblmoinfo
files. Do you know if there are softwares that can open and visualize these files? I have tried Avogadro but no luck. Molden also doesn't seem to be able to recognize the files. $\endgroup$ Commented May 18, 2021 at 18:52 -
1$\begingroup$ The files are just text. I don't know the exact format, but
lmocent.coord
appears to include the coordinates (in Bohr) of the regular atoms and then He atoms at the positions of electron pairs. (Probably would be better as Du or Xx, but I digress.) $\endgroup$ Commented May 18, 2021 at 20:37 -
$\begingroup$ The
xtblmoinfo
seems similar. If I had to guess, it starts with XYZ (in Bohr) with an extra column of atomic partial charges. Then there's a section with the lone pairs classified in some scheme.. probably sigma bonds, pi bonds, lone pairs (I've seen numbers 1-4 in the files.) $\endgroup$ Commented May 18, 2021 at 20:39 -
$\begingroup$ Neither file actually gives the LMO wave functions. However, the output from
xtb .. --lmo
gives a table withFii/eV
in a column. $\endgroup$ Commented May 18, 2021 at 20:43
molden
files, the next version gave them. So I'd suggest asking on GitHub: github.com/grimme-lab/xtb/issues $\endgroup$