[gpaw-users] GPAW PW crashes if ecut is too high

Jens Jørgen Mortensen jensj at fysik.dtu.dk
Thu Sep 5 08:42:42 CEST 2013


Den 02-09-2013 20:21, Rasmus Karlsson skrev:
> Hi Marcin!
>
> I see... Do you know of any way to get around this problem that does 
> not require me to set really low grid spacings (I had to go to h=0.10 
> Å, which will probably be quite time consuming)? The problem is of 
> course that I want the ability to optimize cell size and atomic 
> positions at the same time, which is hard to manage without 
> UnitCellFilter. I could of course just scale the volume of the cell to 
> a couple of point and fit an EOS, but for this system I'm not sure the 
> cell angles will stay exactly the same after relaxation. I guess the 
> problem lies in how GPAW creates its grids in these kinds of cells, so 
> it's not a matter of using some other ASE optimizer instead?
>
> In any case, if the only solution is running with h=0.10 Å, that's 
> what I'll do.

The best solution right now is to choose the unit cell vectors so that 
the angles between them are closer to 90 degrees - that would cure the 
problem (choose the third axis as a1+a3 or something like that).

Ideally, GPAW should be able to handle such strange cells, but I will 
not have time to fix it right now.  Let me know If anyone wants to dig 
into the PW code and help fix the problem.

Jens Jørgen


>
> Thanks!
>
> Rasmus
>
> On 09/02/2013 12:58 AM, Marcin Dulak wrote:
>> Hi,
>>
>> On 09/01/2013 12:26 AM, Rasmus Karlsson wrote:
>>> Hi!
>>> I just tried starting a PW calculation for relaxation of a unit cell 
>>> of CmC2_1 space group. However, GPAW immediately crashes with
>>> ../gpaw/wavefunctions/pw.py", line 37, in __init__
>>>     assert ((gd.h_cv**2).sum(1) <= 0.5 * pi**2 / ecut).all()
>> this is a known problem with skewed cells:
>> https://listserv.fysik.dtu.dk/pipermail/gpaw-developers/2012-May/002870.html 
>>
>> You need to set h manually (in addition to PW) to a very small value.
>>
>> Best regards,
>>
>> Marcin
>>>
>>> If running through with pdb, (gd.h_cv**2).sum(1) is
>>> array([ 0.05550866,  0.25919729,  0.25919729])
>>> and
>>> 0.5*pi**2/ecut is
>>> 0.22380475860123122
>>> Obviously, the second and third item in the array is too big. 
>>> Reducing the cutoff from 600 eV to 500 eV makes it work. This is 
>>> somewhat strange.
>>>
>>> gd.h_cv is
>>> array([[  2.35602765e-01,   0.00000000e+00,   0.00000000e+00],
>>>        [  3.11742550e-17,   5.09114220e-01,   0.00000000e+00],
>>>        [  3.11742550e-17,  -4.50356897e-01, 2.37436210e-01]])
>>>
>>> Can anyone comment on what is going on? Am I doing something wrong, 
>>> or is GPAW behaving strangely?
>>>
>>> The calculation was run with v. 0.9.1.10258
>>>
>>> Thanks,
>>> Rasmus
>>>
>>
>>
>



More information about the gpaw-users mailing list