From 16381a52b14aeeb47cc6eb0e2897019bc9c4a4df Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Thu, 12 Jul 2018 20:22:38 -0600 Subject: [PATCH] Fix crash in ReaxFF on GPUs --- src/KOKKOS/pair_reaxc_kokkos.cpp | 9 +++++---- src/KOKKOS/pair_reaxc_kokkos.h | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/KOKKOS/pair_reaxc_kokkos.cpp b/src/KOKKOS/pair_reaxc_kokkos.cpp index bb9f8ab417..e2e2e6f6de 100644 --- a/src/KOKKOS/pair_reaxc_kokkos.cpp +++ b/src/KOKKOS/pair_reaxc_kokkos.cpp @@ -343,6 +343,7 @@ void PairReaxCKokkos::init_md() swa = control->nonb_low; swb = control->nonb_cut; + enobondsflag = control->enobondsflag; if (fabs(swa) > 0.01 ) error->warning(FLERR,"Warning: non-zero lower Taper-radius cutoff"); @@ -2272,12 +2273,12 @@ void PairReaxCKokkos::operator()(PairReaxComputeMulti2 0 || control->enobondsflag) + if (numbonds > 0 || enobondsflag) e_lp = p_lp2 * d_Delta_lp[i] * inv_expvd2; const F_FLOAT dElp = p_lp2 * inv_expvd2 + 75.0 * p_lp2 * d_Delta_lp[i] * expvd2 * inv_expvd2*inv_expvd2; const F_FLOAT CElp = dElp * d_dDelta_lp[i]; - if (numbonds > 0 || control->enobondsflag) + if (numbonds > 0 || enobondsflag) a_CdDelta[i] += CElp; if (eflag) ev.ereax[0] += e_lp; @@ -2314,7 +2315,7 @@ void PairReaxCKokkos::operator()(PairReaxComputeMulti2 0 || control->enobondsflag) + if (numbonds > 0 || enobondsflag) e_un = -p_ovun5 * (1.0 - exp_ovun6) * inv_exp_ovun2n * inv_exp_ovun8; if (eflag) ev.ereax[2] += e_un; @@ -2334,7 +2335,7 @@ void PairReaxCKokkos::operator()(PairReaxComputeMulti2 0 || control->enobondsflag) + if (numbonds > 0 || enobondsflag) a_CdDelta[i] += CEunder3; const int j_start = d_bo_first[i]; diff --git a/src/KOKKOS/pair_reaxc_kokkos.h b/src/KOKKOS/pair_reaxc_kokkos.h index 5175e274a8..5c96d44618 100644 --- a/src/KOKKOS/pair_reaxc_kokkos.h +++ b/src/KOKKOS/pair_reaxc_kokkos.h @@ -427,7 +427,7 @@ class PairReaxCKokkos : public PairReaxC { friend void pair_virial_fdotr_compute(PairReaxCKokkos*); - int bocnt,hbcnt; + int bocnt,hbcnt,enobondsflag; typedef LR_lookup_table_kk LR_lookup_table_kk_DT;