Hi,
I'm doing LDA+U calculations of rutile TiO2 recently and had difficulties for DFT convergence. I want to consider not only U_d for Titanium, but also U_p for oxygen, so I set the basis like this:
basis_set = [LDABasis.Oxygen_DoubleZetaPolarized(hubbard_u=[0.0, 6.0, 0.0, 6.0, 0.0]*eV),
LDABasis.Titanium_DoubleZetaPolarized(hubbard_u=[8.0, 0.0, 0.0, 0.0, 0.0]*eV)]
I cannot reach convergence for the default 100 steps of DFT calculations, which is unusual. LDA usually converges in 11-14 steps.
Then I tried different combinations of Ud and Up, I found for Ud=8eV and Up=-8~2eV, calculations all converge in less than 15 steps. For Ud=8eV and Up>=3eV, it doesn't converge in 100 steps.
Next I tried to modify the structure and potential directly from the NiO tutorial on the website. But still has the same convergence problem. The structure is like this:
a=4.570
c=2.920
u=0.303
lattice = SimpleTetragonal(a*Angstrom, c*Angstrom)
# Define elements
elements = [Titanium, Titanium, Oxygen, Oxygen, Oxygen, Oxygen]
# Define coordinate
fractional_coordinates = [[ 0., 0., 0.],
[ 0.5, 0.5, 0.5],
[ u, u, 0.],
[ 1-u, 1-u, 0.],
[ 0.5+u, 0.5-u, 0.5],
[ 0.5-u, 0.5+u, 0.5]]
# Set up configuration
bulk_configuration = BulkConfiguration(
bravais_lattice=lattice,
elements=elements,
fractional_coordinates=fractional_coordinates
)