promote constants to double to avoid float/double conversions
This commit is contained in:
@ -376,7 +376,7 @@ void PairDispersionD3::calc_coordination_number()
|
|||||||
|
|
||||||
double rr = sqrt(rsq);
|
double rr = sqrt(rsq);
|
||||||
double rcov_ij = (rcov[itype] + rcov[jtype]) * autoang;
|
double rcov_ij = (rcov[itype] + rcov[jtype]) * autoang;
|
||||||
double cn_ij = 1.0f / (1.0f + expf(-K1 * ((rcov_ij / rr) - 1.0f)));
|
double cn_ij = 1.0 / (1.0 + expf(-K1 * ((rcov_ij / rr) - 1.0)));
|
||||||
|
|
||||||
// update coordination number
|
// update coordination number
|
||||||
cn[i] += cn_ij;
|
cn[i] += cn_ij;
|
||||||
@ -403,7 +403,7 @@ double *PairDispersionD3::get_dC6(int iat, int jat, double cni, double cnj)
|
|||||||
double expterm, term;
|
double expterm, term;
|
||||||
double num, den, d_num_i, d_num_j, d_den_i, d_den_j;
|
double num, den, d_num_i, d_num_j, d_den_i, d_den_j;
|
||||||
|
|
||||||
c6mem = -1.0e20f, r_save = 1.0e20f;
|
c6mem = -1.0e20, r_save = 1.0e20;
|
||||||
num = 0;
|
num = 0;
|
||||||
den = 0;
|
den = 0;
|
||||||
d_num_i = 0;
|
d_num_i = 0;
|
||||||
@ -509,7 +509,7 @@ void PairDispersionD3::compute(int eflag, int vflag)
|
|||||||
if (rsq < cutsq[type[i]][type[j]]) {
|
if (rsq < cutsq[type[i]][type[j]]) {
|
||||||
|
|
||||||
double r = sqrt(rsq);
|
double r = sqrt(rsq);
|
||||||
double r2inv = 1.0f / rsq;
|
double r2inv = 1.0 / rsq;
|
||||||
double r6inv = r2inv * r2inv * r2inv;
|
double r6inv = r2inv * r2inv * r2inv;
|
||||||
double r8inv = r2inv * r2inv * r2inv * r2inv;
|
double r8inv = r2inv * r2inv * r2inv * r2inv;
|
||||||
double r10inv = r2inv * r2inv * r2inv * r2inv * r2inv;
|
double r10inv = r2inv * r2inv * r2inv * r2inv * r2inv;
|
||||||
@ -533,9 +533,9 @@ void PairDispersionD3::compute(int eflag, int vflag)
|
|||||||
double r0 = r / r0ab[type[i]][type[j]];
|
double r0 = r / r0ab[type[i]][type[j]];
|
||||||
|
|
||||||
t6 = pow(rs6 / r0, alpha6);
|
t6 = pow(rs6 / r0, alpha6);
|
||||||
damp6 = 1.0f / (1.0f + 6.0f * t6);
|
damp6 = 1.0 / (1.0 + 6.0 * t6);
|
||||||
t8 = pow(rs8 / r0, alpha8);
|
t8 = pow(rs8 / r0, alpha8);
|
||||||
damp8 = 1.0f / (1.0f + 6.0f * t8);
|
damp8 = 1.0 / (1.0 + 6.0 * t8);
|
||||||
|
|
||||||
e6 = C6 * damp6 * r6inv;
|
e6 = C6 * damp6 * r6inv;
|
||||||
e8 = C8 * damp8 * r8inv;
|
e8 = C8 * damp8 * r8inv;
|
||||||
@ -544,7 +544,7 @@ void PairDispersionD3::compute(int eflag, int vflag)
|
|||||||
tmp8 = 8 * s8 * C8 * r10inv * damp8;
|
tmp8 = 8 * s8 * C8 * r10inv * damp8;
|
||||||
|
|
||||||
fpair1 = -tmp6 - tmp8;
|
fpair1 = -tmp6 - tmp8;
|
||||||
fpair2 = tmp6 * alpha6 * t6 * damp6 + (3.0f / 4) * tmp8 * alpha8 * t8 * damp8;
|
fpair2 = tmp6 * alpha6 * t6 * damp6 + (3.0 / 4.0) * tmp8 * alpha8 * t8 * damp8;
|
||||||
|
|
||||||
fpair = fpair1 + fpair2;
|
fpair = fpair1 + fpair2;
|
||||||
fpair *= factor_lj;
|
fpair *= factor_lj;
|
||||||
@ -555,9 +555,9 @@ void PairDispersionD3::compute(int eflag, int vflag)
|
|||||||
double r0 = r0ab[type[i]][type[j]];
|
double r0 = r0ab[type[i]][type[j]];
|
||||||
|
|
||||||
t6 = pow((r / (rs6 * r0)) + rs8 * r0, -alpha6);
|
t6 = pow((r / (rs6 * r0)) + rs8 * r0, -alpha6);
|
||||||
damp6 = 1.0f / (1.0f + 6.0f * t6);
|
damp6 = 1.0 / (1.0 + 6.0 * t6);
|
||||||
t8 = pow((r / r0) + rs8 * r0, -alpha8);
|
t8 = pow((r / r0) + rs8 * r0, -alpha8);
|
||||||
damp8 = 1.0f / (1.0f + 6.0f * t8);
|
damp8 = 1.0 / (1.0 + 6.0 * t8);
|
||||||
|
|
||||||
e6 = C6 * damp6 * r6inv;
|
e6 = C6 * damp6 * r6inv;
|
||||||
e8 = C8 * damp8 * r8inv;
|
e8 = C8 * damp8 * r8inv;
|
||||||
@ -570,7 +570,7 @@ void PairDispersionD3::compute(int eflag, int vflag)
|
|||||||
double fp26 = tmp6 * alpha6 * t6 * damp6 * r / (r + rs6 * rs8 * r0 * r0);
|
double fp26 = tmp6 * alpha6 * t6 * damp6 * r / (r + rs6 * rs8 * r0 * r0);
|
||||||
double fp28 = tmp8 * alpha8 * t8 * damp8 * r / (r + rs8 * r0 * r0);
|
double fp28 = tmp8 * alpha8 * t8 * damp8 * r / (r + rs8 * r0 * r0);
|
||||||
|
|
||||||
fpair2 = fp26 + (3.0f / 4) * fp28;
|
fpair2 = fp26 + (3.0 / 4.0) * fp28;
|
||||||
|
|
||||||
fpair = fpair1 + fpair2;
|
fpair = fpair1 + fpair2;
|
||||||
fpair *= factor_lj;
|
fpair *= factor_lj;
|
||||||
|
|||||||
Reference in New Issue
Block a user