Author Topic: Analysis of MOs in terms of particular AOs (basis funcstions)  (Read 6858 times)

evgeniy

  • Sr. Member
  • ****
  • Posts: 110
  • Karma: +0/-0
Analysis of MOs in terms of particular AOs (basis funcstions)
« on: September 05, 2018, 05:12:08 PM »
Hello,

I am intrested in analysis of a HF MO in terms of atomic orbitals (basis funstions)  contributions.
More precisely, I am interested in the weight of certain (diffuse) basis functions in different virtual orbitals.
How could one do this best? I tried to separate those basis funstions, setting them on
a ghost atom and running just dscf with Mulliken population analysis ($pop mo ...). However, in this case
the ghost atom coincides with a real atom and Turbomole does not seem to be able to handle such
a situiation - I could not make it run. I wonder if there is some other way, except for doing it manually.

Best regards,
Evgeniy

uwe

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 558
  • Karma: +0/-0
Re: Analysis of MOs in terms of particular AOs (basis funcstions)
« Reply #1 on: September 06, 2018, 03:39:19 PM »
Hi,

in principle you could use the tool tm2molden with the mostat option:

tm2molden mostat

or

tm2molden mostat 149-153,155

to print the data just from the list of selected molecular orbitals (use the eiger script to see which numbers are virtual).

But this will print the contributions only if they are larger than 1%. To change the threshold, add another option to tm2molden:

tm2molden mostat 150-160 above 0.00001

or

tm2molden mostat 150-160 above 1e-5

(smaller than 1e-5 will not help anymore as the print format  is "0.001 %")

If you run into problems or if the output does not help as expected, just contact the Turbomole support to get a modified version (email address as usual).

Regards,
Uwe


evgeniy

  • Sr. Member
  • ****
  • Posts: 110
  • Karma: +0/-0
Re: Analysis of MOs in terms of particular AOs (basis funcstions)
« Reply #2 on: September 06, 2018, 07:46:41 PM »
Dear Uwe,

Thanks for your reply. I will try that way.

By the way, I have a related question.  Don't you happen to know
why there are sometimes negative contributions from the basis functions
in the Mulleken population analysis. For example like this:

    22a'       energy/a.u.:     -0.4962665
   1ir     0.20219   0.20063   0.00000   0.00068   0.00087   0.00001
   2c      0.13295  -0.00256   0.12903   0.00624   0.00024
   3c      0.13295  -0.00256   0.12903   0.00624   0.00024
   4c      0.13295  -0.00256   0.12903   0.00624   0.00024
   5c      0.13295  -0.00256   0.12903   0.00624   0.00024
   6c      0.13295  -0.00256   0.12903   0.00624   0.00024
   7c      0.13295  -0.00256   0.12903   0.00624   0.00024
   8c      0.18431   0.00269   0.17219   0.00926   0.00017
   9c      0.18431   0.00269   0.17219   0.00926   0.00017

Normally, there shouldn't be negative contributions. So,  I guess, it is sort of an artefact due to the Mulliken anlysis.

Best regards,
Evgeniy

uwe

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 558
  • Karma: +0/-0
Re: Analysis of MOs in terms of particular AOs (basis funcstions)
« Reply #3 on: September 07, 2018, 10:40:13 PM »
Dear Evgeniy,

that is a known problem with Mulliken population analysis. Well, not really a problem... this approach is just a model and one gets very different numbers just be changing the basis set size. There are plenty of papers about this topic out there.

Regards,

Uwe

evgeniy

  • Sr. Member
  • ****
  • Posts: 110
  • Karma: +0/-0
Re: Analysis of MOs in terms of particular AOs (basis funcstions)
« Reply #4 on: September 10, 2018, 07:24:26 PM »
Dear Uwe,

Many thanks for your reply. I tried the way you suggested in your previous messages, that is,

tm2molden mostat ...

This would be perfect if for some reasons I had not got stars, i.e. ******* for the contributaion of certain basis
(atomic) functions in some cases, for example like this:

contribution of AO   1 ir    2 px       is: ****** %
contribution of AO   1 ir    1 dy2      is: 30.007 %
contribution of AO   1 ir    1 dx2      is: 30.007 %
contribution of AO   1 ir    1 dxy      is: 18.705 %
contribution of AO   1 ir    5 px       is: 18.695 %
contribution of AO   1 ir    3 px       is:  9.933 %


Some different questions:
Maybe you know if there is a way just to print out the MO coefficients in a more or less readable way from the mos file?
I do not want to use the molden file for that as there are Cartesian d-, f- etc. functions instead of spherical ones.

Best regards,
Evgeniy

uwe

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 558
  • Karma: +0/-0
Re: Analysis of MOs in terms of particular AOs (basis funcstions)
« Reply #5 on: September 10, 2018, 09:45:45 PM »
Hi,

if you just want to know in which order the coefficients are printed to the mos (or alpha/beta) file, simply call define, go to the molecular orbital menu (say 'y' if you are asked if you want to enter the menu) and enter 'infsao'.

This will ask for a file name where the information will be written to. Just enter a name here, or a '0' (zero) to print it to screen. The resulting file will look like that:

 SYMMETRIZED ATOMIC ORBITALS (SAOS) EXPRESSED IN TERMS OF AOS


 representation a   contains 1 *149 basis functions

 cumulative   within current              atom  shell type    coefficient
 SAO-index   symmetry species
     1              1                      1 c     1 s         1.000000
     2              2                      1 c     2 s         1.000000
     3              3                      1 c     3 s         1.000000
     4              4                      1 c     4 s         1.000000
     5              5                      1 c     5 s         1.000000
     6              6                      1 c     1 px        1.000000
     7              7                      1 c     1 py        1.000000
     8              8                      1 c     1 pz        1.000000
     9              9                      1 c     2 px        1.000000
    10             10                      1 c     2 py        1.000000
    11             11                      1 c     2 pz        1.000000
    12             12                      1 c     3 px        1.000000
    13             13                      1 c     3 py        1.000000
    14             14                      1 c     3 pz        1.000000
    15             15                      1 c     1 d0        1.000000
    16             16                      1 c     1 d1a       1.000000
    17             17                      1 c     1 d1b       1.000000
    18             18                      1 c     1 d2a       1.000000
    19             19                      1 c     1 d2b       1.000000
    20             20                      2 n     1 s         1.000000
    21             21                      2 n     2 s         1.000000
    22             22                      2 n     3 s         1.000000

and so on. The d0, d1a, etc. terms (and higher ones if present) are described at the end of the file, e.g.:

 d0  = (-xx-yy+2zz)/sqrt(12)
 d1a = xz
 d1b = yz
 d2a = xy
 d2b = (xx-yy)/2

Then you can identify which number in each molecular orbital belongs to the AO you are interested in.

Regards,

Uwe