diff --git a/src/dump_custom.cpp b/src/dump_custom.cpp index 87b7e85fa4..2aa76586b8 100644 --- a/src/dump_custom.cpp +++ b/src/dump_custom.cpp @@ -410,8 +410,7 @@ int DumpCustom::count() if (update->whichflag == 0) { for (i = 0; i < ncompute; i++) if (compute[i]->invoked_peratom != update->ntimestep) - error->all(FLERR,"Compute used in write_dump between runs " - "is not current"); + error->all(FLERR,"Compute used in dump between runs is not current"); } else { for (i = 0; i < ncompute; i++) { if (!(compute[i]->invoked_flag & INVOKED_PERATOM)) { diff --git a/src/dump_local.cpp b/src/dump_local.cpp index f4d7fb260e..53094dd5e4 100644 --- a/src/dump_local.cpp +++ b/src/dump_local.cpp @@ -231,12 +231,21 @@ int DumpLocal::count() int i; // invoke Computes for local quantities + // only if within a run or minimize + // else require that computes are current + // this prevents a compute from being invoked by the WriteDump class if (ncompute) { - for (i = 0; i < ncompute; i++) { - if (!(compute[i]->invoked_flag & INVOKED_LOCAL)) { - compute[i]->compute_local(); - compute[i]->invoked_flag |= INVOKED_LOCAL; + if (update->whichflag == 0) { + for (i = 0; i < ncompute; i++) + if (compute[i]->invoked_local != update->ntimestep) + error->all(FLERR,"Compute used in dump between runs is not current"); + } else { + for (i = 0; i < ncompute; i++) { + if (!(compute[i]->invoked_flag & INVOKED_LOCAL)) { + compute[i]->compute_local(); + compute[i]->invoked_flag |= INVOKED_LOCAL; + } } } }