[gpaw-users] : gpaw.KohnShamConvergenceError: Did not converge!

Mathias Ljungberg mathias.ljungberg at physto.se
Thu Nov 25 00:26:42 CET 2010


Also, are you sure that your total magnetic moment should be 0? Often  
in a spin polarized calculation you need to set the inital magnetic  
moments ( atoms.set_initial_magnetic_moments() ) for the system to  
converge to the right magnetic state. With the core hole and an extra  
electron the magnetic moment will be around +1 or -1 from that of the  
ground state.

The methodology of putting the extra electron in a predetermined spin  
orbital works well for isolated molecules, however, for periodic  
systems things are not as simple. The examples on the GPAW web page  
are for insulators / non-magnetic systems and things might work a bit  
differently for magnetic systems.  Observe that fixing the magnetic  
moment will prevent relaxation due to the core hole and I'm not sure  
this is an advisable procedure for magnetic systems.

For convergence with the cell size for the actual spectrum  
calculation, see

PHYSICAL REVIEW B 66, 195107 (2002)

the take home message being that you need a pretty big supercell for  
convergence! For the delta Kohn Sham calculation the convergence is  
about the same.

Just a few caveats...

Mathias

On Nov 24, 2010, at 12:54 PM, Jens Jørgen Mortensen wrote:

> On Mon, 2010-11-22 at 16:36 -0600, Yuelin Li wrote:
>> Nic,
>>
>> I am pretty sure I tried, then I tried again after seeing you  
>> email, and
>> there is no luck. here is the python script
>
> You are doing a gamma-point calculation with a *very* small grid
> spacing.  It works fine for me if I use kpts=(2,2,2) and h=0.2.
>
> You may want to do the calculation in a bigger cell so that the
> core-holes are more separated.
>
> Jens Jørgen
>
>> -----------------------
>> from gpaw import setup_paths
>> setup_paths.insert(0, '.')
>>
>>
>> from math import pi, cos, sin
>> from ase import Atoms
>> from gpaw import GPAW, FermiDirac
>>
>> a = 3.937
>> d = a /2
>> atoms = Atoms(symbols='CaMnO3',
>>                 positions=[(d, d, d),(0, 0, 0),(d, 0, 0),(0, d, 0), 
>> (0,
>> 0, d)],
>>                 cell=(a,a,a),pbc=(1,1,1))
>>
>> calc3 = GPAW(nbands=36,h=0.1,setups={2: 'fch1s'})
>>
>> atoms.set_calculator(calc3)
>>
>> e2 = atoms.get_potential_energy() + calc3.get_reference_energy()
>>
>> print 'Energy difference' , e2 - e1
>>
>> -----------------------
>>
>> And here is the error message,
>> -----------------------------------
>> Traceback (most recent call last):
>>   File "xas2a.py", line 19, in <module>
>>     e2 = atoms.get_potential_energy() + calc3.get_reference_energy()
>>   File "/soft/ase/ase-3.4.1/ase/atoms.py", line 494, in
>> get_potential_energy
>>     return self.calc.get_potential_energy(self)
>>   File "/soft/gpaw/gpaw-0.7.2/gpaw/aseinterface.py", line 32, in
>> get_potential_energy
>>     self.calculate(atoms, converge=True)
>>   File "/soft/gpaw/gpaw-0.7.2/gpaw/paw.py", line 279, in calculate
>>     raise KohnShamConvergenceError('Did not converge!')
>> gpaw.KohnShamConvergenceError: Did not converge!
>>
>>
>>
>>
>> Ph. D
>> Advanced Photon Source, Argonne National Laboratory
>> 630 252 7863
>> http://sector7.xor.aps.anl.gov/~ylli/
>>
>> On 11/22/2010 1:28 PM, Nichols A. Romero wrote:
>>> Yuelin,
>>>
>>> Can you try without spin polarization altogether? Will that  
>>> converge?
>>>
>>> ----- Original Message -----
>>>> Thanks for offering the help.
>>>>
>>>> To clarify,
>>>> - For a periodic system I should not specify charge?
>>>> - The charge should actually be the opposite of the charge of the
>>>> system?
>>>>
>>>> In any case, I did try GPAW with no option but the core hole like
>>>> GPAW(setups={2: 'fch1s'}), as well as charge =-1, all reaches the  
>>>> same
>>>> convergence problem.
>>>>
>>>> What to do next? Thanks.
>>>>
>>>> Yuelin
>>>>
>>>>
>>>> On 11/19/2010 6:59 PM, Mathias Ljungberg wrote:
>>>>> Hi Yuelin,
>>>>>
>>>>> I think you want to put charge=-1, with the core hole you will  
>>>>> get a
>>>>> neutral system
>>>>>
>>>>> Mathias
>>>>>
>>>>>
>>>>> On Nov 20, 2010, at 12:50 AM, Nichols A. Romero wrote:
>>>>>
>>>>>> Yuelin,
>>>>>>
>>>>>> You have a periodic system with a net charge = 1. Is this what  
>>>>>> you
>>>>>> want?
>>>>>> I am not sure that its possible to converge this for anything but
>>>>>> a finite system. I think this maybe your biggest problem. Try
>>>>>> removing
>>>>>> the charge keyword and seeing if it converges.
>>>>>>
>>>>>> Also, I recommend using the default eigensolver.
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> ----- Original Message -----
>>>>>>> Hi,
>>>>>>>
>>>>>>> in the past few days I was struggling with this problem on the
>>>>>>> following
>>>>>>> calculation.
>>>>>>>
>>>>>>> The problem is whatever I try, it always fail to converge as  
>>>>>>> long
>>>>>>> as I
>>>>>>> include the core hole state, the things I tried include
>>>>>>> - nbands up to 120
>>>>>>> - using done to 0.1
>>>>>>> - both eigensolvers
>>>>>>> - all 3 elements
>>>>>>> - room temperature
>>>>>>> - xc='LDA', etc
>>>>>>>
>>>>>>> I wonder what else can still be done?
>>>>>>>
>>>>>>> Please help,
>>>>>>>
>>>>>>> thanks
>>>>>>>
>>>>>>> Yuelin
>>>>>>>
>>>>>>> ----------------------------------------------------------------
>>>>>>> from math import pi, cos, sin
>>>>>>> from ase import Atoms
>>>>>>> from gpaw import GPAW, FermiDirac
>>>>>>>
>>>>>>> t = pi / 180 * 104.51
>>>>>>> a = 3.937
>>>>>>> d = a /2
>>>>>>> atoms = Atoms(symbols='CaMnO3',
>>>>>>> positions=[(d, d, d),(0, 0, 0),(d, 0, 0),(0, d, 0),(0,
>>>>>>> 0, d)],
>>>>>>> cell=(a,a,a),pbc=(1,1,1))
>>>>>>> atoms.center()
>>>>>>>
>>>>>>> calc2 = GPAW(nbands=36,
>>>>>>> h=0.18,
>>>>>>> txt='CMO_exc.txt',
>>>>>>> xc='PBE',
>>>>>>> charge=1,
>>>>>>> spinpol=True,
>>>>>>> eigensolver='cg',
>>>>>>> occupations=FermiDirac(0.00, fixmagmom=True),
>>>>>>> mixer=MixerSum(0.05,5,weight=100),
>>>>>>> setups={2: 'fch1s'})
>>>>>>> atoms[2].magmom = 1
>>>>>>> atoms.set_calculator(calc2)
>>>>>>> e2 = calc2.get_reference_energy()
>>>>>>> --------------------------------------------------------------------
>>>>>>>
>>>>>>> The core holes are generated using
>>>>>>>
>>>>>>> --------------------------------------------------------------------
>>>>>>> import os
>>>>>>>
>>>>>>> from gpaw import Calculator
>>>>>>> from gpaw.atom.generator import Generator
>>>>>>> from gpaw.atom.generator import parameters
>>>>>>>
>>>>>>> # Generate setups with 0.5, 1.0, 0.0 core holes in 1s
>>>>>>> elements = ['Mn', 'O']
>>>>>>> coreholes = [0.5, 1.0, 0.0]
>>>>>>> names = ['hch1s', 'fch1s', 'xes1s']
>>>>>>> functionals = ['LDA', 'PBE']
>>>>>>>
>>>>>>> for el in elements:
>>>>>>>
>>>>>>> for name, ch in zip(names, coreholes):
>>>>>>>
>>>>>>> for funct in functionals:
>>>>>>>
>>>>>>> g = Generator(el, scalarrel=True, xcname=funct,
>>>>>>> corehole=(1, 0, ch), nofiles=True)
>>>>>>>
>>>>>>> g.run(name=name, **parameters[el])
>>>>>>> --------------------------------------------------------------------
>>>>>>> and
>>>>>>> --------------------------------------------------------------------
>>>>>>> from gpaw import Calculator
>>>>>>> from gpaw.atom.generator import Generator
>>>>>>> from gpaw.atom.generator import parameters
>>>>>>>
>>>>>>> # Generate setups with 0.5, 1.0, 0.0 core holes in 1s
>>>>>>> elements = ['Ca']
>>>>>>> coreholes = [0.5, 1.0, 0.0]
>>>>>>> names = ['hch1s', 'fch1s', 'xes1s']
>>>>>>> functionals = ['LDA', 'PBE']
>>>>>>>
>>>>>>> for el in elements:
>>>>>>>
>>>>>>> for name, ch in zip(names, coreholes):
>>>>>>>
>>>>>>> for funct in functionals:
>>>>>>>
>>>>>>> g = Generator(el, scalarrel=True, xcname=funct,
>>>>>>> corehole=(1, 0, ch), nofiles=True)
>>>>>>>
>>>>>>> g.run(name=name, empty_states='3d',**parameters[el])
>>>>>>>
>>>>>>> ------------------------------------------------------------------------
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> gpaw-users mailing list
>>>>>>> gpaw-users at listserv.fysik.dtu.dk
>>>>>>> https://listserv.fysik.dtu.dk/mailman/listinfo/gpaw-users
>>>>>>
>>>>>> --
>>>>>> Nichols A. Romero, Ph.D.
>>>>>> Argonne Leadership Computing Facility
>>>>>> Argonne National Laboratory
>>>>>> Building 240 Room 2-127
>>>>>> 9700 South Cass Avenue
>>>>>> Argonne, IL 60490
>>>>>> (630) 252-3441
>>>>>>
>>>>>> _______________________________________________
>>>>>> gpaw-users mailing list
>>>>>> gpaw-users at listserv.fysik.dtu.dk
>>>>>> https://listserv.fysik.dtu.dk/mailman/listinfo/gpaw-users
>>>>>
>>>
>> _______________________________________________
>> gpaw-users mailing list
>> gpaw-users at listserv.fysik.dtu.dk
>> https://listserv.fysik.dtu.dk/mailman/listinfo/gpaw-users
>
> _______________________________________________
> gpaw-users mailing list
> gpaw-users at listserv.fysik.dtu.dk
> https://listserv.fysik.dtu.dk/mailman/listinfo/gpaw-users

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


More information about the gpaw-users mailing list