Contribution of one atom in specific MO

From NWChem

Viewed 3157 times, With a total of 10 Posts
Jump to: navigation, search

Just Got Here
Threads 1
Posts 1
Hi,

I am doing DFT calculations and would like to compute the contribution of an atom (or group of atoms) to a specific molecular orbitals. Is there a buit-in functionality within NWChem to do that ?

Alternatively, is there a way to output the overlap matrix ? Since I can output the the final MO vectors, I could compute this contribution with the overlap matrix.

Thanks,

  • Bert Forum:Admin, Forum:Mod, NWChemDeveloper, bureaucrat, sysop
    Profile
    Send PM
Forum Vet
Threads 4
Posts 597
property
mulliken
end

task dft property


May give you the output you are looking for. In addition, you can increase the print out by including:

property
mulliken
print "ao gross population"
end

task dft property


Bert


Quote:Maillard Nov 4th 3:11 pm
Hi,

I am doing DFT calculations and would like to compute the contribution of an atom (or group of atoms) to a specific molecular orbitals. Is there a buit-in functionality within NWChem to do that ?

Alternatively, is there a way to output the overlap matrix ? Since I can output the the final MO vectors, I could compute this contribution with the overlap matrix.

Thanks,

Clicked A Few Times
Threads 5
Posts 21
Hi,

I used to work with NwChem6.0. Doing a property calculation with the keywork Mulliken used to print me the overlap populations. But now that I have switched to NwChem6.1, it doesn't anymore. Is this an installation problem or has anything changed in the code? Is there a new keyword for this option?

Thanks,

Chloe

  • Bert Forum:Admin, Forum:Mod, NWChemDeveloper, bureaucrat, sysop
    Profile
    Send PM
Forum Vet
Threads 4
Posts 597
The following options provide additional output in the Mulliken population analysis within the property module:

print "overlap population"
print "ao gross population"
print "atomic overlap population"

Thanks,

Bert



Quote:Chloe Jun 5th 2:09 pm
Hi,

I used to work with NwChem6.0. Doing a property calculation with the keywork Mulliken used to print me the overlap populations. But now that I have switched to NwChem6.1, it doesn't anymore. Is this an installation problem or has anything changed in the code? Is there a new keyword for this option?

Thanks,

Chloe

Clicked A Few Times
Threads 5
Posts 21
Hi Bert,

I tried adding print "overlap population" in the property block but then I got an error message saying that the keyword is not recognized.

  • Bert Forum:Admin, Forum:Mod, NWChemDeveloper, bureaucrat, sysop
    Profile
    Send PM
Forum Vet
Threads 4
Posts 597
Just put these lines in the input deck before the task line, outside of the property block.

Bert

Quote:Chloe Jun 8th 2:12 pm
Hi Bert,

I tried adding print "overlap population" in the property block but then I got an error message saying that the keyword is not recognized.

Clicked A Few Times
Threads 5
Posts 21
This is not working either. It doesn't raise any error but it doesn't print the overlap population between any two atomic orbital.

Chloé

Clicked A Few Times
Threads 2
Posts 6
Bump of the old issue.

As noted by Chloe, inserting:
print "overlap population"
in the file does not result in overlap population in the output.

my input file is:
echo
start
title "Water SP"

geometry
symmetry c1
O     0.00000000     0.00000000     0.12982363
H     0.75933475     0.00000000    -0.46621158
H    -0.75933475     0.00000000    -0.46621158
end

basis  spherical
 O library aug-cc-pVDZ
 H library aug-cc-pVDZ
end
print "overlap population"

dft
xc becke88 perdew86 
convergence energy 1d-8 nolevelshifting
direct
end

property
 MULLIKEN
end

task dft property


Now, if I look into code (hnd_mulken.F), I find:
if (ga_nodeid().eq.0) write(luout,2100) 

prt_ovlp_pop     = ((ga_nodeid().eq.0).and.
     &                   util_print("overlap population",print_debug))

[...]

2100 format(//,10x,28(1h-),/,10x,'Mulliken population analysis',/,
     & 10X,28(1h-))


ga_nodeid().eq.0 is True because "Mulliken population analysis" string is printed in the output file. Thus, something is wrong with the second condition.

From util/print.doc:
If (  (the level is below the current printlevel and printing of
            "name" has not been explicitly disabled)
           or
           (the printing of name has been explicitly enabled) )

        util_print returns .true.
     endif


name was explicitly enabled, but for some reasons util_print returns false.

Any help would be greatly appreciated!
Edited On 12:10:35 PM PST - Fri, Jan 18th 2013 by Afonari

Clicked A Few Times
Threads 5
Posts 21
Dear Afonari,

Print "overlap population" doesn't work, but I managed to do it using

property
 mulliken
vectors file.movecs
end
task dft property

... but you also have this part in your code. Just make sure it is not printed in the property module (you can search for the key word "overlap population" in the ouput file). Otherwise, I really don't know what's the problem.

  • Bert Forum:Admin, Forum:Mod, NWChemDeveloper, bureaucrat, sysop
    Profile
    Send PM
Forum Vet
Threads 4
Posts 597
Fixed in development version
I found the issue as to why it wasn't printing. It will require a slight code change and recompile.

in src/property/prop_input.F replace:

     elseif ( inp_compare(.false., 'end', test)) then

with:

     else if (inp_compare(.false.,'print', test) .or.
$ inp_compare(.false.,'noprint', test)) then
call util_print_input(rtdb, 'prop')
elseif ( inp_compare(.false., 'end', test)) then

Effectively, you need to add those three lines. Recompile, and now set the print statement in the property block

property
mulliken
print "overlap population"
end

Thanks,

Bert

Clicked A Few Times
Threads 2
Posts 6
thank you Bert,

will give it a try.


Forum >> NWChem's corner >> NWChem functionality



Who's here now Members 0 Guests 1 Bots/Crawler 0


AWC's: 2.5.10 MediaWiki - Stand Alone Forum Extension
Forum theme style by: AWC