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
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