[gpaw-users] Fe and Co setups may have problem: give strange (too large) DOS

Jens Jørgen Mortensen jjmo at dtu.dk
Fri Aug 9 08:55:27 CEST 2019


On 6/23/19 6:20 PM, Zhenhua Zeng wrote:
> Jens Jørgen,
> 
> I would like to follow up with you regarding this solved issue. We seem 
> to have solved the problem (too large DOS) by eliminating the ghost 
> state through using "gpaw dataset" or "gpaw-setup with appropriate rcut" 
> to generate setups. While two methods/setups give similar DOSs at the 
> (low) energies that are important for chemical bonds, there are also 
> obvious discrepancies at the (high) energies that are important for the 
> excitation (e.g. < 2.5 eV below).  It gives me the impression that new 
> "gpaw dataset" may be more reliable (however, give too small DOS at high 
> energy). But simulated XAS with both method/seetups show a shape that is 
> almost identical to the DOS from gpaw-setup, which indicates 
> "gpaw-setup" may be more reliable at high energy. The question here is 
> how to judge which method/setup is correct at the high energy.

You could compare logarithmic derivatives at high energies for the two 
PAW-datasets and see which one does best.  You could also try to add 
more partial waves/projectors in order to converge towards the correct DOS.

Jens Jørgen

> 
> Thanks!
> Zhenhua
> 
> On 5/28/2019 7:08 AM, Jens Jørgen Mortensen wrote:
>> On 5/28/19 3:33 AM, Zhenhua Zeng wrote:
>>> On 5/27/2019 2:15 AM, Jens Jørgen Mortensen wrote:
>>>> On 5/19/19 10:08 PM, Zhenhua Zeng wrote:
>>>>>
>>>>>
>>>>> On 5/13/2019 12:41 AM, Jens Jørgen Mortensen wrote:
>>>>>> On 5/10/19 4:08 PM, Zhenhua Zeng wrote:
>>>>>>>
>>>>>>>
>>>>>>> On 5/10/2019 7:17 AM, Jens Jørgen Mortensen wrote:
>>>>>>>>
>>>>>>>>
>>>>>>>> On 5/10/19 4:22 AM, Zhenhua Zeng wrote:
>>>>>>>>> On 5/8/2019 10:44 AM, Jens Jørgen Mortensen wrote:
>>>>>>>>>> On 5/8/19 7:33 AM, Jens Jørgen Mortensen via gpaw-users wrote:
>>>>>>>>>>> On 5/8/19 5:44 AM, Zhenhua Zeng wrote:
>>>>>>>>>>>>
>>>>>>>>>>>> Dear All,
>>>>>>>>>>>>
>>>>>>>>>>>> We have been testing the setups of Fe and Co, using FeOOH 
>>>>>>>>>>>> and CoOOH as examples, but found very strange results,  i.e. 
>>>>>>>>>>>> too large DOS (see figures below) at the eigenvalue of extra 
>>>>>>>>>>>> p-orbital in the setup.
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Can you give us the scripts and input files you use to 
>>>>>>>>>>> calculate those DOS plots?
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Never mind.  Try the PAW-dataset generated with this command:
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>     $ gpaw dataset Fe -f PBE -P 3s,4s,3p,4p,3d,d,F -r 2.1 -s -w
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> It doesn't have the ghost state (as you can check by adding 
>>>>>>>>>> "-l spdfg" on the command line).
>>>>>>>>>>
>>>>>>>>>> Jens Jørgen
>>>>>>>>>>
>>>>>>>>> Jens Jørgen,
>>>>>>>>>
>>>>>>>>> Thank you for the suggestions. It works, either with 3s,3p or 
>>>>>>>>> only 3p semi-core electrons as valance electrons. It does not 
>>>>>>>>> work without including semi-core electron as valance electrons 
>>>>>>>>> (as we have already known). Do you have any suggestion how to 
>>>>>>>>> make it work?  I ask it because I have found that MOST of d 
>>>>>>>>> elements (if not ALL) have ghost state (I check p orbital) with 
>>>>>>>>> default valence configuration. Otherwise, if we want to make 
>>>>>>>>> sure the calculations are correct (at least electronic 
>>>>>>>>> structure), we have to included semi-core electrons, which is 
>>>>>>>>> time consuming.
>>>>>>>>>
>>>>>>>>
>>>>>>>> You could perhaps just ignore the ghost state since it is high 
>>>>>>>> above the occupied states.
>>>>>>>>
>>>>>>>>
>>>>>>>> Anyway, these parameters seem to work:
>>>>>>>>
>>>>>>>>
>>>>>>>>     $ gpaw dataset Fe -f PBE -P 4s,s,4p,p,3d,d -r 2.3 -l spd -psw
>>>>>>>>
>>>>>>>>
>>>>>>>> Jens Jørgen
>>>>>>>>
>>>>>>> The figure below is the logarithmic-derivative of p orbital with 
>>>>>>> the command
>>>>>>>
>>>>>>> gpaw dataset Fe -f PBE -P 4s,s,4p,p,3d,d -r 2.3 -l p,-3:1:0.05 -psw
>>>>>>>
>>>>>>> The ghost is deeply below the occupied states, which can not be 
>>>>>>> observed using the default energy range (-1,1).
>>>>>>>
>>>>>>
>>>>>> That's not a ghost!  The jump in the red curve comes from the 3p 
>>>>>> state that the all-electron atom binds.  The dashed line does not 
>>>>>> have that jump indicating that the pseudo atom doesn't bind a 3p 
>>>>>> state.  This is exactly what we want.
>>>>>>
>>>>>>
>>>>>> Jens Jørgen
>>>>>>
>>>>> Thank you for clarifying it. Now, I'm confused what a ghost state 
>>>>> is. Such as whether there is any ghost state in figure (b) below, 
>>>>> while I'm sure there is a ghost state at ~0.7 Ha in figure (a) below.
>>>>>
>>>>> The reason for the ghost state in (a) is because of the default 
>>>>> rcut of p obital is too small (2.0 Bohr. It even gives error if I 
>>>>> adopt such a value when I use "gpaw dataset", while "gpaw dataset" 
>>>>> had its own problem as I will describe below). If I increase the 
>>>>> value to 2.2 (the default value in "gpaw dataset"), then the ghost 
>>>>> state will disappear (c). However, It does not work well (large 
>>>>> deviation at high energy) if I include semi-core 3p electrons as 
>>>>> valence electrons (d), maybe because I can not specify electonic 
>>>>> configuration as we could do using gpaw dataset, i.e. -P 
>>>>> 3p,4s,s,4p,p,3d,d, as discussed below.
>>>>>
>>>>> There is not ghost state if I use "gpaw dataset" and adopt the 
>>>>> default parameters (e). There is also not ghost state if I add 
>>>>> semicore 3p (e, with -P 3p,4s,s,4p,p,3d,d). However, I'm still not 
>>>>> sure how to specify "-P PROJECTORS" in "gpaw-setup".  Any comment?
>>>>>
>>>>
>>>> You can use --extra-prejectors=...
>>>>
>>>>
>>>> or use "gpaw dataset" from latest master.  I have fixed the bug you 
>>>> ran into.
>>>>
>>> It works now. But now there is a question we need to think about, 
>>> i.e. using "gpaw-setup" or "gpaw dataset" to generate setups, as they 
>>> give different results with exactly same input parameters (some 
>>> default parameters may be still different). For example:
>>>
>>> From gpaw dataset -f PBE Fe -r 2.2
>>> <ae_energy kinetic="1287.6415489719052" xc="-55.54351173940733" 
>>> electrostatic="-2504.54065053596" total="-1272.4426133034622"/>
>>> from gpaw-setup -f PBE Fe -r 2.2
>>> <ae_energy kinetic="1287.1549148462987" xc="-55.53939548412284"  
>>> electrostatic="-2503.8570150482838" total="-1272.241495686108"/>
>>>
>>> There are difference on energy. For the default parameters, at least 
>>> radial_grid eq is different (see below)
>>>
>>> default parameter in "gpaw dataset"
>>> <radial_grid eq="r=a*i/(1-b*i)" a="0.0002719641466102106" 
>>> b="0.0004945598417408506" n="2000" istart="0" iend="1999" id="g1"/>
>>> default parameter in "gpaw-setup"
>>> <radial_grid eq="r=a*i/(n-i)" a="0.4000000000000001" n="600" 
>>> istart="0" iend="599" id="g1"/>
>>>
>>> As setups generated with "gpaw-setup" and default parameters may have 
>>> problems on electronic structure, you may consider choosing "gpaw 
>>> dataset" (it may be the reason why you develop this new version) and 
>>> releasing a new version of setups; and keep "gpaw-setup" for 
>>> compatibility.
>>>
>>
>> Yes, that is the plan.
>>
>>
>>> Then, I have a question regarding how to call "gpaw dataset" in 
>>> python file. We can call "gpaw-setup" through "from gpaw.test import 
>>> gen".  Is there a similar way to call "gpaw dataset"?
>>>
>>
>> It's not so simple at the moment.  See here:
>>
>>
>> https://gitlab.com/gpaw/gpaw/blob/master/gpaw/test/corehole/h2o.py#L11
>>
>>
>> or just use subprocess.run('gpaw dataset ...', shell=True).
>>
>>
>> Jens Jørgen
>>
>>
>>> Regards,
>>> Zhenhua
>>>>
>>>>> The reason I want to know is that I still need to use 'gpaw-setup' 
>>>>> to generate correct setups with coreholes. If I use "gpaw dateset" 
>>>>> to do so (gpaw -dataset Fe -f PBE  -s -w --core-hole=1s,0.0), there 
>>>>> is no eigenvalue for 1s orbital, i.e. <core_hole_state state="1s" 
>>>>> removed="0.0" eig="None" ekin="None">, which would raise error 
>>>>> during XAS simulation.
>>>>>
>>>>> Also, it seems that we actually use gpaw-setup to generate setup 
>>>>> when we use gpaw/test/gen to generate setup.
>>>>>
>>>>> Another question, for gpaw-setup, the maximum x axis is 1 Ha for 
>>>>> the logarithmic-derivatives. I wonder whether (how) we can increase 
>>>>> the value.
>>>>>
>>>>
>>>> You will have edit the code.
>>>>
>>>>
>>>> Jens Jørgen
>>>>
>>>>
>>>>> Thanks!
>>>>>
>>>>> Zhenhua
>>>>>
>>>>>
>>>>>>> As I mentioned in the last email, the other 3d elements have 
>>>>>>> similar ghost states at deep energy level, which may cause 
>>>>>>> problems of the electronic structure.
>>>>>>>
>>>>>>> The ghost state disappears if 3p semi-core electrons have been 
>>>>>>> treated as the valance electrons.
>>>>>>>
>>>>>>> Zhenhua
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>>> Zhenhua
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>> We have tried to generate setups with semi-core 3p electrons 
>>>>>>>>>>>> as valence electrons, but the DOS problem is basically the 
>>>>>>>>>>>> same. In addition, the eigenvalue of extra p orbital is very 
>>>>>>>>>>>> strange, i.e. -1.206685 Ha (see the output below), much 
>>>>>>>>>>>> lower than the occupied 4s and 3d orbital of Fe. Co setup 
>>>>>>>>>>>> with semi-core 3p electrons has the similar problem.
>>>>>>>>>>>>
>>>>>>>>>>>> state    eigenvalue         norm
>>>>>>>>>>>> --------------------------------
>>>>>>>>>>>> 4s(2) :    -0.194442     1.026987
>>>>>>>>>>>> *s    :     0.805558
>>>>>>>>>>>> 3p(6) :    -2.206685     0.176504
>>>>>>>>>>>> *p    :    -1.206685
>>>>>>>>>>>> 3d(6) :    -0.275800     0.338894
>>>>>>>>>>>> *d    :     0.724200
>>>>>>>>>>>> --------------------------------
>>>>>>>>>>>>
>>>>>>>>>>>> I wonder what the problems are for the setups.
>>>>>>>>>>>>
>>>>>>>>>>>> Thanks!
>>>>>>>>>>>> Zhenhua 
>>>>>>>>>>>
>>>>>>>>>>> _______________________________________________
>>>>>>>>>>> gpaw-users mailing list
>>>>>>>>>>> gpaw-users at listserv.fysik.dtu.dk
>>>>>>>>>>> https://listserv.fysik.dtu.dk/mailman/listinfo/gpaw-users



More information about the gpaw-users mailing list