Author Topic: Use ATK DFT to calculate the hydrogen atom energy levels  (Read 5716 times)

0 Members and 1 Guest are viewing this topic.

Offline jlmwilliam

  • Regular QuantumATK user
  • **
  • Posts: 6
  • Country: cn
  • Reputation: 0
    • View Profile
I might ask a dumb question. I was trying to use ATK DFT method to calculate the isolated hydrogen atom energy level. But I just couldn't get it right. The calculated ground state energy level is always around -5.77eV using DFT method (-6.34eV for SK method). I already knew that the Hydrogen atom energy level should have a ground state energy -13.6eV. Where did I get it wrong? (BTW, the Extend Huckel works pretty well, as I expect.)
Code
# -------------------------------------------------------------
# Molecule configuration
# -------------------------------------------------------------

# Define elements
elements = [Hydrogen]

# Define coordinates
cartesian_coordinates = [[ 0.,  0.,  0.]]*Angstrom

# Set up configuration
molecule_configuration = MoleculeConfiguration(
    elements=elements,
    cartesian_coordinates=cartesian_coordinates
    )

# -------------------------------------------------------------
# Calculator
# -------------------------------------------------------------
calculator = LCAOCalculator()

molecule_configuration.setCalculator(calculator)
nlprint(molecule_configuration)
molecule_configuration.update()
nlsave('C:/ATK/ATKstudy/Hydrogen_MO_1.nc', molecule_configuration)

# -------------------------------------------------------------
# Molecular energy spectrum
# -------------------------------------------------------------
molecular_energy_spectrum = MolecularEnergySpectrum(
    configuration=molecule_configuration,
    energy_zero_parameter=AbsoluteEnergy,
    projection_list=ProjectionList(elements=[Hydrogen], angular_momenta=[0, 1, 2, 3])
    )
nlsave('C:/ATK/ATKstudy/Hydrogen_MO_1.nc', molecular_energy_spectrum)
nlprint(molecular_energy_spectrum)

Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5575
  • Country: dk
  • Reputation: 96
    • View Profile
    • QuantumATK at Synopsys
Re: Use ATK DFT to calculate the hydrogen atom energy levels
« Reply #1 on: October 7, 2014, 10:51 »
This is actually surprisingly "difficult" in DFT :)
I had a script somewhere that gives 13.57 or something, I don't remember now, I can look for it, but the key is to turn on spin-polarization and use GGA. You might also need to increase the accuracy by using a large basis set and high mesh cut-off. See what that gives you, and I'll keep looking for my old script...
« Last Edit: October 7, 2014, 11:43 by Anders Blom »

Offline jlmwilliam

  • Regular QuantumATK user
  • **
  • Posts: 6
  • Country: cn
  • Reputation: 0
    • View Profile
Re: Use ATK DFT to calculate the hydrogen atom energy levels
« Reply #2 on: October 8, 2014, 03:25 »
This is actually surprisingly "difficult" in DFT :)
I had a script somewhere that gives 13.57 or something, I don't remember now, I can look for it, but the key is to turn on spin-polarization and use GGA. You might also need to increase the accuracy by using a large basis set and high mesh cut-off. See what that gives you, and I'll keep looking for my old script...

Thanks a lot for the answer.

I've tried with SGGA.PBE with DZDP basis set, the mesh cut off set for 75H,300H,1200H. The molecular ground state energy does not change as I increase the mesh cut off setting. The Spin Up is about -7.30eV and the spin down energy level is about 2.59eV.  I also used other functional to calculated and get the similar results around -7.eV and 2.5eV. Change of Density mesh cut off seems do not change the final result significantly.

I'm a bit confuse about this problem. Why is this happening? Since calculate the Hydrogen atom will need so much effort, how can we assure other more complex molecule are right? What mechanism underline ATK makes calculation of Hydrogen so "difficult" while other more complex molecules becomes easy?

Offline Troels Markussen

  • QuantumATK Staff
  • Regular QuantumATK user
  • *****
  • Posts: 8
  • Country: dk
  • Reputation: 0
    • View Profile
Re: Use ATK DFT to calculate the hydrogen atom energy levels
« Reply #3 on: October 8, 2014, 11:28 »
The value of -13.6 eV, which is the Hydrogen atom ground state energy cannot be accurately obtained from the molecular energy spectrum, which reports the eigenvalues of the Kohn-Sham hamiltonian. The total energy in DFT includes the Kohn-Sham eigenvalues, but there are additional contributions. Therefore, what you really need to calculate is the total energy (TotalEnergy analysis object) which will give you a value close to -13.6 eV.