ave/chunk output file contains no data

Dear all,

I am currently running an MD simulation using the stable LAMMPS version of June 23, 2017.

In the course of my simulation I want to measure the temperature profile of a fluid surrounding a fixed non-isothermal cylinder (symmetry axis confined with the x-axis). Therefore, I used cylindric binning. The corresponding lines in the simulation script read

compute bins fluid chunk/atom bin/cylinder x lower 0.5 0.0 0.0 4.0 17.0 70 bound x -17 17

fix temperatureBins fluid ave/chunk 1 1500000 1500000 bins temp file temperature_sim0_run1.txt

Since I do not want to keep track of all the details, I average the bin data over many simulation time steps. (Here, it’s 1.5 million.) Then, I let the simulation run for, say, 1.6 million time steps, and expect the output file to contain the averaged temperature per bin. However, the output file is just empty. It only contains the usual file header, but no actual data follows below.

Here is a somewhat more precise description of what I am doing:

First, I let the system (cylinder + fluid) equilibrate for a sufficiently long time. Then, I impose a temperature gradient along the cylinder and let the whole system reach a steady state, which is written to a restart file at the end of the simulation time.
In a subsequent simulation, I read in this restart file and start to gather date using the commands given above, and everything worked out fine, as I expected. The data also looks reasonable, though still too noisy. After that production run, I again, wrote the system’s state into a restart file, because I needed to gather more data.

NOW comes the problem:
When doing exactly the same as before – reading the restart file, let the system evolve, and store data after 1.5 million time steps – the output file is empty.

I have tried to play around with a couple of things. For instance, I reduced the 1.5 million to just 150 and let the simulation run for a short time of 160 integration steps. Outcome: Still no data. However, when I increased the duration of the simulation run to 200 I eventually got some data. So, I again went to the 1.5 million for the averaging time and let the simulation run for 2 million time steps. Outcome: Again, no data!

Do you have any idea where this problem might come from? Is the number 1.5 million simply too large to average the data over?

I am looking forward to you reply.


Sven Auschra


there is too little information here for an authoritative answer, but
i can try to guess. what you describe often happens when people
misunderstand the way how nfreq is applied. nfreq is applied to the
"absolute" time step number. so if you do a simulation for 500 steps,
and then 1000 more where you turn on an averaging fix and set nfreq
for that to 1000 with nevery set to 1 and nrepeat set to 1000 you will
get no output. this is because you start on step 500 and will continue
to step 1500. but you can only have output on steps 1000 and 2000 due
to nfreq, and 1000 is not possible due to nrepeat/nevery. the simplest
way to work around it is to use reset_timestep 0 before defining the
averaging fix.