Example: Fixing the Band gap of NiO with GGA+U¶
With the UNRESTRICTED keyword we do a spin polarized calculation.
With the HubbardU key block we set up the GGA+U calculation. You need to specify per atom type (only two here, Ni, and O) the U and the \(l\)-value to which it should be applied.
$ADFBIN/band << eor
TITLE NiO
UNITS
    length Angstrom
    angle Degree
END
HubbardU
   printOccupations true
   Enabled true
   uvalue 0.3 0.0  ! Type 1 (Ni) will get U=0.3
   lvalue 2 -1     ! Will be used for the d-orbitals of Ni
End
Atoms
   Ni 0.0 0.0 0.0
   O 2.085 2.085 2.085
END
Lattice
   0.000 2.085 2.085
   2.085 0.000 2.085
   2.085 2.085 0.000
End
CONVERGENCE
   CRITERION 1.0e-4
   Degenerate default
END
DIIS
   CLARGE 10
   CHUGE 10
   DIMIX 0.2
   NVCTRX 20
   NCYCLEDAMP 0
END
SCF
   iterations 50
   mixing 0.1
END
BasisDefaults
   BasisType TZP
   Core Large
End
XC
   GGA Becke Perdew
END
UNRESTRICTED
Dependency basis=1e-6
end input
eor