[Pw_forum] A possible bug in epsilon.f90

Marton vormar at gmail.com
Wed Feb 8 05:29:39 CET 2017


Thanks, indeed! Apparently, I only used epsilon.x with nspin=1 :) I agree
that your suggestion fixes the nspin=2 case but I think it does not cover
the nspin=4 case, so I believe the check on the bands from PW/src/setup.f90
would be more general:

  USE constants, ONLY : degspin

...

     IF ( nbnd <= NINT( nelec / degspin ) ) &
        CALL errore( 'epsilon', 'too few bands', 1 )
     IF ( nbnd <= NINT( nelec ) .AND. nspin==4 ) &
        CALL errore( 'epsilon', 'too few bands', 1 )

degspin is set to 2 in Modules/constants.f90 and I guess it is recommended
to use for clarity. I'm not sure whether testing for nspin==4 or noncolin
is favored by the developers.

Marton

On Tue, Feb 7, 2017 at 11:45 AM, Jia Chen <jiachenchem at gmail.com> wrote:

> Dear Marton Voros,
>
> I attached a simple example to this email. And epsilon calculation ended
> with "bad band number" error. QE version is 6.0.
>
> Cheers
>
> On Tue, Feb 7, 2017 at 10:48 AM, Marton <vormar at gmail.com> wrote:
>
>> Can you please be more specific? Do you have an example that you expect
>> to work but has problems?
>>
>> Marton
>>
>> On Feb 6, 2017 11:09 PM, "Jia Chen" <jiachenchem at gmail.com> wrote:
>>
>>> Hi Marton,
>>>
>>> Yes, I am aware of that. I think there is a issue with nspin=2, nspin=1
>>> is totally fine.
>>>
>>> On Mon, Feb 6, 2017 at 11:15 PM, Marton <vormar at gmail.com> wrote:
>>>
>>>> Hi Jia,
>>>>
>>>> I don't think there is a bug there. If you go a few lines above in the
>>>> same file, you find, for example:
>>>>
>>>>  IF ( nspin == 1) full_occ = 2.0d0
>>>>
>>>> which means that full_occ takes care of the occupations.
>>>>
>>>> HTH
>>>>
>>>> Marton Voros
>>>>
>>>> --
>>>> Aneesur Rahman Fellow
>>>> Materials Science Division
>>>> Argonne National Laboratory
>>>>
>>>>
>>>> On Mon, Feb 6, 2017 at 3:27 PM, Jia Chen <jiachenchem at gmail.com> wrote:
>>>>
>>>>> Dear All,
>>>>>
>>>>> I am suspicious that a bud exit in epsilon.f90 qe-6.0. The check of
>>>>> nbnd:
>>>>> =======================================================
>>>>> IF ( REAL(nbnd,DP)*full_occ <= nelec ) CALL errore('epsilon', 'bad
>>>>> band number', 1)
>>>>> =======================================================
>>>>> I think it should be:
>>>>> REAL(nbnd,DP)*full_occ <= nelec/2.0
>>>>>
>>>>> Let me know if I missed something...
>>>>>
>>>>> Cheers
>>>>> Jia
>>>>>
>>>>> _______________________________________________
>>>>> Pw_forum mailing list
>>>>> Pw_forum at pwscf.org
>>>>> http://pwscf.org/mailman/listinfo/pw_forum
>>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Pw_forum mailing list
>>>> Pw_forum at pwscf.org
>>>> http://pwscf.org/mailman/listinfo/pw_forum
>>>>
>>>
>>>
>>> _______________________________________________
>>> Pw_forum mailing list
>>> Pw_forum at pwscf.org
>>> http://pwscf.org/mailman/listinfo/pw_forum
>>>
>>
>> _______________________________________________
>> Pw_forum mailing list
>> Pw_forum at pwscf.org
>> http://pwscf.org/mailman/listinfo/pw_forum
>>
>
>
> _______________________________________________
> Pw_forum mailing list
> Pw_forum at pwscf.org
> http://pwscf.org/mailman/listinfo/pw_forum
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quantum-espresso.org/pipermail/users/attachments/20170207/f5d60fd8/attachment.html>


More information about the users mailing list