From ccac6df71dccf1fbcaefec02aea35f67550fee06 Mon Sep 17 00:00:00 2001 From: pscrozi Date: Thu, 19 Feb 2015 23:17:27 +0000 Subject: [PATCH] git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@13129 f3b2605a-c512-4ea7-a41b-209d697bcdaa --- src/kspace.cpp | 7 +++++-- src/kspace.h | 2 ++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/kspace.cpp b/src/kspace.cpp index 69b997b8fb..16ed8be14b 100644 --- a/src/kspace.cpp +++ b/src/kspace.cpp @@ -70,6 +70,7 @@ KSpace::KSpace(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) adjust_cutoff_flag = 1; scalar_pressure_flag = 0; warn_nonneutral = 1; + warn_nocharge = 1; accuracy_absolute = -1.0; accuracy_real_6 = -1.0; @@ -279,8 +280,10 @@ void KSpace::qsum_qsq() MPI_Allreduce(&qsum_local,&qsum,1,MPI_DOUBLE,MPI_SUM,world); MPI_Allreduce(&qsqsum_local,&qsqsum,1,MPI_DOUBLE,MPI_SUM,world); - if (qsqsum == 0.0) - error->all(FLERR,"Cannot use kspace solver on system with no charge"); + if ((qsqsum == 0.0) && (comm->me == 0) && warn_nocharge) { + error->warning(FLERR,"Using kspace solver on system with no charge"); + warn_nocharge = 0; + } q2 = qsqsum * force->qqrd2e; diff --git a/src/kspace.h b/src/kspace.h index b51a865c85..157e028e58 100644 --- a/src/kspace.h +++ b/src/kspace.h @@ -56,6 +56,8 @@ class KSpace : protected Pointers { int warn_nonneutral; // 0 = error if non-neutral system // 1 = warn once if non-neutral system // 2 = warn, but already warned + int warn_nocharge; // 0 = already warned + // 1 = warn if zero charge int order,order_6,order_allocated; double accuracy; // accuracy of KSpace solver (force units)