@@ -80,7 +80,9 @@ void XC_Functional::gcxc(const double &rho, const double &grho, double &sxc,
8080 case XC_HYB_GGA_XC_PBEH: // PBE0
8181 double sx, v1x, v2x, sc, v1c, v2c;
8282 XC_Functional::pbex (rho, grho, 0 , sx, v1x, v2x);
83- sx *= 0.75 ; v1x *= 0.75 ; v2x *= 0.75 ;
83+ sx *= (1.0 - XC_Functional::hybrid_alpha);
84+ v1x *= (1.0 - XC_Functional::hybrid_alpha);
85+ v2x *= (1.0 - XC_Functional::hybrid_alpha);
8486 XC_Functional::pbec (rho, grho, 0 , sc, v1c, v2c);
8587 s = sx + sc;
8688 v1 = v1x + v1c;
@@ -179,12 +181,16 @@ void XC_Functional::gcx_spin(double rhoup, double rhodw, double grhoup2, double
179181 if (rhoup > small && sqrt (fabs (grhoup2)) > small)
180182 {
181183 XC_Functional::pbex (2.0 * rhoup, 4.0 * grhoup2, 0 , sxup, v1xup, v2xup);
182- sxup *= 0.75 ; v1xup *= 0.75 ; v2xup *= 0.75 ;
184+ sxup *= (1.0 - XC_Functional::hybrid_alpha);
185+ v1xup *= (1.0 - XC_Functional::hybrid_alpha);
186+ v2xup *= (1.0 - XC_Functional::hybrid_alpha);
183187 }
184188 if (rhodw > small && sqrt (fabs (grhodw2)) > small)
185189 {
186190 XC_Functional::pbex (2.0 * rhodw, 4.0 * grhodw2, 0 , sxdw, v1xdw, v2xdw);
187- sxdw *= 0.75 ; v1xdw *= 0.75 ; v2xdw *= 0.75 ;
191+ sxdw *= (1.0 - XC_Functional::hybrid_alpha);
192+ v1xdw *= (1.0 - XC_Functional::hybrid_alpha);
193+ v2xdw *= (1.0 - XC_Functional::hybrid_alpha);
188194 }
189195 break ;
190196 case XC_GGA_X_PBE_SOL: // PBXsol
0 commit comments