[gpaw-users] DFT+U failed to converge for bulk CuO

Marcin Dulak Marcin.Dulak at fysik.dtu.dk
Mon Apr 15 12:44:29 CEST 2013


Hi,

the trick seem to be setting high enough initial afm moments, something 
like:
for n, a in enumerate(bulk):
   if a.symbol == 'Cu':
      a.magmom=2.0 * (-1) ** (n % 2)  # make sure you need this ordering
      print n, a.magmom

With that it will converge with default parameters, no need for mixers 
of eigensolvers.
This is a common trick in different programs.

Best regards,

Marcin

On 04/15/2013 10:32 AM, Honkala Karoliina wrote:
> Hi !
>
> We are calculating bulk CuO but facing severe problems to get
> calculations to converge. CuO is antiferromagnetic material with C2/c
> crystal structure, and requires self-interaction correction.
> The value for the Hubbard correction, U=4, is taken
> from the paper PRB 73, 195107 (2006).
>
>
> We have tried following things:
>
> - excluded spins, improves  convergence but is not really
>   an option because of the antiferromagnetic structure
>
> - played with the eigensolver: cg works better than rmm-diis
>
> - tried different parameters for mixing
>
> - varied the value for Fermi smearing
>
> - varied U value
>
> - used different lattice parameters (in total four: 3 lattice constants
>    and one angle) both experimental
>   and those given in PRB 73, 235206 (2006)
>
> The calculation does converge with the initial atomic positions (but 
> electronic structure is not antiferromagnetic )but oxygen positions 
> must be optimized and after moving oxygens
> once or twice the electronic structure does not converge any more.
> So we are not able to optimize the lattice parameters which is our 
> first goal.
>
> The scaled positions for Cu and O are taken from experimental paper J. 
> Phys. Condens. Matter. 3, 8173 (1991).
>
>
> Does anyone have suggestions how we could get the calculations 
> convergence ?
>
> The script that we are using is below.
>
> Best regards,
>                  Karoliina
>
>
> from numpy import *
> from ase.optimize import QuasiNewton
> from ase.io.trajectory import PickleTrajectory
> from ase.visualize import view
> from ase.constraints import FixAtoms
> from ase.io import write
> from ase import Atoms
> from ase.lattice import bulk
> from ase.io import read
> from ase.lattice.spacegroup import crystal
>
> from gpaw import GPAW
> from ase import *
> from gpaw import *
> from gpaw.mpi import rank
> from ase.units import Hartree
> from gpaw import GPAW, Mixer
> from gpaw.mixer import Mixer, MixerSum
>
> name = 'CuO_bulk_relax_spin'
> al = 4.55
> bl=  3.34
> cl = 4.99
> beta=99.507
>
> bulk = crystal(['Cu','O'], [(0.25,0.25,0.0), (0, 0.42, 0.25)], 
> spacegroup=15,setting=1,
>                 cellpar=[al,bl,cl,90,90,beta],pbc=True)
> for a in bulk:
>   if a.symbol == 'Cu':
>      a.magmom=0.65
>
> U=4.0
> U_au = U / Hartree
> l=2 # d orbitaali
> scale=1
> store=0
> calc = GPAW(nbands=-50,
>                 h=0.18,
>                 xc='PBE',
>                 maxiter=240,
>                 width=0.2,
>                 spinpol= True,
>                 mixer=MixerSum(0.02, 5, 50),
> #                mixer=Mixer(0.02, 5, 50),
>                 eigensolver='cg',
>                 kpts=(4,4,4),
>                 txt=name + '.txt',)
>
> bulk.set_calculator(calc)
>
> calc.initialize(bulk)
> for i, a in enumerate(bulk):
>     if a.symbol == 'Cu':
>         calc.hamiltonian.setups[i].set_hubbard_u(U_au, l, scale, store)
>
> #constraint = FixAtoms(mask=[a.symbol=='Cu' for a in bulk])
> #bulk.set_constraint(constraint)
>
> dyn = QuasiNewton(bulk, logfile=name+'.log', trajectory=name+'.traj')
>
> dyn.run(fmax=0.05)
> calc.write(name+'.gpw')
>
>
>
>
>
> _______________________________________________
> gpaw-users mailing list
> gpaw-users at listserv.fysik.dtu.dk
> https://listserv.fysik.dtu.dk/mailman/listinfo/gpaw-users


-- 
***********************************
  
Marcin Dulak
Technical University of Denmark
Department of Physics
Building 307, Room 229
DK-2800 Kongens Lyngby
Denmark
Tel.: (+45) 4525 3157
Fax.: (+45) 4593 2399
email: Marcin.Dulak at fysik.dtu.dk

***********************************

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://listserv.fysik.dtu.dk/pipermail/gpaw-users/attachments/20130415/e516bf71/attachment.html 


More information about the gpaw-users mailing list