From 8b055ee4efc753eb563d58c679d3e2c6684ee334 Mon Sep 17 00:00:00 2001 From: Stefan Paquay Date: Mon, 22 Oct 2018 11:24:11 -0400 Subject: [PATCH] Fixed compile error for fix_momentum_kokkos. --- src/KOKKOS/fix_momentum_kokkos.cpp | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/src/KOKKOS/fix_momentum_kokkos.cpp b/src/KOKKOS/fix_momentum_kokkos.cpp index 9af7e79da8..30cca73765 100644 --- a/src/KOKKOS/fix_momentum_kokkos.cpp +++ b/src/KOKKOS/fix_momentum_kokkos.cpp @@ -120,12 +120,13 @@ void FixMomentumKokkos::end_of_step() auto xflag2 = xflag; auto yflag2 = yflag; auto zflag2 = zflag; + const Few &vcm_ref = vcm; Kokkos::parallel_for(nlocal, LAMMPS_LAMBDA(int i) { if (mask(i) & groupbit2) { - if (xflag2) v(i,0) -= vcm[0]; - if (yflag2) v(i,1) -= vcm[1]; - if (zflag2) v(i,2) -= vcm[2]; + if (xflag2) v(i,0) -= vcm_ref[0]; + if (yflag2) v(i,1) -= vcm_ref[1]; + if (zflag2) v(i,2) -= vcm_ref[2]; } }); atomKK->modified(execution_space, V_MASK); @@ -158,6 +159,10 @@ void FixMomentumKokkos::end_of_step() auto prd = Few(domain->prd); auto h = Few(domain->h); auto triclinic = domain->triclinic; + + const Few &xcm_ref = xcm; + const Few &omega_ref = omega; + Kokkos::parallel_for(nlocal, LAMMPS_LAMBDA(int i) { if (mask[i] & groupbit2) { Few x_i; @@ -165,12 +170,12 @@ void FixMomentumKokkos::end_of_step() x_i[1] = x(i,1); x_i[2] = x(i,2); auto unwrap = DomainKokkos::unmap(prd,h,triclinic,x_i,image(i)); - auto dx = unwrap[0] - xcm[0]; - auto dy = unwrap[1] - xcm[1]; - auto dz = unwrap[2] - xcm[2]; - v(i,0) -= omega[1]*dz - omega[2]*dy; - v(i,1) -= omega[2]*dx - omega[0]*dz; - v(i,2) -= omega[0]*dy - omega[1]*dx; + auto dx = unwrap[0] - xcm_ref[0]; + auto dy = unwrap[1] - xcm_ref[1]; + auto dz = unwrap[2] - xcm_ref[2]; + v(i,0) -= omega_ref[1]*dz - omega_ref[2]*dy; + v(i,1) -= omega_ref[2]*dx - omega_ref[0]*dz; + v(i,2) -= omega_ref[0]*dy - omega_ref[1]*dx; } }); atomKK->modified(execution_space, V_MASK); @@ -201,4 +206,3 @@ template class FixMomentumKokkos; template class FixMomentumKokkos; #endif } -