<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Helvetica,sans-serif;" dir="ltr">
<p><br>
</p>
<p>Sorry, sent this to the users list instead of the developers list.</p>
<p><br>
</p>
<br>
<div style="color: rgb(0, 0, 0);">
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="divRplyFwdMsg" dir="ltr"><font style="font-size:11pt" face="Calibri, sans-serif" color="#000000"><b>De :</b> RABONE Jeremy<br>
<b>Envoyé :</b> jeudi 3 octobre 2024 13:04<br>
<b>À :</b> users@lists.quantum-espresso.org<br>
<b>Objet :</b> Bugs in cp.x from QE 7.2 affecting stresses calculated with US pseudos and CG</font>
<div> </div>
</div>
<div>
<div id="divtagdefaultwrapper" dir="ltr" style="font-size:12pt; color:#000000; font-family:Calibri,Helvetica,sans-serif">
<p></p>
<div>Hello,<br>
<br>
  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:<br>
<br>
    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.
<br>
<br>
   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 )".<br>
<br>
<br>
Kind regards,<br>
<br>
Jeremy</div>
<br>
<p></p>
</div>
</div>
</div>
</div>
</body>
</html>