From 69841d9e85f02e1d0ffa66a26710d54b3e6ab9d8 Mon Sep 17 00:00:00 2001 From: sjplimp Date: Tue, 24 Mar 2015 16:00:43 +0000 Subject: [PATCH] git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@13283 f3b2605a-c512-4ea7-a41b-209d697bcdaa --- src/QEQ/fix_qeq_point.h | 4 +++- src/QEQ/fix_qeq_shielded.h | 4 +++- src/QEQ/fix_qeq_slater.h | 4 +++- src/fix_ave_chunk.cpp | 10 +++++++--- src/fix_ave_time.cpp | 10 ++++++++-- 5 files changed, 24 insertions(+), 8 deletions(-) diff --git a/src/QEQ/fix_qeq_point.h b/src/QEQ/fix_qeq_point.h index db70444311..eae9603bf5 100644 --- a/src/QEQ/fix_qeq_point.h +++ b/src/QEQ/fix_qeq_point.h @@ -56,6 +56,8 @@ This is the size of the matrix. E: Fix qeq/point has insufficient QEq matrix size -UNDOCUMENTED +Occurs when number of neighbor atoms for an atom increased too much +during a run. Increase SAFE_ZONE and MIN_CAP in fix_qeq.h and +recompile. */ diff --git a/src/QEQ/fix_qeq_shielded.h b/src/QEQ/fix_qeq_shielded.h index 73ff7b05fd..f9e1e0172e 100644 --- a/src/QEQ/fix_qeq_shielded.h +++ b/src/QEQ/fix_qeq_shielded.h @@ -74,6 +74,8 @@ This is the size of the matrix. E: Fix qeq/shielded has insufficient QEq matrix size -UNDOCUMENTED +Occurs when number of neighbor atoms for an atom increased too much +during a run. Increase SAFE_ZONE and MIN_CAP in fix_qeq.h and +recompile. */ diff --git a/src/QEQ/fix_qeq_slater.h b/src/QEQ/fix_qeq_slater.h index 71754b94e9..bf1a98a6d5 100644 --- a/src/QEQ/fix_qeq_slater.h +++ b/src/QEQ/fix_qeq_slater.h @@ -79,6 +79,8 @@ This is the size of the matrix. E: Fix qeq/slater has insufficient QEq matrix size -UNDOCUMENTED +Occurs when number of neighbor atoms for an atom increased too much +during a run. Increase SAFE_ZONE and MIN_CAP in fix_qeq.h and +recompile. */ diff --git a/src/fix_ave_chunk.cpp b/src/fix_ave_chunk.cpp index 881ea69b15..921c6863e0 100644 --- a/src/fix_ave_chunk.cpp +++ b/src/fix_ave_chunk.cpp @@ -298,7 +298,8 @@ FixAveChunk::FixAveChunk(LAMMPS *lmp, int narg, char **arg) : // increment lock counter in compute chunk/atom // only if nrepeat > 1 or ave = RUNNING/WINDOW, - // so that locking spans multiple timesteps + // so that locking spans multiple timesteps + // set lock here for ave = RUN/WINDOW or in end_of_step() for nrepeat > 1 int icompute = modify->find_compute(idchunk); if (icompute < 0) @@ -308,7 +309,10 @@ FixAveChunk::FixAveChunk(LAMMPS *lmp, int narg, char **arg) : error->all(FLERR,"Fix ave/chunk does not use chunk/atom compute"); if (nrepeat > 1 || ave == RUNNING || ave == WINDOW) cchunk->lockcount++; - if (ave == RUNNING || ave == WINDOW) cchunk->lock(this,update->ntimestep,-1); + if (ave == RUNNING || ave == WINDOW) { + nchunk = cchunk->setup_chunks(); + cchunk->lock(this,update->ntimestep,-1); + } // print file comment lines @@ -533,7 +537,7 @@ void FixAveChunk::end_of_step() modify->addstep_compute(ntimestep+nfreq); } allocate(); - if (nrepeat > 1 && ave == ONE) + if (nrepeat > 1 && ave == ONE) cchunk->lock(this,ntimestep,ntimestep+(nrepeat-1)*nevery); for (m = 0; m < nchunk; m++) { count_many[m] = count_sum[m] = 0.0; diff --git a/src/fix_ave_time.cpp b/src/fix_ave_time.cpp index 0bbaee5af5..b749a19425 100644 --- a/src/fix_ave_time.cpp +++ b/src/fix_ave_time.cpp @@ -274,7 +274,11 @@ FixAveTime::FixAveTime(LAMMPS *lmp, int narg, char **arg) : } // enable locking of row count by this fix for computes of variable length - // only if nrepeat > 1, so that locking spans multiple timesteps + // only if nrepeat > 1 or ave = RUNNING/WINDOW, + // so that locking spans multiple timesteps + // trigger lock_length here for ave = RUN/WINDOW + // or in end_of_step() for nrepeat > 1, + // so that row count = number of chunks is set if (any_variable_length && (nrepeat > 1 || ave == RUNNING || ave == WINDOW)) { @@ -282,8 +286,10 @@ FixAveTime::FixAveTime(LAMMPS *lmp, int narg, char **arg) : if (varlen[i]) { int icompute = modify->find_compute(ids[i]); modify->compute[icompute]->lock_enable(); - if (ave == RUNNING || ave == WINDOW) + if (ave == RUNNING || ave == WINDOW) { + modify->compute[icompute]->lock_length(); modify->compute[icompute]->lock(this,update->ntimestep,-1); + } } }