forked from lijiext/lammps
154 lines
6.5 KiB
Plaintext
154 lines
6.5 KiB
Plaintext
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
|
|
|
|
:link(lws,http://lammps.sandia.gov)
|
|
:link(ld,Manual.html)
|
|
:link(lc,Section_commands.html#comm)
|
|
|
|
:line
|
|
|
|
fix ave/atom command :h3
|
|
|
|
[Syntax:]
|
|
|
|
fix ID group-ID ave/atom Nevery Nrepeat Nfreq value1 value2 ... :pre
|
|
|
|
ID, group-ID are documented in "fix"_fix.html command :ulb,l
|
|
ave/atom = style name of this fix command :l
|
|
Nevery = use input values every this many timesteps :l
|
|
Nrepeat = # of times to use input values for calculating averages :l
|
|
Nfreq = calculate averages every this many timesteps
|
|
one or more input values can be listed :l
|
|
value = x, y, z, vx, vy, vz, fx, fy, fz, c_ID, c_ID\[i\], f_ID, f_ID\[i\], v_name :l
|
|
x,y,z,vx,vy,vz,fx,fy,fz = atom attribute (position, velocity, force component)
|
|
c_ID = per-atom vector calculated by a compute with ID
|
|
c_ID\[I\] = Ith column of per-atom array calculated by a compute with ID
|
|
f_ID = per-atom vector calculated by a fix with ID
|
|
f_ID\[I\] = Ith column of per-atom array calculated by a fix with ID
|
|
v_name = per-atom vector calculated by an atom-style variable with name :pre
|
|
:ule
|
|
|
|
[Examples:]
|
|
|
|
fix 1 all ave/atom 1 100 100 vx vy vz
|
|
fix 1 all ave/atom 10 20 1000 c_my_stress\[1\] :pre
|
|
|
|
[Description:]
|
|
|
|
Use one or more per-atom vectors as inputs every few timesteps, and
|
|
average them atom by atom over longer timescales. The resulting
|
|
per-atom averages can be used by other "output
|
|
commands"_Section_howto.html#howto_15 such as the "fix
|
|
ave/spatial"_fix_ave_spatial.html or "dump custom"_dump.html commands.
|
|
|
|
The group specified with the command means only atoms within the group
|
|
have their averages computed. Results are set to 0.0 for atoms not in
|
|
the group.
|
|
|
|
Each input value can be an atom attribute (position, velocity, force
|
|
component) or can be the result of a "compute"_compute.html or
|
|
"fix"_fix.html or the evaluation of an atom-style
|
|
"variable"_variable.html. In the latter cases, the compute, fix, or
|
|
variable must produce a per-atom vector, not a global quantity or
|
|
local quantity. If you wish to time-average global quantities from a
|
|
compute, fix, or variable, then see the "fix
|
|
ave/time"_fix_ave_time.html command.
|
|
|
|
"Computes"_compute.html that produce per-atom vectors or arrays are
|
|
those which have the word {atom} in their style name. See the doc
|
|
pages for individual "fixes"_fix.html to determine which ones produce
|
|
per-atom vectors or arrays. "Variables"_variable.html of style {atom}
|
|
are the only ones that can be used with this fix since they produce
|
|
per-atom vectors.
|
|
|
|
Each per-atom value of each input vector is averaged independently.
|
|
|
|
:line
|
|
|
|
The {Nevery}, {Nrepeat}, and {Nfreq} arguments specify on what
|
|
timesteps the input values will be used in order to contribute to the
|
|
average. The final averaged quantities are generated on timesteps
|
|
that are a multiple of {Nfreq}. 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. Nrepeat*Nevery can not exceed Nfreq.
|
|
|
|
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.
|
|
|
|
:line
|
|
|
|
The atom attribute values (x,y,z,vx,vy,vz,fx,fy,fz) are
|
|
self-explanatory. Note that other atom attributes can be used as
|
|
inputs to this fix by using the "compute
|
|
property/atom"_compute_property_atom.html command and then specifying
|
|
an input value from that compute.
|
|
|
|
NOTE: The x,y,z attributes are values that are re-wrapped inside the
|
|
periodic box whenever an atom crosses a periodic boundary. Thus if
|
|
you time average an atom that spends half its time on either side of
|
|
the periodic box, you will get a value in the middle of the box. If
|
|
this is not what you want, consider averaging unwrapped coordinates,
|
|
which can be provided by the "compute
|
|
property/atom"_compute_property_atom.html command via its xu,yu,zu
|
|
attributes.
|
|
|
|
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 vector calculated by the compute is used. If a
|
|
bracketed term containing an index I is appended, the Ith column of
|
|
the per-atom array calculated by the compute is used. Users can also
|
|
write code for their own compute styles and "add them to
|
|
LAMMPS"_Section_modify.html.
|
|
|
|
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 vector calculated by the fix is used. If a
|
|
bracketed term containing an index I is appended, the Ith column of
|
|
the per-atom array 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 result. Users can also
|
|
write code for their own fix styles and "add them to
|
|
LAMMPS"_Section_modify.html.
|
|
|
|
If a value begins with "v_", a variable name must follow which has
|
|
been previously defined in the input script as an "atom-style
|
|
variable"_variable.html 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.
|
|
|
|
:line
|
|
|
|
[Restart, fix_modify, output, run start/stop, minimize info:]
|
|
|
|
No information about this fix is written to "binary restart
|
|
files"_restart.html. None of the "fix_modify"_fix_modify.html options
|
|
are relevant to this fix. No global scalar or vector quantities are
|
|
stored by this fix for access by various "output
|
|
commands"_Section_howto.html#howto_15.
|
|
|
|
This fix produces a per-atom vector or array which can be accessed by
|
|
various "output commands"_Section_howto.html#howto_15. A vector is
|
|
produced if only a single quantity is averaged by this fix. If two or
|
|
more quantities are averaged, then an array 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"_run.html command. This fix is not invoked during "energy
|
|
minimization"_minimize.html.
|
|
|
|
[Restrictions:] none
|
|
|
|
[Related commands:]
|
|
|
|
"compute"_compute.html, "fix ave/histo"_fix_ave_histo.html, "fix
|
|
ave/spatial"_fix_ave_spatial.html, "fix ave/time"_fix_ave_time.html,
|
|
"variable"_variable.html,
|
|
|
|
[Default:] none
|