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 1


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:

one of the localized orbitals of CH4

(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 me lmocent.coord and xtblmoinfo 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$
    – S R Maiti
    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 with Fii/eV in a column. $\endgroup$ Commented May 18, 2021 at 20:43

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .