From 9ac09e839f361a4eb049787736aee5d23ad8a3be Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 28 Mar 2025 00:05:14 -0400 Subject: [PATCH] trigger computes only if next variable step or time based dump present --- src/output.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/output.cpp b/src/output.cpp index 07d0ba26a5..19082161e2 100644 --- a/src/output.cpp +++ b/src/output.cpp @@ -373,6 +373,7 @@ void Output::write(bigint ntimestep) // can't remove an uneeded addstep from a compute, b/c don't know // what other command may have added it + int mode_dump_any = 0; // any variable time or clearstep dump if (next_dump_any == ntimestep) { next_dump_any = next_time_dump_any = MAXBIGINT; @@ -397,12 +398,15 @@ void Output::write(bigint ntimestep) modify->addstep_compute(next_dump[idump]); } - if (mode_dump[idump] && (dump[idump]->clearstep || var_dump[idump])) + if (mode_dump[idump] && (dump[idump]->clearstep || var_dump[idump])) { + mode_dump_any = 1; next_time_dump_any = MIN(next_time_dump_any,next_dump[idump]); + } next_dump_any = MIN(next_dump_any,next_dump[idump]); } } - modify->addstep_compute(next_dump_any); + // trigger computes for any time based or variable step dumps + if (mode_dump_any) modify->addstep_compute(next_time_dump_any); // next_restart does not force output on last step of run // for toggle = 0, replace "*" with current timestep in restart filename