Example: Fixing the Band gap of NiO with GGA+U

Download NiO_Hubbard.run

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
END

ATOMS 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