[QE-developers] TR: Bugs in cp.x from QE 7.2 affecting stresses calculated with US pseudos and CG

Paolo Giannozzi paolo.giannozzi at uniud.it
Mon Oct 14 16:24:40 CEST 2024


I see.. I think that this patch is all you need (if not, please let us 
know):

https://gitlab.com/QEF/q-e/-/merge_requests/2456/diffs?commit_id=9c248b800a5f51953ff5046f53c02f034f799df5

> the sysadmins of the other 2 clusters I use don't want to make arbitrary 
> changes without an official patch since there are other users of QE

The above patch is 100% safe

> as the rest of the world is so apt to point out, I apparently don't have 
> a clue. 

being able to delve into a large and obscurely written piece of code and 
to locate a problem makes you less clueless than the vast majority of 
the QE users (and maybe also of some of the developers)

> ii) It probably isn't that important, but moving the call "if ( tstress 
> ) CALL nlfh( stress, bec_bgrp, dbec, lambda, idesc )" to just after dbec 
> is  calculated "if ( tstress ) CALL caldbec_bgrp( eigr, cm_bgrp, dbec, 
> idesc )" about 15 lines below seems like a good idea if only to avoid 
> random crap in the stress matrix on the first pass.

I am not sure that there aren't undesired side effects, though. Note 
that the second call makes reference to the "lambda" variable (it 
contains the matrix of Lagrange multipliers from orthogonality constraints).

Thank you for reporting this

Paolo

> 
> 
> 
> ------------------------------------------------------------------------
> *De :* Paolo Giannozzi <paolo.giannozzi at uniud.it>
> *Envoyé :* samedi 12 octobre 2024 10:53
> *À :* RABONE Jeremy
> *Cc :* General discussion list for Quantum ESPRESSO developers
> *Objet :* Re: [QE-developers] TR: Bugs in cp.x from QE 7.2 affecting 
> stresses calculated with US pseudos and CG
> Thank you for reporting.
> 
> i) nkb and nhsa are actually the same variable. Not sure what "nrcx" is,
> but in any case, the called routine is in a module so one can just write
>      real(dp) :: dbec(:,:,:,:)
> and stop worrying about the correctness of the
> 
> ii) almost no code is executed for CG calculations (tcg=.true.) in
> from_scra.f90; for tcg=.false., the needed call is present, it seems to
> me. What did you change exactly?
> 
> iii) Is stress working after your changes? can you provide a simple example?
> 
> Paolo
> 
> On 04/10/2024 09:41, RABONE Jeremy wrote:
>> 
>> ------------------------------------------------------------------------
>> *De :* RABONE Jeremy
>> *Envoyé :* jeudi 3 octobre 2024 13:04
>> *À :* users at lists.quantum-espresso.org
>> *Objet :* Bugs in cp.x from QE 7.2 affecting stresses calculated with US 
>> pseudos and CG
>> 
>> Hello,
>> 
>>    I have been getting some weird stress values in MD calculations using 
>> cp.x from QE 7.2 with ultrasoft pseudopotentials and after some 
>> rummaging I have found a couple of bugs:
>> 
>>      i) The dbec array gets inadvertantly altered through the call to 
>> cg_sub.f90 where is is assigned a different size "real(dp) :: dbec(nkb, 
>> nbspx, 3, 3)" than initially allocated in mainvar.f90 
>> "ALLOCATE( dbec( nhsa, 2*nrcx, 3, 3 ), STAT=ierr )". The upshot of this 
>> is that the values of dbec get jumbled and the resulting stress tensor 
>> is messed up (and physically nonsensical). Also, since dbec is not 
>> zeroed and the initially allocated size does not seem to correspond to 
>> the used size, this also has the effect of introducing random values 
>> into the stress tensor, although zeroing dbec after the allocation in 
>> mainvar.f90 fixes this.
>> 
>>     ii) In fromscra.f90 the constraints contribution to the stress is 
>> calculated "if ( tstress ) CALL nlfh( stress, bec_bgrp, dbec, lambda, 
>> idesc )" before the dbec array has been calculated "if ( tstress ) CALL 
>> caldbec_bgrp( eigr, cm_bgrp, dbec, idesc )".
>> 
>> 
>> Kind regards,
>> 
>> Jeremy
>> 
>> 
>> ________________________________________________
>> The Quantum ESPRESSO community stands by the Ukrainian people
>>   and expresses its concerns about the devastating effects that
>> the Russian military offensive has on their country and on the
>> free and peaceful scientific, cultural, and economic cooperation
>> amongst peoples.
>> _______________________________________________
>> developers mailing list
>> developers at lists.quantum-espresso.org
>> https://lists.quantum-espresso.org/mailman/listinfo/developers 
> <https://lists.quantum-espresso.org/mailman/listinfo/developers>
> 
> -- 
> Paolo Giannozzi, Dip. Scienze Matematiche Informatiche e Fisiche,
> Univ. Udine, via delle Scienze 206, 33100 Udine Italy, +39-0432-558216
> 

-- 
Paolo Giannozzi, Dip. Scienze Matematiche Informatiche e Fisiche,
Univ. Udine, via delle Scienze 206, 33100 Udine Italy, +39-0432-558216


More information about the developers mailing list