From 7eb82ad620d95d4af3c179d1fb4cd5b83558889e Mon Sep 17 00:00:00 2001 From: sjplimp Date: Fri, 31 Jul 2015 20:54:39 +0000 Subject: [PATCH] git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@13810 f3b2605a-c512-4ea7-a41b-209d697bcdaa --- src/pair_hybrid.cpp | 17 ++++++++++------- src/pair_hybrid.h | 1 + 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/src/pair_hybrid.cpp b/src/pair_hybrid.cpp index 02740d194c..4d0bbdad2f 100644 --- a/src/pair_hybrid.cpp +++ b/src/pair_hybrid.cpp @@ -820,17 +820,20 @@ void PairHybrid::modify_params(int narg, char **arg) // invoke modify_special() for the sub-style if (iarg < narg && strcmp(arg[iarg],"special") == 0) { - if (iarg+4 < narg) + if (narg < iarg+5) error->all(FLERR,"Illegal pair_modify special command"); - modify_special(m,narg-iarg,&arg[iarg]); - iarg += 4; + modify_special(m,narg-iarg,&arg[iarg+1]); + iarg += 5; } - // apply all keywords (except pair and special) to pair hybrid itself - // important for some keywords like tail or compute + // apply the remaining keywords to the base pair style itself and the + // sub-style except for "pair" and "special". + // the former is important for some keywords like "tail" or "compute" - Pair::modify_params(narg-iarg,&arg[iarg]); - styles[m]->modify_params(narg-iarg,&arg[iarg]); + if (narg-iarg > 0) { + Pair::modify_params(narg-iarg,&arg[iarg]); + styles[m]->modify_params(narg-iarg,&arg[iarg]); + } // apply all keywords to pair hybrid itself and every sub-style diff --git a/src/pair_hybrid.h b/src/pair_hybrid.h index bc41b993e2..27eaf47208 100644 --- a/src/pair_hybrid.h +++ b/src/pair_hybrid.h @@ -27,6 +27,7 @@ namespace LAMMPS_NS { class PairHybrid : public Pair { friend class FixGPU; + friend class FixIntel; friend class FixOMP; friend class Force; friend class Respa;