I used lammps (7 Dec 2015, gpu version) to run a simulation based on a restart file generated by cpu version of lammps, and got a message 'Energy was not tallied on needed timestep (../compute_pe.cpp:75)' right after the initial step output. The input file for gpu is essentially identical to the cpu version except three parameters (thermo, restart, run) are different. A long simulation had been run by cpu version with no error before I switched to gpu. The full input file for gpu is below. Thanks a lot.
I used lammps (7 Dec 2015, gpu version) to run a simulation based on a
restart file generated by cpu version of lammps, and got a message
'Energy was not tallied on needed timestep (../compute_pe.cpp:75)' right
after the initial step output. The input file for gpu is essentially
identical to the cpu version except three parameters (thermo, restart,
run) are different. A long simulation had been run by cpu version with
no error before I switched to gpu. The full input file for gpu is below.
this error has *nothing* to do with using GPU styles.
you set your thermo output to be generated and ever 1 million step,
but your fix print command tries to access them every 100 thousand
steps. that won't do. you cannot print what you have not computed.
i have to disagree. steve is correct. there is a very subtle 64-bit
integer bug in fix print.
thermo 100
fix fprint all print 10 ....
and it didn't work. But changing to 'fix fprint all print 100' or 'fix
fprint all print 200' it worked. I did this test using version (9 Dec 2014).
and if you would add:
reset_timestep 0
to your script somewhere in a line before "run", suddenly you *can*
use fix print with a print frequency smaller than the thermo
frequency.
the code in fix print that signals on which timestep to *additionally*
invoke computes cannot handle timesteps larger than 2147483647
with the little one line change below, it will work the way as steve
said it would.
diff --git a/src/fix_print.cpp b/src/fix_print.cpp
index 3c54772..4ed1628 100644
--- a/src/fix_print.cpp
+++ b/src/fix_print.cpp
@@ -93,7 +93,7 @@ FixPrint::FixPrint(LAMMPS *lmp, int narg, char **arg) :
// since don't know a priori which are invoked via variables by this fix
// once in end_of_step() can set timestep for ones actually invoked