diff --git a/lib/gpu/lal_preprocessor.h b/lib/gpu/lal_preprocessor.h index 483e681a7a..b3243c3b2e 100644 --- a/lib/gpu/lal_preprocessor.h +++ b/lib/gpu/lal_preprocessor.h @@ -101,6 +101,7 @@ #if defined(NV_KERNEL) || defined(USE_HIP) #include "lal_pre_cuda_hip.h" +#define ucl_pow pow #endif // ------------------------------------------------------------------------- diff --git a/lib/gpu/lal_tersoff_extra.h b/lib/gpu/lal_tersoff_extra.h index 87b00bd6f1..c205eff3de 100644 --- a/lib/gpu/lal_tersoff_extra.h +++ b/lib/gpu/lal_tersoff_extra.h @@ -90,10 +90,10 @@ ucl_inline void costheta_d(const numtyp cos_theta, numtyp drk[3]) { // first element is derivative wrt Ri, second wrt Rj, third wrt Rk - vec3_scaleadd(-cos_theta,rij_hat,rik_hat,drj); - vec3_scale(ucl_recip(rij),drj,drj); - vec3_scaleadd(-cos_theta,rik_hat,rij_hat,drk); - vec3_scale(ucl_recip(rik),drk,drk); + vec3_scaleadd(-cos_theta,(numtyp *)rij_hat,(numtyp *)rik_hat,drj); + vec3_scale(ucl_recip(rij),(numtyp *)drj,drj); + vec3_scaleadd(-cos_theta,(numtyp *)rik_hat,(numtyp *)rij_hat,drk); + vec3_scale(ucl_recip(rik),(numtyp *)drk,drk); vec3_add(drj,drk,dri); vec3_scale((numtyp)-1.0,dri,dri); } @@ -240,10 +240,10 @@ ucl_inline void ters_zetaterm_d(const numtyp prefactor, // dri += fc*gijk_d*ex_delr*dcosdri; // dri += fc*gijk*ex_delr_d*(rik_hat - rij_hat); - vec3_scale(-dfc*gijk*ex_delr,rik_hat,dri); + vec3_scale(-dfc*gijk*ex_delr,(numtyp *)rik_hat,dri); vec3_scaleadd(fc*gijk_d*ex_delr,dcosdri,dri,dri); - vec3_scaleadd(fc*gijk*ex_delr_d,rik_hat,dri,dri); - vec3_scaleadd(-fc*gijk*ex_delr_d,rij_hat,dri,dri); + vec3_scaleadd(fc*gijk*ex_delr_d,(numtyp *)rik_hat,dri,dri); + vec3_scaleadd(-fc*gijk*ex_delr_d,(numtyp *)rij_hat,dri,dri); vec3_scale(prefactor,dri,dri); // compute the derivative wrt Rj @@ -251,7 +251,7 @@ ucl_inline void ters_zetaterm_d(const numtyp prefactor, // drj += fc*gijk*ex_delr_d*rij_hat; vec3_scale(fc*gijk_d*ex_delr,dcosdrj,drj); - vec3_scaleadd(fc*gijk*ex_delr_d,rij_hat,drj,drj); + vec3_scaleadd(fc*gijk*ex_delr_d,(numtyp *)rij_hat,drj,drj); vec3_scale(prefactor,drj,drj); // compute the derivative wrt Rk @@ -259,9 +259,9 @@ ucl_inline void ters_zetaterm_d(const numtyp prefactor, // drk += fc*gijk_d*ex_delr*dcosdrk; // drk += -fc*gijk*ex_delr_d*rik_hat; - vec3_scale(dfc*gijk*ex_delr,rik_hat,drk); - vec3_scaleadd(fc*gijk_d*ex_delr,dcosdrk,drk,drk); - vec3_scaleadd(-fc*gijk*ex_delr_d,rik_hat,drk,drk); + vec3_scale(dfc*gijk*ex_delr,(numtyp *)rik_hat,drk); + vec3_scaleadd(fc*gijk_d*ex_delr,(numtyp *)dcosdrk,drk,drk); + vec3_scaleadd(-fc*gijk*ex_delr_d,(numtyp *)rik_hat,drk,drk); vec3_scale(prefactor,drk,drk); } @@ -306,10 +306,10 @@ ucl_inline void ters_zetaterm_d_fi(const numtyp prefactor, // dri += fc*gijk_d*ex_delr*dcosdri; // dri += fc*gijk*ex_delr_d*(rik_hat - rij_hat); - vec3_scale(-dfc*gijk*ex_delr,rik_hat,dri); + vec3_scale(-dfc*gijk*ex_delr,(numtyp *)rik_hat,dri); vec3_scaleadd(fc*gijk_d*ex_delr,dcosdri,dri,dri); - vec3_scaleadd(fc*gijk*ex_delr_d,rik_hat,dri,dri); - vec3_scaleadd(-fc*gijk*ex_delr_d,rij_hat,dri,dri); + vec3_scaleadd(fc*gijk*ex_delr_d,(numtyp *)rik_hat,dri,dri); + vec3_scaleadd(-fc*gijk*ex_delr_d,(numtyp *)rij_hat,dri,dri); vec3_scale(prefactor,dri,dri); } @@ -354,7 +354,7 @@ ucl_inline void ters_zetaterm_d_fj(const numtyp prefactor, // drj += fc*gijk*ex_delr_d*rij_hat; vec3_scale(fc*gijk_d*ex_delr,dcosdrj,drj); - vec3_scaleadd(fc*gijk*ex_delr_d,rij_hat,drj,drj); + vec3_scaleadd(fc*gijk*ex_delr_d,(numtyp *)rij_hat,drj,drj); vec3_scale(prefactor,drj,drj); } @@ -399,9 +399,9 @@ ucl_inline void ters_zetaterm_d_fk(const numtyp prefactor, // drk += fc*gijk_d*ex_delr*dcosdrk; // drk += -fc*gijk*ex_delr_d*rik_hat; - vec3_scale(dfc*gijk*ex_delr,rik_hat,drk); + vec3_scale(dfc*gijk*ex_delr,(numtyp *)rik_hat,drk); vec3_scaleadd(fc*gijk_d*ex_delr,dcosdrk,drk,drk); - vec3_scaleadd(-fc*gijk*ex_delr_d,rik_hat,drk,drk); + vec3_scaleadd(-fc*gijk*ex_delr_d,(numtyp *)rik_hat,drk,drk); vec3_scale(prefactor,drk,drk); } @@ -511,8 +511,8 @@ ucl_inline void attractive(const numtyp param_bigr, numtyp fk[3]) { numtyp rij_hat[3],rik_hat[3]; - vec3_scale(rijinv,delrij,rij_hat); - vec3_scale(rikinv,delrik,rik_hat); + vec3_scale(rijinv,(numtyp *)delrij,rij_hat); + vec3_scale(rikinv,(numtyp *)delrik,rik_hat); ters_zetaterm_d(prefactor,rij_hat,rij,rik_hat,rik, param_bigr, param_bigd, param_powermint, param_lam3, param_c, param_d, param_h, param_gamma, fi, fj, fk); @@ -536,8 +536,8 @@ ucl_inline void attractive_fi(const numtyp param_bigr, numtyp fi[3]) { numtyp rij_hat[3],rik_hat[3]; - vec3_scale(rijinv,delrij,rij_hat); - vec3_scale(rikinv,delrik,rik_hat); + vec3_scale(rijinv,(numtyp *)delrij,rij_hat); + vec3_scale(rikinv,(numtyp *)delrik,rik_hat); ters_zetaterm_d_fi(prefactor,rij_hat,rij,rik_hat,rik, param_bigr, param_bigd, param_powermint, param_lam3, param_c, param_d, param_h, param_gamma, fi); @@ -561,8 +561,8 @@ ucl_inline void attractive_fj(const numtyp param_bigr, numtyp fj[3]) { numtyp rij_hat[3],rik_hat[3]; - vec3_scale(rijinv,delrij,rij_hat); - vec3_scale(rikinv,delrik,rik_hat); + vec3_scale(rijinv,(numtyp *)delrij,rij_hat); + vec3_scale(rikinv,(numtyp *)delrik,rik_hat); ters_zetaterm_d_fj(prefactor,rij_hat,rij,rik_hat,rik, param_bigr, param_bigd, param_powermint, param_lam3, param_c, param_d, param_h, param_gamma, fj); @@ -586,8 +586,8 @@ ucl_inline void attractive_fk(const numtyp param_bigr, numtyp fk[3]) { numtyp rij_hat[3],rik_hat[3]; - vec3_scale(rijinv,delrij,rij_hat); - vec3_scale(rikinv,delrik,rik_hat); + vec3_scale(rijinv,(numtyp *)delrij,rij_hat); + vec3_scale(rikinv,(numtyp *)delrik,rik_hat); ters_zetaterm_d_fk(prefactor,rij_hat,rij,rik_hat,rik, param_bigr, param_bigd, param_powermint, param_lam3, param_c, param_d, param_h, param_gamma, fk); diff --git a/lib/gpu/lal_tersoff_mod_extra.h b/lib/gpu/lal_tersoff_mod_extra.h index abf9e5dcd0..ac4ffaaf6a 100644 --- a/lib/gpu/lal_tersoff_mod_extra.h +++ b/lib/gpu/lal_tersoff_mod_extra.h @@ -94,9 +94,9 @@ ucl_inline void costheta_d(const numtyp rij_hat[3], numtyp cos_theta = vec3_dot(rij_hat,rik_hat); - vec3_scaleadd(-cos_theta,rij_hat,rik_hat,drj); + vec3_scaleadd(-cos_theta,(numtyp *)rij_hat,(numtyp *)rik_hat,drj); vec3_scale(ucl_recip(rij),drj,drj); - vec3_scaleadd(-cos_theta,rik_hat,rij_hat,drk); + vec3_scaleadd(-cos_theta,(numtyp *)rik_hat,rij_hat,drk); vec3_scale(ucl_recip(rik),drk,drk); vec3_add(drj,drk,dri); vec3_scale((numtyp)-1.0,dri,dri); @@ -240,10 +240,10 @@ ucl_inline void ters_zetaterm_d(const numtyp prefactor, // dri += fc*gijk_d*ex_delr*dcosdri; // dri += fc*gijk*ex_delr_d*(rik_hat - rij_hat); - vec3_scale(-dfc*gijk*ex_delr,rik_hat,dri); + vec3_scale(-dfc*gijk*ex_delr,(numtyp *)rik_hat,dri); vec3_scaleadd(fc*gijk_d*ex_delr,dcosdri,dri,dri); - vec3_scaleadd(fc*gijk*ex_delr_d,rik_hat,dri,dri); - vec3_scaleadd(-fc*gijk*ex_delr_d,rij_hat,dri,dri); + vec3_scaleadd(fc*gijk*ex_delr_d,(numtyp *)rik_hat,dri,dri); + vec3_scaleadd(-fc*gijk*ex_delr_d,(numtyp *)rij_hat,dri,dri); vec3_scale(prefactor,dri,dri); // compute the derivative wrt Rj @@ -251,7 +251,7 @@ ucl_inline void ters_zetaterm_d(const numtyp prefactor, // drj += fc*gijk*ex_delr_d*rij_hat; vec3_scale(fc*gijk_d*ex_delr,dcosdrj,drj); - vec3_scaleadd(fc*gijk*ex_delr_d,rij_hat,drj,drj); + vec3_scaleadd(fc*gijk*ex_delr_d,(numtyp *)rij_hat,drj,drj); vec3_scale(prefactor,drj,drj); // compute the derivative wrt Rk @@ -259,9 +259,9 @@ ucl_inline void ters_zetaterm_d(const numtyp prefactor, // drk += fc*gijk_d*ex_delr*dcosdrk; // drk += -fc*gijk*ex_delr_d*rik_hat; - vec3_scale(dfc*gijk*ex_delr,rik_hat,drk); + vec3_scale(dfc*gijk*ex_delr,(numtyp *)rik_hat,drk); vec3_scaleadd(fc*gijk_d*ex_delr,dcosdrk,drk,drk); - vec3_scaleadd(-fc*gijk*ex_delr_d,rik_hat,drk,drk); + vec3_scaleadd(-fc*gijk*ex_delr_d,(numtyp *)rik_hat,drk,drk); vec3_scale(prefactor,drk,drk); } @@ -310,10 +310,10 @@ ucl_inline void ters_zetaterm_d_fi(const numtyp prefactor, // dri += fc*gijk_d*ex_delr*dcosdri; // dri += fc*gijk*ex_delr_d*(rik_hat - rij_hat); - vec3_scale(-dfc*gijk*ex_delr,rik_hat,dri); + vec3_scale(-dfc*gijk*ex_delr,(numtyp *)rik_hat,dri); vec3_scaleadd(fc*gijk_d*ex_delr,dcosdri,dri,dri); - vec3_scaleadd(fc*gijk*ex_delr_d,rik_hat,dri,dri); - vec3_scaleadd(-fc*gijk*ex_delr_d,rij_hat,dri,dri); + vec3_scaleadd(fc*gijk*ex_delr_d,(numtyp *)rik_hat,dri,dri); + vec3_scaleadd(-fc*gijk*ex_delr_d,(numtyp *)rij_hat,dri,dri); vec3_scale(prefactor,dri,dri); } @@ -361,7 +361,7 @@ ucl_inline void ters_zetaterm_d_fj(const numtyp prefactor, // drj += fc*gijk*ex_delr_d*rij_hat; vec3_scale(fc*gijk_d*ex_delr,dcosdrj,drj); - vec3_scaleadd(fc*gijk*ex_delr_d,rij_hat,drj,drj); + vec3_scaleadd(fc*gijk*ex_delr_d,(numtyp *)rij_hat,drj,drj); vec3_scale(prefactor,drj,drj); } @@ -410,9 +410,9 @@ ucl_inline void ters_zetaterm_d_fk(const numtyp prefactor, // drk += fc*gijk_d*ex_delr*dcosdrk; // drk += -fc*gijk*ex_delr_d*rik_hat; - vec3_scale(dfc*gijk*ex_delr,rik_hat,drk); + vec3_scale(dfc*gijk*ex_delr,(numtyp *)rik_hat,drk); vec3_scaleadd(fc*gijk_d*ex_delr,dcosdrk,drk,drk); - vec3_scaleadd(-fc*gijk*ex_delr_d,rik_hat,drk,drk); + vec3_scaleadd(-fc*gijk*ex_delr_d,(numtyp *)rik_hat,drk,drk); vec3_scale(prefactor,drk,drk); } @@ -531,8 +531,8 @@ ucl_inline void attractive(const numtyp param_bigr, numtyp fk[3]) { numtyp rij_hat[3],rik_hat[3]; - vec3_scale(rijinv,delrij,rij_hat); - vec3_scale(rikinv,delrik,rik_hat); + vec3_scale(rijinv,(numtyp *)delrij,rij_hat); + vec3_scale(rikinv,(numtyp *)delrik,rik_hat); ters_zetaterm_d(prefactor,rij_hat,rij,rik_hat,rik, param_bigr, param_bigd, param_powermint, param_lam3, param_h, param_c1, param_c2, param_c3, param_c4, param_c5, @@ -559,8 +559,8 @@ ucl_inline void attractive_fi(const numtyp param_bigr, numtyp fi[3]) { numtyp rij_hat[3],rik_hat[3]; - vec3_scale(rijinv,delrij,rij_hat); - vec3_scale(rikinv,delrik,rik_hat); + vec3_scale(rijinv,(numtyp *)delrij,rij_hat); + vec3_scale(rikinv,(numtyp *)delrik,rik_hat); ters_zetaterm_d_fi(prefactor,rij_hat,rij,rik_hat,rik, param_bigr, param_bigd, param_powermint, param_lam3, param_h, param_c1, param_c2, param_c3, param_c4, param_c5, @@ -587,8 +587,8 @@ ucl_inline void attractive_fj(const numtyp param_bigr, numtyp fj[3]) { numtyp rij_hat[3],rik_hat[3]; - vec3_scale(rijinv,delrij,rij_hat); - vec3_scale(rikinv,delrik,rik_hat); + vec3_scale(rijinv,(numtyp *)delrij,rij_hat); + vec3_scale(rikinv,(numtyp *)delrik,rik_hat); ters_zetaterm_d_fj(prefactor,rij_hat,rij,rik_hat,rik, param_bigr, param_bigd, param_powermint, param_lam3, param_h, param_c1, param_c2, param_c3, param_c4, param_c5, @@ -615,8 +615,8 @@ ucl_inline void attractive_fk(const numtyp param_bigr, numtyp fk[3]) { numtyp rij_hat[3],rik_hat[3]; - vec3_scale(rijinv,delrij,rij_hat); - vec3_scale(rikinv,delrik,rik_hat); + vec3_scale(rijinv,(numtyp *)delrij,rij_hat); + vec3_scale(rikinv,(numtyp *)delrik,rik_hat); ters_zetaterm_d_fk(prefactor,rij_hat,rij,rik_hat,rik, param_bigr, param_bigd, param_powermint, param_lam3, param_h, param_c1, param_c2, param_c3, param_c4, param_c5, diff --git a/lib/gpu/lal_tersoff_zbl_extra.h b/lib/gpu/lal_tersoff_zbl_extra.h index d9b691fdfa..e8ac3b2438 100644 --- a/lib/gpu/lal_tersoff_zbl_extra.h +++ b/lib/gpu/lal_tersoff_zbl_extra.h @@ -95,9 +95,9 @@ ucl_inline void costheta_d(const numtyp rij_hat[3], numtyp cos_theta = vec3_dot(rij_hat,rik_hat); - vec3_scaleadd(-cos_theta,rij_hat,rik_hat,drj); + vec3_scaleadd(-cos_theta,(numtyp *)rij_hat,(numtyp *)rik_hat,drj); vec3_scale(ucl_recip(rij),drj,drj); - vec3_scaleadd(-cos_theta,rik_hat,rij_hat,drk); + vec3_scaleadd(-cos_theta,(numtyp *)rik_hat,(numtyp *)rij_hat,drk); vec3_scale(ucl_recip(rik),drk,drk); vec3_add(drj,drk,dri); vec3_scale((numtyp)-1.0,dri,dri); @@ -273,10 +273,10 @@ ucl_inline void ters_zetaterm_d(const numtyp prefactor, // dri += fc*gijk_d*ex_delr*dcosdri; // dri += fc*gijk*ex_delr_d*(rik_hat - rij_hat); - vec3_scale(-dfc*gijk*ex_delr,rik_hat,dri); + vec3_scale(-dfc*gijk*ex_delr,(numtyp *)rik_hat,dri); vec3_scaleadd(fc*gijk_d*ex_delr,dcosdri,dri,dri); - vec3_scaleadd(fc*gijk*ex_delr_d,rik_hat,dri,dri); - vec3_scaleadd(-fc*gijk*ex_delr_d,rij_hat,dri,dri); + vec3_scaleadd(fc*gijk*ex_delr_d,(numtyp *)rik_hat,dri,dri); + vec3_scaleadd(-fc*gijk*ex_delr_d,(numtyp *)rij_hat,dri,dri); vec3_scale(prefactor,dri,dri); // compute the derivative wrt Rj @@ -284,7 +284,7 @@ ucl_inline void ters_zetaterm_d(const numtyp prefactor, // drj += fc*gijk*ex_delr_d*rij_hat; vec3_scale(fc*gijk_d*ex_delr,dcosdrj,drj); - vec3_scaleadd(fc*gijk*ex_delr_d,rij_hat,drj,drj); + vec3_scaleadd(fc*gijk*ex_delr_d,(numtyp *)rij_hat,drj,drj); vec3_scale(prefactor,drj,drj); // compute the derivative wrt Rk @@ -292,9 +292,9 @@ ucl_inline void ters_zetaterm_d(const numtyp prefactor, // drk += fc*gijk_d*ex_delr*dcosdrk; // drk += -fc*gijk*ex_delr_d*rik_hat; - vec3_scale(dfc*gijk*ex_delr,rik_hat,drk); + vec3_scale(dfc*gijk*ex_delr,(numtyp *)rik_hat,drk); vec3_scaleadd(fc*gijk_d*ex_delr,dcosdrk,drk,drk); - vec3_scaleadd(-fc*gijk*ex_delr_d,rik_hat,drk,drk); + vec3_scaleadd(-fc*gijk*ex_delr_d,(numtyp *)rik_hat,drk,drk); vec3_scale(prefactor,drk,drk); } @@ -341,10 +341,10 @@ ucl_inline void ters_zetaterm_d_fi(const numtyp prefactor, // dri += fc*gijk_d*ex_delr*dcosdri; // dri += fc*gijk*ex_delr_d*(rik_hat - rij_hat); - vec3_scale(-dfc*gijk*ex_delr,rik_hat,dri); + vec3_scale(-dfc*gijk*ex_delr,(numtyp *)rik_hat,dri); vec3_scaleadd(fc*gijk_d*ex_delr,dcosdri,dri,dri); - vec3_scaleadd(fc*gijk*ex_delr_d,rik_hat,dri,dri); - vec3_scaleadd(-fc*gijk*ex_delr_d,rij_hat,dri,dri); + vec3_scaleadd(fc*gijk*ex_delr_d,(numtyp *)rik_hat,dri,dri); + vec3_scaleadd(-fc*gijk*ex_delr_d,(numtyp *)rij_hat,dri,dri); vec3_scale(prefactor,dri,dri); } @@ -390,7 +390,7 @@ ucl_inline void ters_zetaterm_d_fj(const numtyp prefactor, // drj += fc*gijk*ex_delr_d*rij_hat; vec3_scale(fc*gijk_d*ex_delr,dcosdrj,drj); - vec3_scaleadd(fc*gijk*ex_delr_d,rij_hat,drj,drj); + vec3_scaleadd(fc*gijk*ex_delr_d,(numtyp *)rij_hat,drj,drj); vec3_scale(prefactor,drj,drj); } @@ -437,9 +437,9 @@ ucl_inline void ters_zetaterm_d_fk(const numtyp prefactor, // drk += fc*gijk_d*ex_delr*dcosdrk; // drk += -fc*gijk*ex_delr_d*rik_hat; - vec3_scale(dfc*gijk*ex_delr,rik_hat,drk); + vec3_scale(dfc*gijk*ex_delr,(numtyp *)rik_hat,drk); vec3_scaleadd(fc*gijk_d*ex_delr,dcosdrk,drk,drk); - vec3_scaleadd(-fc*gijk*ex_delr_d,rik_hat,drk,drk); + vec3_scaleadd(-fc*gijk*ex_delr_d,(numtyp *)rik_hat,drk,drk); vec3_scale(prefactor,drk,drk); } @@ -604,8 +604,8 @@ ucl_inline void attractive(const numtyp param_bigr, numtyp fk[3]) { numtyp rij_hat[3],rik_hat[3]; - vec3_scale(rijinv,delrij,rij_hat); - vec3_scale(rikinv,delrik,rik_hat); + vec3_scale(rijinv,(numtyp *)delrij,rij_hat); + vec3_scale(rikinv,(numtyp *)delrik,rik_hat); ters_zetaterm_d(prefactor,rij_hat,rij,rik_hat,rik, param_bigr, param_bigd, param_powermint, param_lam3, param_c, param_d, param_h, param_gamma, fi, fj, fk); @@ -629,8 +629,8 @@ ucl_inline void attractive_fi(const numtyp param_bigr, numtyp fi[3]) { numtyp rij_hat[3],rik_hat[3]; - vec3_scale(rijinv,delrij,rij_hat); - vec3_scale(rikinv,delrik,rik_hat); + vec3_scale(rijinv,(numtyp *)delrij,rij_hat); + vec3_scale(rikinv,(numtyp *)delrik,rik_hat); ters_zetaterm_d_fi(prefactor,rij_hat,rij,rik_hat,rik, param_bigr, param_bigd, param_powermint, param_lam3, param_c, param_d, param_h, param_gamma, fi); @@ -654,8 +654,8 @@ ucl_inline void attractive_fj(const numtyp param_bigr, numtyp fj[3]) { numtyp rij_hat[3],rik_hat[3]; - vec3_scale(rijinv,delrij,rij_hat); - vec3_scale(rikinv,delrik,rik_hat); + vec3_scale(rijinv,(numtyp *)delrij,rij_hat); + vec3_scale(rikinv,(numtyp *)delrik,rik_hat); ters_zetaterm_d_fj(prefactor,rij_hat,rij,rik_hat,rik, param_bigr, param_bigd, param_powermint, param_lam3, param_c, param_d, param_h, param_gamma, fj); @@ -679,8 +679,8 @@ ucl_inline void attractive_fk(const numtyp param_bigr, numtyp fk[3]) { numtyp rij_hat[3],rik_hat[3]; - vec3_scale(rijinv,delrij,rij_hat); - vec3_scale(rikinv,delrik,rik_hat); + vec3_scale(rijinv,(numtyp *)delrij,rij_hat); + vec3_scale(rikinv,(numtyp *)delrik,rik_hat); ters_zetaterm_d_fk(prefactor,rij_hat,rij,rik_hat,rik, param_bigr, param_bigd, param_powermint, param_lam3, param_c, param_d, param_h, param_gamma, fk);