Author Topic: how to set up LDA+U+SOC calculation?  (Read 1032 times)

0 Members and 1 Guest are viewing this topic.

Offline arlonne

  • New ATK user
  • *
  • Posts: 9
  • Country: cn
  • Reputation: 0
    • View Profile
how to set up LDA+U+SOC calculation?
« on: March 3, 2017, 08:12 »
in VNL, if the SOC is turn on then U will be disabled. does it means that ATK can not perform SOC+U? or it can, but one need to add U basis by hand?  Thank you.

Offline arlonne

  • New ATK user
  • *
  • Posts: 9
  • Country: cn
  • Reputation: 0
    • View Profile
Re: how to set up LDA+U+SOC calculation?
« Reply #1 on: March 3, 2017, 10:55 »
I am wondering if the following script could work.

(1) change basis set add u like:
NickelBasis = BasisSet(
    element=PeriodicTable.Nickel,
    orbitals=[nickel_3s, nickel_3p, nickel_4s, nickel_3d, nickel_3p_0, nickel_3d_0, nickel_4p],
    occupations=[2.0, 6.0, 0.0, 8.0, 1.0, 1.0, 0.0],
    hubbard_u=[0.0, 0.0, 0.0, 4.6, 0.0, 4.6, 0.0]*eV,
    filling_method=Anisotropic,
    onsite_spin_orbit_split=[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]*eV,
    pseudopotential=NormConservingPseudoPotential("normconserving/sg15/gga/28_Ni.so.upf"),
    )

(2) exchange_correlation = ExchangeCorrelation(
    exchange=PerdewBurkeErnzerhofExchange,
    correlation=PerdewBurkeErnzerhofCorrelation,
    hubbard_term=DualShell,
    number_of_spins=4,
    spin_orbit=True,
)

Offline Petr Khomyakov

  • QuantumATK Staff
  • Supreme ATK Wizard
  • *****
  • Posts: 1286
  • Country: dk
  • Reputation: 24
    • View Profile
Re: how to set up LDA+U+SOC calculation?
« Reply #2 on: March 9, 2017, 11:52 »
This will not work. The LDA+U+SOC feature has not been implemented in the ATK yet.