Author Topic: Mulliken population  (Read 5284 times)

0 Members and 1 Guest are viewing this topic.

Offline Roc

  • QuantumATK Guru
  • ****
  • Posts: 104
  • Reputation: 0
    • View Profile
Mulliken population
« on: January 3, 2009, 04:22 »
Dear everyone,

When I figure out the charge transfer between the molecular and the two probes through analyzing the Mulliken population at zero bias, I find that the molecular loses 0.3225e, however, the two probes just get 0.231e totally, where is the remanent 0.0915e(0.3225e-0.231e), how to explain it?

Thanks!
 

Offline Nordland

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 812
  • Reputation: 18
    • View Profile
Re: Mulliken population
« Reply #1 on: January 3, 2009, 14:10 »
Well there can be two explainations for this:

1) The open boundary conditions allows electrons to leave the device and travel away into the electrode.
2) The padding layers. ATK adds an electrode layer to the scattering region ( just like it is visualized in VNL) for the self-consistent part.
However these exact state of these padding layers are not included in mulliken population for the twoprobe, neither are they included in total charge reported during the SCF cycle. Therefore this small charge could hide inside this padding layers. A way to check this, is to increase the screening to the electrodes, and "the hidden charge" should be less :)

Offline Roc

  • QuantumATK Guru
  • ****
  • Posts: 104
  • Reputation: 0
    • View Profile
Re: Mulliken population
« Reply #2 on: January 4, 2009, 05:26 »
Thank you, Nordland  :)

Regards!

Offline Hasan Sahin

  • Heavy QuantumATK user
  • ***
  • Posts: 44
  • Reputation: 0
    • View Profile
Re: Mulliken population
« Reply #3 on: January 7, 2009, 13:49 »
Is it possible to obtain total up and down mulliken population on system (not mullikens on each atom).

Offline Nordland

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 812
  • Reputation: 18
    • View Profile
Re: Mulliken population
« Reply #4 on: January 7, 2009, 14:34 »
Insert this piece of code, and you should get your answer.

Quote
mulliken_population = calculateMullikenPopulation(self_consistent_calculation = scf)
print 'Up =',sum(mulliken_population.toArray()[0])
print 'Down =',sum(mulliken_population.toArray()[1])

Offline sergio

  • Heavy QuantumATK user
  • ***
  • Posts: 56
  • Reputation: 0
    • View Profile
Re: Mulliken population
« Reply #5 on: October 19, 2011, 16:07 »
Hi,

The code above doesn't work in ATK 11.2.3. How can we write a this code in ATK 11.2.3?
or is there a way to get total up and down mulliken population?

Thanks

Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5411
  • Country: dk
  • Reputation: 89
    • View Profile
    • QuantumATK at Synopsys
Re: Mulliken population
« Reply #6 on: October 20, 2011, 23:30 »
Yes, it's even simpler.
Code: python
m = MullikenPopulation(configuration)
print "Spin up populations", m.atoms(spin=Spin.Up)
print "Spin down populations", m.atoms(spin=Spin.Down)
Use m.orbitals() in the same way to project on orbitals and m.bonds(i,j) to project on the bond between atoms with indices i and j (0<i,j<=N-1, N=number of atoms). If you omit the "spin" keyword you get the sum of spin up and down.

Offline sergio

  • Heavy QuantumATK user
  • ***
  • Posts: 56
  • Reputation: 0
    • View Profile
Re: Mulliken population
« Reply #7 on: October 21, 2011, 10:52 »
Thanks...