Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
L
lammps
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container Registry
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
multiscale
lammps
Commits
721cd167
Commit
721cd167
authored
17 years ago
by
sjplimp
Browse files
Options
Downloads
Patches
Plain Diff
git-svn-id:
svn://svn.icms.temple.edu/lammps-ro/trunk@1061
f3b2605a-c512-4ea7-a41b-209d697bcdaa
parent
bb5cfe2b
No related branches found
Branches containing commit
No related tags found
No related merge requests found
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
doc/fix_ave_spatial.html
+122
-77
122 additions, 77 deletions
doc/fix_ave_spatial.html
doc/fix_ave_spatial.txt
+121
-76
121 additions, 76 deletions
doc/fix_ave_spatial.txt
doc/fix_ave_time.html
+9
-10
9 additions, 10 deletions
doc/fix_ave_time.html
doc/fix_ave_time.txt
+9
-10
9 additions, 10 deletions
doc/fix_ave_time.txt
with
261 additions
and
173 deletions
doc/fix_ave_spatial.html
+
122
−
77
View file @
721cd167
...
...
@@ -31,8 +31,6 @@
<LI>
delta = thickness of spatial layers in dim (distance units)
<LI>
file = filename to write results to (NULL = no file)
<LI>
style =
<I>
density
</I>
or
<I>
compute
</I>
or
<I>
fix
</I>
<PRE>
<I>
density
</I>
arg =
<I>
mass
</I>
or
<I>
number
</I>
...
...
@@ -43,25 +41,32 @@
</PRE>
<LI>
zero or more keyword/value pairs may be appended
<PRE>
keyword =
<I>
norm
</I>
or
<I>
units
</I>
<LI>
keyword =
<I>
norm
</I>
or
<I>
units
</I>
or
<I>
file
</I>
or
<I>
ave
</I>
<PRE>
<I>
units
</I>
value =
<I>
box
</I>
or
<I>
lattice
</I>
or
<I>
reduced
</I>
<I>
norm
</I>
value =
<I>
all
</I>
or
<I>
sample
</I>
<I>
units
</I>
value =
<I>
box
</I>
or
<I>
lattice
</I>
or
<I>
reduced
</I>
<I>
file
</I>
arg = filename
filename = file to write results to
<I>
ave
</I>
args =
<I>
one
</I>
or
<I>
running
</I>
or
<I>
window M
</I>
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>
</UL>
<P><B>
Examples:
</B>
</P>
<PRE>
fix 1 all ave/spatial 10000 1 10000 z lower
2.0 centro.profile
compute myCentro
fix 1 flow ave/spatial 100 10 1000 y 0.0 1.0
vel.profile
compute Vx norm sample
fix 1 flow ave/spatial 100 5 1000 y 0.0 2.5 dens
.profile density mass
<PRE>
fix 1 all ave/spatial 10000 1 10000 z lower
0.02
compute myCentro
units reduced
fix 1 flow ave/spatial 100 10 1000 y 0.0 1.0 compute Vx norm sample
file vel.profile
fix 1 flow ave/spatial 100 5 1000 y 0.0 2.5 dens
ity mass ave running
</PRE>
<P><B>
Description:
</B>
</P>
<P>
Calculate one or more instantaneous per-atom quantities every few
timesteps, average them by layer in a chosen dimension and over a
longer timescale. The resulting averages can be
written to a file
and/or used by other
<A
HREF =
"Section_howto.html#4_15"
>
output commands
</A>
such as
<A
HREF =
"thermo_style.html"
>
thermo_style custom
</A>
.
longer timescale. The resulting averages can be
used by other
<A
HREF =
"Section_howto.html#4_15"
>
output
commands
</A>
such as
<A
HREF =
"thermo_style.html"
>
thermo_style
custom
</A>
, and also written to a file
.
</P>
<P>
This fix can be used to spatially average per-atom properties
(velocity, force) or per-atom quantities calculated by a
...
...
@@ -70,14 +75,14 @@ and/or used by other <A HREF = "Section_howto.html#4_15">output commands</A> suc
equation you define (see the
<A
HREF =
"compute_variable_atom.html"
>
compute
variable/atom
</A>
command).
</P>
<P>
Th
e
<I>
density
</I>
styles means to simply count
the number of atoms in each
layer,
either by mass or number. The
<I>
compute
</I>
style allows
specification
of a
<A
HREF =
"compute.html"
>
compute
</A>
which will be invoked to
calculate the
desired property. The compute can be previously defined
in the input
script or it can be a compute defined by a
<A
HREF =
"dump.html"
>
dump
custom
</A>
command.
<P>
For styl
e
<I>
density
</I>
,
the number of atoms in each
layer is counted,
either by mass or
by
number. The
<I>
compute
</I>
style allows
specification
of a
<A
HREF =
"compute.html"
>
compute
</A>
which will be invoked to
calculate the
desired property. The compute can be previously defined
in the input
script or it can be a compute defined by a
<A
HREF =
"dump.html"
>
dump
custom
</A>
command.
</P>
<P>
For
th
e
<I>
compute
</I>
style
, the fix ave/spatial command accesses the
<P>
For
styl
e
<I>
compute
</I>
, the fix ave/spatial command accesses the
per-atom scalar or vector values stored by the compute. Thus it must
be a "per-atom" compute with the word "atom" in its style name, rather
than a "global" compute. See the
<A
HREF =
"fix_ave_time.html"
>
fix ave/time
</A>
...
...
@@ -95,28 +100,41 @@ per-atom compute styles and <A HREF = "Section_modify.html">add them to LAMMPS</
Note that the
<A
HREF =
"dump.html"
>
dump custom
</A>
command can also be used to
directly output per-atom quantities calculated by a per-atom compute.
</P>
<P>
For
th
e
<I>
fix
</I>
style
, the fix ave/spatial command accesses the per-atom
<P>
For
styl
e
<I>
fix
</I>
, the fix ave/spatial command accesses the per-atom
scalar or vector values stored by another fix. The
<A
HREF =
"fix_ave_atom.html"
>
fix
ave/atom
</A>
command is an example of such a fix.
</P>
<P>
In all cases, the calculated property is averaged over atoms in each
layer, where the layers are in a particular
<I>
dim
</I>
and have a thickness
given by
<I>
delta
</I>
. Every Nfreq steps, when a property is calculated
for the first time (after a previous write), the number of layers and
the layer boundaries are computed. Thus if the simlation box changes
size during a simulation, the number of layers and their boundaries
may also change. Layers are defined relative to a specified
<I>
origin
</I>
,
which may be the lower/upper edge of the box (in
<I>
dim
</I>
) or its center
point, or a specified coordinate value. Starting at the origin,
sufficient layers are created in both directions to completely cover
the box. On subsequent timesteps every atom is mapped to one of the
layers. Atoms beyond the lowermost/uppermost layer are counted in the
first/last layer.
<P>
The
<I>
Nevery
</I>
,
<I>
Nrepeat
</I>
, and
<I>
Nfreq
</I>
arguments specify on what
timesteps the per-atom property will be evaluated in order to
contribute to the average. The final averaged values are computed
every
<I>
Nfreq
</I>
timesteps. The average is over
<I>
Nrepeat
</I>
values,
computed in the preceeding portion of the simulation every
<I>
Nevery
</I>
timesteps.
<I>
Nfreq
</I>
must be a multiple of
<I>
Nevery
</I>
and
<I>
Nevery
</I>
must
be non-zero even if
<I>
Nrepeat
</I>
is 1.
</P>
<P>
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.
</P>
<P>
The per-atom property is also averaged over atoms in each layer, where
the layers are in a particular
<I>
dim
</I>
and have a thickness given by
<I>
delta
</I>
. Every Nfreq steps, when an averaging is being performed and
the per-atom property is calculated for the first time, the number of
layers and the layer boundaries are computed. Thus if the simlation
box changes size during a simulation, the number of layers and their
boundaries may also change. Layers are defined relative to a
specified
<I>
origin
</I>
, which may be the lower/upper edge of the box (in
<I>
dim
</I>
) or its center point, or a specified coordinate value. Starting
at the origin, sufficient layers are created in both directions to
completely cover the box. On subsequent timesteps every atom is
mapped to one of the layers. Atoms beyond the lowermost/uppermost
layer are counted in the first/last layer.
</P>
<P>
For orthogonal simulation boxes, the layers are "slices" aligned with
the xyz coordinate axes. For non-orthogonal (triclinic) simulation
boxes, the layers are "tilted slices" that a
lign with
the tilted
faces
of the box. See the
<A
HREF =
"region.html"
>
region prism
</A>
command for a
boxes, the layers are "tilted slices" that a
re parallel to
the tilted
faces
of the box. See the
<A
HREF =
"region.html"
>
region prism
</A>
command for a
discussion of the geometry of tilted boxes in LAMMPS. As described
there, a tilted simulation box has edge vectors a,b,c. In that
nomenclature, layers in the x dimension have faces with normals in the
...
...
@@ -124,12 +142,26 @@ nomenclature, layers in the x dimension have faces with normals in the
cross "c" direction. And layers in z have faces normal to the "a"
cross "b" direction. Note that in order to define the thickness and
position of these tilted layers in an unambiguous fashion, the
<I>
units
</I>
option must be set to
<I>
reduced
</I>
.
option must be set to
<I>
reduced
</I>
when using a non-orthogonal simulation
box, as discussed below.
</P>
<P>
For the
<I>
compute
</I>
and
<I>
fix
</I>
keywords, the per-atom calculation
performed by the compute or fix is on the group defined by that
command. However, only atoms in the fix group are included in the
layer averaging.
</P>
<P>
Note that some computes perform costly calculations, involving the
creation or use of neighbor lists. If the compute is invoked too
often by fix ave/spatial, it can slow down a simulation.
</P>
<HR>
<P>
Additional optional keywords also affect the operation of this fix.
</P>
<P>
The
<I>
units
</I>
keyword determines the meaning of the distance units used
for the layer thickness
<I>
delta
</I>
and for
<I>
origin
</I>
if it is a coordinate
value. For orthogonal simulation boxes, any of the 3 options may be
used. For non-ortho
n
gal (triclinic) simulation boxes, only the
used. For non-orthog
on
al (triclinic) simulation boxes, only the
<I>
reduced
</I>
option may be used.
</P>
<P>
A
<I>
box
</I>
value selects standard distance units as defined by the
...
...
@@ -149,52 +181,64 @@ the lower "b" cross "c" plane of the simulation box and an <I>origin</I> of
A
<I>
delta
</I>
value of 0.1 means there will be 10 layers from 0.0 to 1.0,
regardless of the current size or shape of the simulation box.
</P>
<P>
The
<I>
Nevery
</I>
,
<I>
Nrepeat
</I>
, and
<I>
Nfreq
</I>
arguments specify how the
property will be time-averaged. The final averaged value(s) are
computed every
<I>
Nfreq
</I>
timesteps. The average is over
<I>
Nrepeat
</I>
values, computed in the preceeding portion of the simulation every
<I>
Nevery
</I>
timesteps. Thus 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.
</P>
<P>
The
<I>
norm
</I>
keyword also affects how time-averaging is done. For an
<I>
all
</I>
setting, a layer quantity is summed over all atoms in all
Nfreq/Nevery samples, as is the count of atoms in the layer. The
printed value for the layer is Total-quantity / Total-count.
In other words it is an average over the entire Nfreq timescale.
<P>
The
<I>
norm
</I>
keyword affects how time-averaging is done within for the
output produced every
<I>
Nfreq
</I>
timesteps. For an
<I>
all
</I>
setting, a
layer quantity is summed over all atoms in all
<I>
Nrepeat
</I>
samples, as
is the count of atoms in the layer. The printed value for the layer
is Total-quantity / Total-count. In other words it is an average over
the entire
<I>
Nfreq
</I>
timescale.
</P>
<P>
For a
<I>
sample
</I>
setting, the quantity is summed over atoms for only a
single sample, as is the count, and a "average sample value" is
computed, i.e. Sample-quantity / Sample-count. The printed value for
the layer is the average of the M "average sample values", where M =
Nfreq/Nevery. In other words it is an average of an average.
</P>
<P>
If file output is specified, each time info is written to the file, it
is in the following format. A line with the timestep and number of
layers is written. Then one line per layer is written, containing the
layer ID (1-N), the coordinate of the center of the layer, the number
of atoms in the layer, and one or more calculated values. The number
of atoms and the value(s) are average quantities. If the value of the
<I>
units
</I>
keyword is
<I>
box
</I>
or
<I>
lattice
</I>
, the "coord" is printed in box
units. If the value of the
<I>
units
</I>
keyword is
<I>
reduced
</I>
, the "coord"
is printed in reduced units (0-1).
</P>
<P>
If the
<I>
density
</I>
keyword is used, or the
<I>
compute
</I>
or
<I>
fix
</I>
keyword
with a compute/fix that calculates a single quantity per atom, then a
single value will be printed for each layer. If the
<I>
compute
</I>
or
<I>
fix
</I>
keyword is used with a compute/fix that calculates N quantities
per atom, then N values per line will be written, each of them
averaged independently.
</P>
<P>
For the
<I>
compute
</I>
and
<I>
fix
</I>
keywords, the calculation performed by the
compute or fix is on the group defined by the that command. However,
only atoms in the fix group are included in the layer averaging.
</P>
<P>
Note that some computes perform costly calculations, involving use of
or creation of neighbor lists. If the compute is invoked too often by
fix ave/spatial, it can slow down a simulation.
the layer is the average of the
<I>
Nrepeat
</I>
"average sample values", In
other words it is an average of an average.
</P>
<P>
The
<I>
file
</I>
keyword allows a filename to be specified. Every
<I>
Nfreq
</I>
timesteps, layer info will be written to a text file in the following
format. A line with the timestep and number of layers is written.
Then one line per layer is written, containing the layer ID (1-N), the
coordinate of the center of the layer, the number of atoms in the
layer, and one or more calculated values. The number of atoms and the
value(s) are average quantities. If the value of the
<I>
units
</I>
keyword
is
<I>
box
</I>
or
<I>
lattice
</I>
, the "coord" is printed in box units. If the
value of the
<I>
units
</I>
keyword is
<I>
reduced
</I>
, the "coord" is printed in
reduced units (0-1).
</P>
<P>
If the style is
<I>
density
</I>
, or the style is
<I>
compute
</I>
or
<I>
fix
</I>
with a
compute/fix that calculates a single quantity per atom, then a single
value will be printed for each layer. If the style is
<I>
compute
</I>
or
<I>
fix
</I>
with a compute/fix that calculates N quantities per atom, then N
values per line will be written, each of them averaged independently.
</P>
<P>
The
<I>
ave
</I>
keyword determines how the layer values produced every
<I>
Nfreq
</I>
steps are averaged with layer values produced on previous
steps that were multiples of
<I>
Nfreq
</I>
, before they are accessed by
another output command or written to a file.
</P>
<P>
If the
<I>
ave
</I>
setting is
<I>
one
</I>
, then the layuer values produced on
timesteps that are multiples of
<I>
Nfreq
</I>
are independent of each other;
they are output as-is without further averaging.
</P>
<P>
If the
<I>
ave
</I>
setting is
<I>
running
</I>
, then the layer values produced on
timesteps that are multiples of
<I>
Nfreq
</I>
are summed and averaged in a
cummulative sense before being output. Each output layer value is
thus the average of the layer value produced on that timestep with all
preceeding values for the same layer. This running average begins
when the fix is defined; it can only be restarted by deleting the fix
via the
<A
HREF =
"unfix.html"
>
unfix
</A>
command, or re-defining the fix by
re-specifying it.
</P>
<P>
If the
<I>
ave
</I>
setting is
<I>
window
</I>
, then the layer values produced on
timesteps that are multiples of
<I>
Nfreq
</I>
are summed and averaged within
a moving "window" of time, so that the last M values for the same
layer 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
layer values on steps 8000,9000,10000. Outputs on early steps will
average over less than M values if they are not available.
</P>
<HR>
<P><B>
Restart, fix_modify, output, run start/stop, minimize info:
</B>
</P>
<P>
No information about this fix is written to
<A
HREF =
"restart.html"
>
binary restart
...
...
@@ -224,6 +268,7 @@ minimization</A>.
</P>
<P><B>
Default:
</B>
</P>
<P>
The option defaults are norm = all and units = lattice.
<P>
The option defaults are units = lattice, norm = all, no file output,
and ave = one.
</P>
</HTML>
This diff is collapsed.
Click to expand it.
doc/fix_ave_spatial.txt
+
121
−
76
View file @
721cd167
...
...
@@ -20,7 +20,6 @@ Nfreq = timestep frequency at which the average value is computed :l
dim = {x} or {y} or {z} :l
origin = {lower} or {center} or {upper} or coordinate value (distance units) :l
delta = thickness of spatial layers in dim (distance units) :l
file = filename to write results to (NULL = no file) :l
style = {density} or {compute} or {fix} :l
{density} arg = {mass} or {number}
{mass} = compute mass density
...
...
@@ -28,24 +27,30 @@ style = {density} or {compute} or {fix} :l
{compute} arg = compute-ID that stores or calculates per-atom quantities
{fix} arg = fix-ID that stores or calculates per-atom quantities :pre
zero or more keyword/value pairs may be appended :l
keyword = {norm} or {units}
keyword = {norm} or {units} or {file} or {ave} :l
{units} value = {box} or {lattice} or {reduced}
{norm} value = {all} or {sample}
{units} value = {box} or {lattice} or {reduced} :pre
{file} arg = filename
filename = file to write results to
{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/spatial 10000 1 10000 z lower
2.0 centro.profile
compute myCentro
fix 1 flow ave/spatial 100 10 1000 y 0.0 1.0
vel.profile
compute Vx norm sample
fix 1 flow ave/spatial 100 5 1000 y 0.0 2.5 dens
.profile density mass
:pre
fix 1 all ave/spatial 10000 1 10000 z lower
0.02
compute myCentro
units reduced
fix 1 flow ave/spatial 100 10 1000 y 0.0 1.0 compute Vx norm sample
file vel.profile
fix 1 flow ave/spatial 100 5 1000 y 0.0 2.5 dens
ity mass ave running
:pre
[Description:]
Calculate one or more instantaneous per-atom quantities every few
timesteps, average them by layer in a chosen dimension and over a
longer timescale. The resulting averages can be
written to a file
and/or used by other "output
commands"_Section_howto.html#4_15 such as
"thermo_style
custom"_thermo_style.html.
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 spatially average per-atom properties
(velocity, force) or per-atom quantities calculated by a
...
...
@@ -54,14 +59,14 @@ This fix can be used to spatially average per-atom properties
equation you define (see the "compute
variable/atom"_compute_variable_atom.html command).
The {density} styles means to simply count
the number of atoms in each
layer,
either by mass or number. The {compute} style allows
specification
of a "compute"_compute.html which will be invoked to
calculate the
desired property. The compute can be previously defined
in the input
script or it can be a compute defined by a "dump
custom"_dump.html
command.
For style {density},
the number of atoms in each
layer is counted,
either by mass or
by
number. The {compute} style allows
specification
of a "compute"_compute.html which will be invoked to
calculate the
desired property. The compute can be previously defined
in the input
script or it can be a compute defined by a "dump
custom"_dump.html
command.
For
th
e {compute}
style
, the fix ave/spatial command accesses the
For
styl
e {compute}, the fix ave/spatial command accesses the
per-atom scalar or vector values stored by the compute. Thus it must
be a "per-atom" compute with the word "atom" in its style name, rather
than a "global" compute. See the "fix ave/time"_fix_ave_time.html
...
...
@@ -79,28 +84,41 @@ per-atom compute styles and "add them to LAMMPS"_Section_modify.html.
Note that the "dump custom"_dump.html command can also be used to
directly output per-atom quantities calculated by a per-atom compute.
For
th
e {fix}
style
, the fix ave/spatial command accesses the per-atom
For
styl
e {fix}, the fix ave/spatial command accesses the per-atom
scalar or vector values stored by another fix. The "fix
ave/atom"_fix_ave_atom.html command is an example of such a fix.
In all cases, the calculated property is averaged over atoms in each
layer, where the layers are in a particular {dim} and have a thickness
given by {delta}. Every Nfreq steps, when a property is calculated
for the first time (after a previous write), the number of layers and
the layer boundaries are computed. Thus if the simlation box changes
size during a simulation, the number of layers and their boundaries
may also change. Layers are defined relative to a specified {origin},
which may be the lower/upper edge of the box (in {dim}) or its center
point, or a specified coordinate value. Starting at the origin,
sufficient layers are created in both directions to completely cover
the box. On subsequent timesteps every atom is mapped to one of the
layers. Atoms beyond the lowermost/uppermost layer are counted in the
first/last layer.
The {Nevery}, {Nrepeat}, and {Nfreq} arguments specify on what
timesteps the per-atom property will be evaluated in order to
contribute to the average. The final averaged values 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.
The per-atom property is also averaged over atoms in each layer, where
the layers are in a particular {dim} and have a thickness given by
{delta}. Every Nfreq steps, when an averaging is being performed and
the per-atom property is calculated for the first time, the number of
layers and the layer boundaries are computed. Thus if the simlation
box changes size during a simulation, the number of layers and their
boundaries may also change. Layers are defined relative to a
specified {origin}, which may be the lower/upper edge of the box (in
{dim}) or its center point, or a specified coordinate value. Starting
at the origin, sufficient layers are created in both directions to
completely cover the box. On subsequent timesteps every atom is
mapped to one of the layers. Atoms beyond the lowermost/uppermost
layer are counted in the first/last layer.
For orthogonal simulation boxes, the layers are "slices" aligned with
the xyz coordinate axes. For non-orthogonal (triclinic) simulation
boxes, the layers are "tilted slices" that a
lign with
the tilted
faces
of the box. See the "region prism"_region.html command for a
boxes, the layers are "tilted slices" that a
re parallel to
the tilted
faces
of the box. See the "region prism"_region.html command for a
discussion of the geometry of tilted boxes in LAMMPS. As described
there, a tilted simulation box has edge vectors a,b,c. In that
nomenclature, layers in the x dimension have faces with normals in the
...
...
@@ -108,12 +126,26 @@ nomenclature, layers in the x dimension have faces with normals in the
cross "c" direction. And layers in z have faces normal to the "a"
cross "b" direction. Note that in order to define the thickness and
position of these tilted layers in an unambiguous fashion, the {units}
option must be set to {reduced}.
option must be set to {reduced} when using a non-orthogonal simulation
box, as discussed below.
For the {compute} and {fix} keywords, the per-atom calculation
performed by the compute or fix is on the group defined by that
command. However, only atoms in the fix group are included in the
layer averaging.
Note that some computes perform costly calculations, involving the
creation or use of neighbor lists. If the compute is invoked too
often by fix ave/spatial, it can slow down a simulation.
:line
Additional optional keywords also affect the operation of this fix.
The {units} keyword determines the meaning of the distance units used
for the layer thickness {delta} and for {origin} if it is a coordinate
value. For orthogonal simulation boxes, any of the 3 options may be
used. For non-ortho
n
gal (triclinic) simulation boxes, only the
used. For non-orthog
on
al (triclinic) simulation boxes, only the
{reduced} option may be used.
A {box} value selects standard distance units as defined by the
...
...
@@ -133,51 +165,63 @@ the lower "b" cross "c" plane of the simulation box and an {origin} of
A {delta} value of 0.1 means there will be 10 layers from 0.0 to 1.0,
regardless of the current size or shape of the simulation box.
The {Nevery}, {Nrepeat}, and {Nfreq} arguments specify how the
property will be time-averaged. 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. Thus 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.
The {norm} keyword also affects how time-averaging is done. For an
{all} setting, a layer quantity is summed over all atoms in all
Nfreq/Nevery samples, as is the count of atoms in the layer. The
printed value for the layer is Total-quantity / Total-count.
In other words it is an average over the entire Nfreq timescale.
The {norm} keyword affects how time-averaging is done within for the
output produced every {Nfreq} timesteps. For an {all} setting, a
layer quantity is summed over all atoms in all {Nrepeat} samples, as
is the count of atoms in the layer. The printed value for the layer
is Total-quantity / Total-count. In other words it is an average over
the entire {Nfreq} timescale.
For a {sample} setting, the quantity is summed over atoms for only a
single sample, as is the count, and a "average sample value" is
computed, i.e. Sample-quantity / Sample-count. The printed value for
the layer is the average of the M "average sample values", where M =
Nfreq/Nevery. In other words it is an average of an average.
If file output is specified, each time info is written to the file, it
is in the following format. A line with the timestep and number of
layers is written. Then one line per layer is written, containing the
layer ID (1-N), the coordinate of the center of the layer, the number
of atoms in the layer, and one or more calculated values. The number
of atoms and the value(s) are average quantities. If the value of the
{units} keyword is {box} or {lattice}, the "coord" is printed in box
units. If the value of the {units} keyword is {reduced}, the "coord"
is printed in reduced units (0-1).
If the {density} keyword is used, or the {compute} or {fix} keyword
with a compute/fix that calculates a single quantity per atom, then a
single value will be printed for each layer. If the {compute} or
{fix} keyword is used with a compute/fix that calculates N quantities
per atom, then N values per line will be written, each of them
averaged independently.
For the {compute} and {fix} keywords, the calculation performed by the
compute or fix is on the group defined by the that command. However,
only atoms in the fix group are included in the layer averaging.
Note that some computes perform costly calculations, involving use of
or creation of neighbor lists. If the compute is invoked too often by
fix ave/spatial, it can slow down a simulation.
the layer is the average of the {Nrepeat} "average sample values", In
other words it is an average of an average.
The {file} keyword allows a filename to be specified. Every {Nfreq}
timesteps, layer info will be written to a text file in the following
format. A line with the timestep and number of layers is written.
Then one line per layer is written, containing the layer ID (1-N), the
coordinate of the center of the layer, the number of atoms in the
layer, and one or more calculated values. The number of atoms and the
value(s) are average quantities. If the value of the {units} keyword
is {box} or {lattice}, the "coord" is printed in box units. If the
value of the {units} keyword is {reduced}, the "coord" is printed in
reduced units (0-1).
If the style is {density}, or the style is {compute} or {fix} with a
compute/fix that calculates a single quantity per atom, then a single
value will be printed for each layer. If the style is {compute} or
{fix} with a compute/fix that calculates N quantities per atom, then N
values per line will be written, each of them averaged independently.
The {ave} keyword determines how the layer values produced every
{Nfreq} steps are averaged with layer 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 layuer 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 layer values produced on
timesteps that are multiples of {Nfreq} are summed and averaged in a
cummulative sense before being output. Each output layer value is
thus the average of the layer value produced on that timestep with all
preceeding values for the same layer. 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 layer 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 for the same
layer 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
layer 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:]
...
...
@@ -208,4 +252,5 @@ minimization"_minimize.html.
[Default:]
The option defaults are norm = all and units = lattice.
The option defaults are units = lattice, norm = all, no file output,
and ave = one.
This diff is collapsed.
Click to expand it.
doc/fix_ave_time.html
+
9
−
10
View file @
721cd167
...
...
@@ -37,8 +37,6 @@
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
<I>
file
</I>
arg = filename
filename = file to write results to
<I>
ave
</I>
args =
<I>
one
</I>
or
<I>
running
</I>
or
<I>
window M
</I>
one = output new average value every Nfreq steps
running = output cummulative average of all previous Nfreq steps
...
...
@@ -102,7 +100,7 @@ timestep 200, etc.
</P>
<HR>
<P>
Additional optional keywords also affect the
av
era
ging
.
<P>
Additional optional keywords also affect the
op
era
tion of this fix
.
</P>
<P>
The
<I>
type
</I>
keyword chooses whether the scalar and/or vector quantities
produced by the compute or fix are used. For a setting of
<I>
scalar
</I>
a
...
...
@@ -117,8 +115,9 @@ and/or N vector quantities are written to the file in a
self-explanatory text format.
</P>
<P>
The
<I>
ave
</I>
keyword determines how the scalar and/or vector values
produced every
<I>
Nfreq
</I>
steps are averaged with each other before they
are accessed by another output command or written to a file.
produced every
<I>
Nfreq
</I>
steps are averaged with values produced on
previous steps that were multiples of
<I>
Nfreq
</I>
, before they are
accessed by another output command or written to a file.
</P>
<P>
If the
<I>
ave
</I>
setting is
<I>
one
</I>
, then the values produced on timesteps
that are multiples of
<I>
Nfreq
</I>
are independent of each other; they are
...
...
@@ -127,10 +126,10 @@ output as-is without further averaging.
<P>
If the
<I>
ave
</I>
setting is
<I>
running
</I>
, then the values produced on
timesteps that are multiples of
<I>
Nfreq
</I>
are summed and averaged in a
cummulative sense before being output. Each output value is thus the
average of the value 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
<A
HREF =
"unfix.html"
>
unfix
</A>
command, or
re-defining the fix by re-specifying it.
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
<A
HREF =
"unfix.html"
>
unfix
</A>
command, or
re-defining the fix by re-specifying it.
</P>
<P>
If the
<I>
ave
</I>
setting is
<I>
window
</I>
, then the values produced on
timesteps that are multiples of
<I>
Nfreq
</I>
are summed and averaged within
...
...
@@ -176,6 +175,6 @@ ave/spatial</A>
</P>
<P><B>
Default:
</B>
none
</P>
<P>
The option defaults are
s
ty
l
e = scalar, no file output, and ave = one.
<P>
The option defaults are ty
p
e = scalar, no file output, and ave = one.
</P>
</HTML>
This diff is collapsed.
Click to expand it.
doc/fix_ave_time.txt
+
9
−
10
View file @
721cd167
...
...
@@ -26,8 +26,6 @@ keyword = {type} or {file} or {ave} :l
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
{file} arg = filename
filename = file to write results to
{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
...
...
@@ -90,7 +88,7 @@ timestep 200, etc.
:line
Additional optional keywords also affect the
av
era
ging
.
Additional optional keywords also affect the
op
era
tion 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
...
...
@@ -105,8 +103,9 @@ 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 each other before they
are accessed by another output command or written to a file.
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
...
...
@@ -115,10 +114,10 @@ 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 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.
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
...
...
@@ -164,4 +163,4 @@ ave/spatial"_fix_ave_spatial.html
[Default:] none
The option defaults are
s
ty
l
e = scalar, no file output, and ave = one.
The option defaults are ty
p
e = scalar, no file output, and ave = one.
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment