forked from lijiext/lammps
170 lines
7.2 KiB
Plaintext
170 lines
7.2 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/time command :h3
|
|
|
|
[Syntax:]
|
|
|
|
fix ID group-ID ave/time Nevery Nrepeat Nfreq style ID keyword args ... :pre
|
|
|
|
ID, group-ID are documented in "fix"_fix.html command :ulb,l
|
|
ave/time = style name of this fix command :l
|
|
Nevery = calculate property every this many timesteps :l
|
|
Nrepeat = # of times to repeat the Nevery calculation before averaging :l
|
|
Nfreq = timestep frequency at which the average value is computed :l
|
|
style = {compute} or {fix} :l
|
|
ID = ID of compute or fix that performs the calculation :l
|
|
|
|
zero or more keyword/arg pairs may be appended :l
|
|
keyword = {type} or {file} or {ave} :l
|
|
{type} arg = {scalar} or {vector} or {both}
|
|
scalar = single scalar value from fix or compute
|
|
vector = vector of values from fix or compute
|
|
both = both a single value and vector of values from fix or compute
|
|
{ave} args = {one} or {running} or {window M}
|
|
one = output new average value every Nfreq steps
|
|
running = output cummulative average of all previous Nfreq steps
|
|
window M = output average of M most recent Nfreq steps :pre
|
|
:ule
|
|
|
|
[Examples:]
|
|
|
|
fix 1 all ave/time 100 5 1000 compute myTemp
|
|
fix 1 all ave/time 100 5 1000 compute myTemp ave window 20
|
|
fix 1 all ave/time 1 100 1000 fix indenter value both file temp.indent :pre
|
|
|
|
[Description:]
|
|
|
|
Calculate one or more instantaneous quantities every few timesteps,
|
|
and average them over a longer timescale. The resulting averages can
|
|
be used by other "output commands"_Section_howto.html#4_15 such as
|
|
"thermo_style custom"_thermo_style.html, and also written to a file.
|
|
|
|
This fix can be used to time-average a "compute"_compute.html which
|
|
calculates a global quantity such as a temperature or pressure or a
|
|
"fix"_fix.html which calculates a global quantity. Note that per-atom
|
|
quantities cannot be averaged with this fix; their values can be
|
|
averaged by the "fix ave/spatial"_fix_ave_spatial.html or "fix
|
|
ave/atom"_fix_ave_atom.html commands.
|
|
|
|
Since the calculation is performed by the compute or fix which stores
|
|
its own "group" definition, the group specified as part of the fix
|
|
ave/time command is ignored.
|
|
|
|
For style {compute} the {ID} specifies a "compute"_compute.html which
|
|
calculates the desired property. The compute must be a "global"
|
|
compute that calculates one or more global properties rather than a
|
|
"per-atom" compute. However, there is a "compute
|
|
sum"_compute_sum.html command which sums per-atom quantities into a
|
|
global scalar or vector which can be accessed by fix ave/time.
|
|
|
|
The compute must be previously defined in the input script. Or it can
|
|
be a compute defined by "thermodynamic output"_thermo_style.html or
|
|
other fixes such as "fix nvt"_fix_nvt.html or "fix
|
|
temp/rescale"_fix_temp_rescale.html. Users can write code for their
|
|
own compute styles and "add them to LAMMPS"_Section_modify.html.
|
|
|
|
For style {fix} the {ID} specifies a "fix"_fix.html which calculates
|
|
the desired property. The fix must calculate a global scalar or
|
|
vector quantity, which only a few fixes do. See the doc page for
|
|
individual fix commands for details. The fix must be previously
|
|
defined in the input script. Users can write code for their own fix
|
|
styles and "add them to LAMMPS"_Section_modify.html.
|
|
|
|
The {Nevery}, {Nrepeat}, and {Nfreq} arguments specify on what
|
|
timesteps the property will be evaluated in order to contribute to the
|
|
average. The final averaged value(s) are computed every {Nfreq}
|
|
timesteps. The average is over {Nrepeat} values, computed in the
|
|
preceeding 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.
|
|
|
|
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. Similary for timesteps 190,192,194,196,198,200 on
|
|
timestep 200, etc.
|
|
|
|
:line
|
|
|
|
Additional optional keywords also affect the operation of this fix.
|
|
|
|
The {type} keyword chooses whether the scalar and/or vector quantities
|
|
produced by the compute or fix are used. For a setting of {scalar} a
|
|
single global value is used. For a setting of {vector} N global
|
|
values are used, where N is defined by the compute or fix, e.g. 6
|
|
pressure tensor components. For a setting of {both}, both a scalar
|
|
the vector values are used. When vectors are used, each of the N
|
|
values is averaged independently.
|
|
|
|
The {file} keyword allows a filename to be specified. The scalar
|
|
and/or N vector quantities are written to the file in a
|
|
self-explanatory text format.
|
|
|
|
The {ave} keyword determines how the scalar and/or vector values
|
|
produced every {Nfreq} steps are averaged with values produced on
|
|
previous steps that were multiples of {Nfreq}, before they are
|
|
accessed by another output command or written to a file.
|
|
|
|
If the {ave} setting is {one}, then the values produced on timesteps
|
|
that are multiples of {Nfreq} are independent of each other; they are
|
|
output as-is without further averaging.
|
|
|
|
If the {ave} setting is {running}, then the values produced on
|
|
timesteps that are multiples of {Nfreq} are summed and averaged in a
|
|
cummulative sense before being output. Each output value is thus the
|
|
average of the value produced on that timestep with all preceeding
|
|
values. This running average begins when the fix is defined; it can
|
|
only be restarted by deleting the fix via the "unfix"_unfix.html
|
|
command, or re-defining the fix by re-specifying it.
|
|
|
|
If the {ave} setting is {window}, then the values produced on
|
|
timesteps that are multiples of {Nfreq} are summed and averaged within
|
|
a moving "window" of time, so that the last M values are used to
|
|
produce the output. E.g. if M = 3 and Nfreq = 1000, then the output
|
|
on step 10000 will be the average of the individual values on steps
|
|
8000,9000,10000. Outputs on early steps will average over less than M
|
|
values if they are not available.
|
|
|
|
: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.
|
|
|
|
Depending on the setting of the {type} parameter, this fix computes a
|
|
scalar and/or a vector of quantities which can be accessed by various
|
|
"output commands"_Section_howto.html#4_15. The values should 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:]
|
|
|
|
If the style is {compute} and the specified compute calculates
|
|
pressure, it will cause the force computations performed by LAMMPS
|
|
(pair, bond, angle, etc) to calculate virial terms each Nevery
|
|
timesteps. If this is more frequent than thermodynamic output, this
|
|
adds extra cost to a simulation. However, if a constant pressure
|
|
simulation is being run ("fix npt"_fix_npt.html or "fix
|
|
nph"_fix_nph.html), LAMMPS is already calculating virial terms for the
|
|
pressure every timestep.
|
|
|
|
[Related commands:]
|
|
|
|
"compute"_compute.html, "fix ave/atom"_fix_ave_atom.html, "fix
|
|
ave/spatial"_fix_ave_spatial.html
|
|
|
|
[Default:] none
|
|
|
|
The option defaults are type = scalar, no file output, and ave = one.
|