LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands

fix ave/atom command

Syntax:

fix ID group-ID ave/atom Nevery Nrepeat Nfreq value1 value2 ... 

Examples:

fix 1 all ave/atom 1 100 100 vx vy vz
fix 1 all ave/atom 10 20 1000 c_my_stress1 

Description:

Calculate one or more instantaneous per-atom quantities every few timesteps, and average them over longer timescales. The resulting per-atom averages can be used by other output commands such as the fix ave/spatial or dump custom commands.

Each listed value is averaged independently. The group specified with the command means only atoms within the group have their averages computed. Atoms not in the group have their result(s) set to 0.0.

Each listed value can be an atom attribute (position, unwrapped position, velocity, force component) or can be the result of a compute or fix or the evaluation of an atom-style variable. In the latter cases, the compute, fix, or variable must produce a per-atom quantity, not a global quantity. If you wish to time-average global quantities from a compute, fix, or variable, then see the fix ave/time command.

Computes that produce per-atom quantities are those which have the word atom in their style name. See the doc pages for individual fixes to determine which ones produce per-atom quantities. Variables of style atom are the only ones that can be used with this fix since all other styles of variable produce global quantities.


The Nevery, Nrepeat, and Nfreq arguments specify on what timesteps the values will be generated in order to contribute to the average. The final averaged quantities are generated every Nfreq timesteps. The average is over Nrepeat quantities, computed in the preceding portion of the simulation every Nevery timesteps. Nfreq must be a multiple of Nevery and Nevery must be non-zero even if Nrepeat is 1. Also, the timesteps contributing to the average value cannot overlap, i.e. Nfreq > (Nrepeat-1)*Nevery is required.

For example, if Nevery=2, Nrepeat=6, and Nfreq=100, then values on timesteps 90,92,94,96,98,100 will be used to compute the final average on timestep 100. Similarly for timesteps 190,192,194,196,198,200 on timestep 200, etc.


The atom attribute values (x,y,z,vx,vy,vz,fx,fy,fz) are self-explanatory. The unwrapped values (xu,yu,zu) mean that the coordinates are "unwrapped" by the images flags for each atom. This means that if the atom has passed thru a periodic boundary one or more times, its unwrapped value is what the coordinate would be if it had not been wrapped back into the periodic box. Note that this means the coordinate value may be far outside the box. The dump_modify command describes in more detail what is meant by image flags.

If a value begins with "c_", a compute ID must follow which has been previously defined in the input script. If no bracketed term is appended, the per-atom scalar calculated by the compute is used. If a bracketed term is appended, the Nth vector per-atom value calculated by the compute is used. Users can also write code for their own compute styles and add them to LAMMPS.

If a value begins with "f_", a fix ID must follow which has been previously defined in the input script. If no bracketed term is appended, the per-atom scalar calculated by the fix is used. If a bracketed term is appended, the Nth vector per-atom value calculated by the fix is used. Note that some fixes only produce their values on certain timesteps, which must be compatible with Nevery, else an error will results. Users can also write code for their own fix styles and add them to LAMMPS.

If a value begins with "v_", a variable name must follow which has been previously defined in the input script. Variables of style atom can reference thermodynamic keywords, or invoke other computes, fixes, or variables when they are evaluated, so this is a very general means of generating per-atom quantities to time average.

Restart, fix_modify, output, run start/stop, minimize info:

No information about this fix is written to binary restart files. None of the fix_modify options are relevant to this fix. No global scalar or vector quantities are stored by this fix for access by various output commands.

This fix produces a per-atom scalar or vector which can be accessed by various output commands. A scalar is produced if only a single quantity is averaged by this fix. If two or more quantities are averaged, then a vector of values is produced. The per-atom values can only be accessed on timesteps that are multiples of Nfreq since that is when averaging is performed.

No parameter of this fix can be used with the start/stop keywords of the run command. This fix is not invoked during energy minimization.

Restrictions: none

Related commands:

compute, fix ave/spatial, dump custom

Default: none