QuantumATK Forum

QuantumATK => General Questions and Answers => Topic started by: arlonne on March 3, 2017, 08:12

Title: how to set up LDA+U+SOC calculation?
Post by: arlonne 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.
Title: Re: how to set up LDA+U+SOC calculation?
Post by: arlonne 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,
)
Title: Re: how to set up LDA+U+SOC calculation?
Post by: Petr Khomyakov on March 9, 2017, 11:52
This will not work. The LDA+U+SOC feature has not been implemented in the ATK yet.