Author Topic: What's the proper spin of Fe2?  (Read 5785 times)

0 Members and 1 Guest are viewing this topic.

Offline frsy

  • Heavy QuantumATK user
  • ***
  • Posts: 33
  • Reputation: 0
    • View Profile
What's the proper spin of Fe2?
« on: September 7, 2009, 04:11 »
Dear all,
    I calculated Fe2 cluster with the default basis parameters:

exchange_correlation_type = GGA.PBE
basis_set_parameters = basisSetParameters(
    type = DoubleZetaPolarized,
    radial_sampling_dr = 0.0001*Bohr,
    energy_shift = 0.01*Rydberg,
    delta_rinn = 0.8,
    v0 = 40.0*Rydberg,
    charge = 0.0,
    split_norm = 0.15
)

eigenstate_occupation_parameters = eigenstateOccupationParameters(
    temperature = 0.01*Kelvin
)

electron_density_parameters = electronDensityParameters(
    mesh_cutoff = 150.0*Rydberg,
    initial_spin = 0.9*hbar
)

   ATK gives:
# sc  0 : Fermi Energy =    0.00000 Ry
# sc  1 : Fermi Energy =   -0.15954 Ry  Ebs =   -5.41527 Ry  dRho =  3.0463E-05
   and:
# Total Charge (Spin Up) =   12.00000
# Spin Down
# Total Charge (Spin Down) =    4.00000

   Thus the net spin of Fe2  is 8! But I doubted the high value. I calculated the cluster using VASP (PBE functionals) and got 6! How can I verify which is the proper spin value of Fe2 cluster?
   Thank you!

Frsy
« Last Edit: September 7, 2009, 04:34 by frsy »

Offline zh

  • Supreme QuantumATK Wizard
  • *****
  • Posts: 1141
  • Reputation: 24
    • View Profile
Re: What's the proper spin of Fe2?
« Reply #1 on: September 7, 2009, 04:41 »
It seems not the converged results for the magnetic moment of each iron atom. Alternatively, it seems the initialized spin for each Iron atom according to your setup, e.g. "initial_spin = 0.9*hbar". In addition, the value of "Temperature" parameter in "eigenstateOccupationParameters()" may be too small for Fe2 dimer. To speed up the convergence of self-consistent calculation of Fe2 dimer, try to increase it a bit more.

Offline frsy

  • Heavy QuantumATK user
  • ***
  • Posts: 33
  • Reputation: 0
    • View Profile
Re: What's the proper spin of Fe2?
« Reply #2 on: September 7, 2009, 05:08 »
Dear zh,
   My Iteration Control Parameters are:

Tolerance  = 0.0001
Criterion  = DensityMatrix
Max. Steps = 100

   I run optimization at 300K and a final static caculation at 0.01 K. The high temperature may lead to fractional occupation of charge of each iron atom.
   Sorry, I don't know where to check the convergence of the magnetic moment of each iron atom. The charge of Fe 0 of the last two iterations are:
 0 Fe     q =  6.00000 [ s:  0.959, s: -0.058, d(-2):  1.028, d(-1):  1.009, d( 0):  1.023, d( 1):  1.009, d( 2):  1.025, d(-2): -0.028, d(-1): -0.041, d( 0): -0.044, d( 1): -0.041, d( 2): -0.025, py:  0.032, pz:  0.120, px:  0.032 ]
 0 Fe     q =  2.00000 [ s:  0.471, s:  0.032, d(-2):  0.000, d(-1):  0.514, d( 0):  0.522, d( 1):  0.514, d( 2):  0.000, d(-2): -0.000, d(-1): -0.059, d( 0): -0.034, d( 1): -0.059, d( 2): -0.000, py:  0.045, pz:  0.008, px:  0.045 ]
 0 Fe     q =  6.00000 [ s:  0.959, s: -0.058, d(-2):  1.028, d(-1):  1.009, d( 0):  1.023, d( 1):  1.009, d( 2):  1.025, d(-2): -0.028, d(-1): -0.041, d( 0): -0.044, d( 1): -0.041, d( 2): -0.025, py:  0.032, pz:  0.120, px:  0.032 ]
 0 Fe     q =  2.00000 [ s:  0.471, s:  0.032, d(-2):  0.000, d(-1):  0.514, d( 0):  0.522, d( 1):  0.514, d( 2):  0.000, d(-2): -0.000, d(-1): -0.059, d( 0): -0.034, d( 1): -0.059, d( 2): -0.000, py:  0.045, pz:  0.008, px:  0.045 ]
    Is charge converged already? And what's the effect of initial_spin =0.9*hbar ? I have tried 0.1*har and 1.0*habar the total net spin are still 8! Is it the proper net spin of Fe2?
    Thank you!

Frsy

    
« Last Edit: September 7, 2009, 06:09 by frsy »

Offline zh

  • Supreme QuantumATK Wizard
  • *****
  • Posts: 1141
  • Reputation: 24
    • View Profile
Re: What's the proper spin of Fe2?
« Reply #3 on: September 7, 2009, 10:21 »
Now it seems converged. "initial_spin =0.9*hbar" means the total spin of whole system is 0.9*hbar. You may refer to the detailed explanation in the manual:
http://quantumwise.com/documents/manuals/ATK-2008.10/ref.electrondensityparameters.html.

To make the initial spin of each Fe atom in the Fe2 cluster  be 3*hbar, you may do the following setup:
initial_spin = 3*hbar
or
initial_scaled_spin = [0.75, 0.75]

For the magnetic state of Fe2 cluster, you may refer to this paper:
J.H. Gu and Z.L. Zhu, Ab initio STUDIES ON MAGNETISM OF 3d TRANSITION METAL DIMERS,
Acta Metallurgica Sinica (English Letters) Volume 20, Issue 5, October 2007, Pages 341-346
http://dx.doi.org/10.1016/S1006-7191(07)60048-9

Other comments for the calculations  of Fe2 cluster:
i) "temperature=0.01 Kelvin" in "eigenstateOccupationParameters" actually corresponds to a fixed occupation number for each occupied eigenvalue. It is reasonable for the system with a band gap or HOMO-LUMO gap. Here it is unreasonable for Fe2 cluster because the density of states (DOS) at the Fermi level of Fe2 cluster is not zero, e.g., Fe2 cluster is metallic. I have done the DOS calculations of Fe2 cluster using other DFT code and confirmed this point.

ii) I have also done several cases for Fe2 cluster with "initial_spin" and "fixed_spin", but the calculations aways give 4*hbar for the total spin of Fe2 cluster. That is to say, I also reproduced the problem you met. This result is inconsistent with the value reported in experiment and previous theoretical calculations (see the reference mentioned above). We should dig into this problem.

iii). You may do the fixed spin calculations for Fe2 cluster with different spin moment and then find out the one with lowest energy. There is an example demonstrated in the manual for the fixed spin calculation of O2 molecule, please refer to it:
http://quantumwise.com/documents/manuals/ATK-2008.10/chap.oxspin.html

iv). To get more reliable convergence results of Fe2 cluster, it is better adopt "quantity = IterationMixing.DensityMatrix" in "iterationMixingParameters()" and "criterion = IterationControl.DensityMatrix" in "iterationControlParameters()". When you meet the problem of slow convergence, please try to increase the "history_steps" in "iterationMixingParameters()".
  
« Last Edit: September 7, 2009, 12:55 by zh »