Why cannot I use "fix ave/time" with "compute entropy/atom"?

I would want to average the per-atom properties over simulation time. But, when, for example, I run my simulation with the command below:

compute paEntropy all entropy/atom 0.25 5.0
fix paEntropyOut all ave/time 20 20 400 c_paEntropy[*] file paEntropy_timeAvg.ent mode vector

I end up with the following error:

ERROR: Invalid fix ave/time command (src/fix_ave_time.cpp:105)
Last command: fix paEntropyOut all ave/time 20 20 400 c_paEntropy[*] file paEntropy_timeAvg.ent mode vector

Is there any way, other than “fix ave/time”, to average per-atom data?

You’re probably looking for fix ave/atom. The documentation for fix ave/time explicitly states that it only computes averages for global quantities, be they scalars or vectors.

1 Like

thanks, @Michael_Jacobs

Just a quick query. In LAMMPS documentation, it says:

The pair entropy values have units of the Boltzmann constant. They are always negative, and lower values (lower entropy) correspond to more ordered environments.

By “lower values”, does it means “lower absolute values”? If not, then the more negative the entropy per atom is, the more ordered is the environment, correct? However, the second definition does not align with my simulation results as I obtain higher negative values for the crystal and lower negative values for the liquid.

From the reference paper Entropy based fingerprint for local crystalline order, more negative entropy/atom values correspond to more ordered environments:

image

(Fig 2 of paper – dashed lines are per-atom values and solid lines are neighbor-averaged)

3 Likes