Fixing Kokkos bugs
git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@15565 f3b2605a-c512-4ea7-a41b-209d697bcdaa
This commit is contained in:
@ -132,7 +132,9 @@ class FixQEqReaxKokkos : public FixQEqReax {
|
||||
double calculate_H_k(const F_FLOAT &r, const F_FLOAT &shld) const;
|
||||
|
||||
struct params_qeq{
|
||||
KOKKOS_INLINE_FUNCTION
|
||||
params_qeq(){chi=0;eta=0;gamma=0;};
|
||||
KOKKOS_INLINE_FUNCTION
|
||||
params_qeq(int i){chi=0;eta=0;gamma=0;};
|
||||
F_FLOAT chi, eta, gamma;
|
||||
};
|
||||
|
||||
@ -371,42 +371,42 @@ void PairReaxCKokkos<DeviceType>::init_md()
|
||||
k_LR.h_view(i,j).m = LR[i][j].m;
|
||||
k_LR.h_view(i,j).c = LR[i][j].c;
|
||||
|
||||
k_LR.h_view(i,j).k_y = tdual_LR_data_1d("lookup:LR[i,j].y",n);
|
||||
k_LR.h_view(i,j).k_H = tdual_cubic_spline_coef_1d("lookup:LR[i,j].H",n);
|
||||
k_LR.h_view(i,j).k_vdW = tdual_cubic_spline_coef_1d("lookup:LR[i,j].vdW",n);
|
||||
k_LR.h_view(i,j).k_CEvd = tdual_cubic_spline_coef_1d("lookup:LR[i,j].CEvd",n);
|
||||
k_LR.h_view(i,j).k_ele = tdual_cubic_spline_coef_1d("lookup:LR[i,j].ele",n);
|
||||
k_LR.h_view(i,j).k_CEclmb = tdual_cubic_spline_coef_1d("lookup:LR[i,j].CEclmb",n);
|
||||
tdual_LR_data_1d k_y = tdual_LR_data_1d("lookup:LR[i,j].y",n);
|
||||
tdual_cubic_spline_coef_1d k_H = tdual_cubic_spline_coef_1d("lookup:LR[i,j].H",n);
|
||||
tdual_cubic_spline_coef_1d k_vdW = tdual_cubic_spline_coef_1d("lookup:LR[i,j].vdW",n);
|
||||
tdual_cubic_spline_coef_1d k_CEvd = tdual_cubic_spline_coef_1d("lookup:LR[i,j].CEvd",n);
|
||||
tdual_cubic_spline_coef_1d k_ele = tdual_cubic_spline_coef_1d("lookup:LR[i,j].ele",n);
|
||||
tdual_cubic_spline_coef_1d k_CEclmb = tdual_cubic_spline_coef_1d("lookup:LR[i,j].CEclmb",n);
|
||||
|
||||
k_LR.h_view(i,j).d_y = k_LR.h_view(i,j).k_y.d_view;
|
||||
k_LR.h_view(i,j).d_H = k_LR.h_view(i,j).k_H.d_view;
|
||||
k_LR.h_view(i,j).d_vdW = k_LR.h_view(i,j).k_vdW.d_view;
|
||||
k_LR.h_view(i,j).d_CEvd = k_LR.h_view(i,j).k_CEvd.d_view;
|
||||
k_LR.h_view(i,j).d_ele = k_LR.h_view(i,j).k_ele.d_view;
|
||||
k_LR.h_view(i,j).d_CEclmb = k_LR.h_view(i,j).k_CEclmb.d_view;
|
||||
k_LR.h_view(i,j).d_y = k_y.d_view;
|
||||
k_LR.h_view(i,j).d_H = k_H.d_view;
|
||||
k_LR.h_view(i,j).d_vdW = k_vdW.d_view;
|
||||
k_LR.h_view(i,j).d_CEvd = k_CEvd.d_view;
|
||||
k_LR.h_view(i,j).d_ele = k_ele.d_view;
|
||||
k_LR.h_view(i,j).d_CEclmb = k_CEclmb.d_view;
|
||||
|
||||
for (int k = 0; k < n; k++) {
|
||||
k_LR.h_view(i,j).k_y.h_view(k) = LR[i][j].y[k];
|
||||
k_LR.h_view(i,j).k_H.h_view(k) = LR[i][j].H[k];
|
||||
k_LR.h_view(i,j).k_vdW.h_view(k) = LR[i][j].vdW[k];
|
||||
k_LR.h_view(i,j).k_CEvd.h_view(k) = LR[i][j].CEvd[k];
|
||||
k_LR.h_view(i,j).k_ele.h_view(k) = LR[i][j].ele[k];
|
||||
k_LR.h_view(i,j).k_CEclmb.h_view(k) = LR[i][j].CEclmb[k];
|
||||
k_y.h_view(k) = LR[i][j].y[k];
|
||||
k_H.h_view(k) = LR[i][j].H[k];
|
||||
k_vdW.h_view(k) = LR[i][j].vdW[k];
|
||||
k_CEvd.h_view(k) = LR[i][j].CEvd[k];
|
||||
k_ele.h_view(k) = LR[i][j].ele[k];
|
||||
k_CEclmb.h_view(k) = LR[i][j].CEclmb[k];
|
||||
}
|
||||
|
||||
k_LR.h_view(i,j).k_y.template modify<LMPHostType>();
|
||||
k_LR.h_view(i,j).k_H.template modify<LMPHostType>();
|
||||
k_LR.h_view(i,j).k_vdW.template modify<LMPHostType>();
|
||||
k_LR.h_view(i,j).k_CEvd.template modify<LMPHostType>();
|
||||
k_LR.h_view(i,j).k_ele.template modify<LMPHostType>();
|
||||
k_LR.h_view(i,j).k_CEclmb.template modify<LMPHostType>();
|
||||
k_y.template modify<LMPHostType>();
|
||||
k_H.template modify<LMPHostType>();
|
||||
k_vdW.template modify<LMPHostType>();
|
||||
k_CEvd.template modify<LMPHostType>();
|
||||
k_ele.template modify<LMPHostType>();
|
||||
k_CEclmb.template modify<LMPHostType>();
|
||||
|
||||
k_LR.h_view(i,j).k_y.template sync<DeviceType>();
|
||||
k_LR.h_view(i,j).k_H.template sync<DeviceType>();
|
||||
k_LR.h_view(i,j).k_vdW.template sync<DeviceType>();
|
||||
k_LR.h_view(i,j).k_CEvd.template sync<DeviceType>();
|
||||
k_LR.h_view(i,j).k_ele.template sync<DeviceType>();
|
||||
k_LR.h_view(i,j).k_CEclmb.template sync<DeviceType>();
|
||||
k_y.template sync<DeviceType>();
|
||||
k_H.template sync<DeviceType>();
|
||||
k_vdW.template sync<DeviceType>();
|
||||
k_CEvd.template sync<DeviceType>();
|
||||
k_ele.template sync<DeviceType>();
|
||||
k_CEclmb.template sync<DeviceType>();
|
||||
}
|
||||
}
|
||||
k_LR.template modify<LMPHostType>();
|
||||
|
||||
@ -54,11 +54,6 @@ struct LR_lookup_table_kk
|
||||
double m;
|
||||
double c;
|
||||
|
||||
tdual_LR_data_1d k_y;
|
||||
tdual_cubic_spline_coef_1d k_H;
|
||||
tdual_cubic_spline_coef_1d k_vdW, k_CEvd;
|
||||
tdual_cubic_spline_coef_1d k_ele, k_CEclmb;
|
||||
|
||||
t_LR_data_1d d_y;
|
||||
t_cubic_spline_coef_1d d_H;
|
||||
t_cubic_spline_coef_1d d_vdW, d_CEvd;
|
||||
@ -251,8 +246,10 @@ class PairReaxCKokkos : public PairReaxC {
|
||||
void operator()(PairReaxComputeHydrogen<NEIGHFLAG,EVFLAG>, const int&) const;
|
||||
|
||||
struct params_sing{
|
||||
KOKKOS_INLINE_FUNCTION
|
||||
params_sing(){mass=0;chi=0;eta=0;r_s=0;r_pi=0;r_pi2=0;valency=0;valency_val=0;valency_e=0;valency_boc=0;nlp_opt=0;
|
||||
p_lp2=0;p_ovun2=0;p_ovun5=0;p_val3=0;p_val5=0;p_hbond=0;};
|
||||
KOKKOS_INLINE_FUNCTION
|
||||
params_sing(int i){mass=0;chi=0;eta=0;r_s=0;r_pi=0;r_pi2=0;valency=0;valency_val=0;valency_e=0;valency_boc=0;nlp_opt=0;
|
||||
p_lp2=0;p_ovun2=0;p_ovun5=0;p_val3=0;p_val5=0;p_hbond=0;};
|
||||
F_FLOAT mass,chi,eta,r_s,r_pi,r_pi2,valency,valency_val,valency_e,valency_boc,nlp_opt,
|
||||
@ -260,10 +257,12 @@ class PairReaxCKokkos : public PairReaxC {
|
||||
};
|
||||
|
||||
struct params_twbp{
|
||||
KOKKOS_INLINE_FUNCTION
|
||||
params_twbp(){gamma=0;gamma_w=0;alpha=0;r_vdw=0;epsilon=0;acore=0;ecore=0;rcore=0;lgre=0;lgcij=0;
|
||||
r_s=0;r_pi=0;r_pi2=0;p_bo1=0;p_bo2=0;p_bo3=0;p_bo4=0;p_bo5=0;p_bo6=0;ovc=0;v13cor=0;
|
||||
p_boc3=0;p_boc4=0;p_boc5=0;p_be1=0,p_be2=0,De_s=0,De_p=0;De_pp=0;
|
||||
p_ovun1=0;};
|
||||
KOKKOS_INLINE_FUNCTION
|
||||
params_twbp(int i){gamma=0;gamma_w=0;alpha=0;r_vdw=0;epsilon=0;acore=0;ecore=0;rcore=0;lgre=0;lgcij=0;
|
||||
r_s=0;r_pi=0;r_pi2=0;p_bo1=0;p_bo2=0;p_bo3=0;p_bo4=0;p_bo5=0;p_bo6=0;ovc=0;v13cor=0;
|
||||
p_boc3=0;p_boc4=0;p_boc5=0;p_be1=0,p_be2=0,De_s=0,De_p=0;De_pp=0;
|
||||
@ -275,19 +274,25 @@ class PairReaxCKokkos : public PairReaxC {
|
||||
};
|
||||
|
||||
struct params_thbp{
|
||||
KOKKOS_INLINE_FUNCTION
|
||||
params_thbp(){cnt=0;theta_00=0;p_val1=0;p_val2=0;p_val4=0;p_val7=0;p_pen1=0;p_coa1=0;};
|
||||
KOKKOS_INLINE_FUNCTION
|
||||
params_thbp(int i){cnt=0;theta_00=0;p_val1=0;p_val2=0;p_val4=0;p_val7=0;p_pen1=0;p_coa1=0;};
|
||||
F_FLOAT cnt, theta_00, p_val1, p_val2, p_val4, p_val7, p_pen1, p_coa1;
|
||||
};
|
||||
|
||||
struct params_fbp{
|
||||
KOKKOS_INLINE_FUNCTION
|
||||
params_fbp(){p_tor1=0;p_cot1=0;V1=0;V2=0;V3=0;};
|
||||
KOKKOS_INLINE_FUNCTION
|
||||
params_fbp(int i){p_tor1=0;p_cot1=0;V1=0;V2=0;V3=0;};
|
||||
F_FLOAT p_tor1, p_cot1, V1, V2, V3;
|
||||
};
|
||||
|
||||
struct params_hbp{
|
||||
KOKKOS_INLINE_FUNCTION
|
||||
params_hbp(){p_hb1=0;p_hb2=0;p_hb3=0;r0_hb=0;};
|
||||
KOKKOS_INLINE_FUNCTION
|
||||
params_hbp(int i){p_hb1=0;p_hb2=0;p_hb3=0;r0_hb=0;};
|
||||
F_FLOAT p_hb1, p_hb2, p_hb3, r0_hb;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user