2011-06-08 01:25:14 +08:00
|
|
|
"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
|
|
|
|
|
|
|
|
compute slice command :h3
|
|
|
|
|
|
|
|
[Syntax:]
|
|
|
|
|
|
|
|
compute ID group-ID slice Nstart Nstop Nskip input1 input2 ... :pre
|
|
|
|
|
|
|
|
ID, group-ID are documented in "compute"_compute.html command :ulb,l
|
|
|
|
slice = style name of this compute command :l
|
|
|
|
Nstart = starting index within input vector(s) :l
|
|
|
|
Nstop = stopping index within input vector(s) :l
|
|
|
|
Nskip = extract every Nskip elements from input vector(s) :l
|
|
|
|
input = c_ID, c_ID\[N\], f_ID, f_ID\[N\] :l
|
|
|
|
c_ID = global vector calculated by a compute with ID
|
|
|
|
c_ID\[I\] = Ith column of global array calculated by a compute with ID
|
|
|
|
f_ID = global vector calculated by a fix with ID
|
|
|
|
f_ID\[I\] = Ith column of global array calculated by a fix with ID :pre
|
|
|
|
:ule
|
|
|
|
|
|
|
|
[Examples:]
|
|
|
|
|
|
|
|
compute 1 all slice 1 100 10 c_msdmol\[4\]
|
|
|
|
compute 1 all slice 301 400 1 c_msdmol\[4\] :pre
|
|
|
|
|
|
|
|
[Description:]
|
|
|
|
|
|
|
|
Define a calculation that "slices" one or more vector inputs into
|
|
|
|
smaller vectors, one per listed input. The inputs can be global
|
|
|
|
quantities; they cannot be per-atom or local quantities.
|
|
|
|
"Computes"_compute.html and "fixes"_fix.html may generate any of the
|
|
|
|
three kinds of quantities. "Variables"_variable.html do not generate
|
|
|
|
global vectors. The group specified with this command is ignored.
|
|
|
|
|
|
|
|
The values extracted from the input vector(s) are determined by the
|
|
|
|
{Nstart}, {Nstop}, and {Nskip} parameters. The elements of an input
|
|
|
|
vector of length N are indexed from 1 to N. Starting at element
|
|
|
|
{Nstart}, every Mth element is extracted, where M = {Nskip}, until
|
|
|
|
element {Nstop} is reached. The extracted quantities are stored as a
|
|
|
|
vector, which is typically shorter than the input vector.
|
|
|
|
|
|
|
|
Each listed input is operated on independently to produce one output
|
|
|
|
vector. Each listed input must be a global vector or column of a
|
|
|
|
global array calculated by another "compute"_compute.html or
|
|
|
|
"fix"_fix.html.
|
|
|
|
|
|
|
|
If an input value begins with "c_", a compute ID must follow which has
|
|
|
|
been previously defined in the input script and which generates a
|
|
|
|
global vector or array. See the individual "compute"_compute.html doc
|
|
|
|
page for details. If no bracketed integer is appended, the vector
|
|
|
|
calculated by the compute is used. If a bracketed interger is
|
|
|
|
appended, the Ith column of the 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 and which generates a global
|
|
|
|
vector or array. See the individual "fix"_fix.html doc page for
|
|
|
|
details. Note that some fixes only produce their values on certain
|
|
|
|
timesteps, which must be compatible with when compute slice references
|
|
|
|
the values, else an error results. If no bracketed integer is
|
|
|
|
appended, the vector calculated by the fix is used. If a bracketed
|
|
|
|
integer is appended, the Ith column of the array calculated by the fix
|
|
|
|
is used. Users can also write code for their own fix style and "add
|
|
|
|
them to LAMMPS"_Section_modify.html.
|
|
|
|
|
|
|
|
If a single input is specified this compute produces a global vector,
|
|
|
|
even if the length of the vector is 1. If multiple inputs are
|
|
|
|
specified, then a global array of values is produced, with the number
|
|
|
|
of columns equal to the number of inputs specified.
|
|
|
|
|
|
|
|
:line
|
|
|
|
|
|
|
|
[Output info:]
|
|
|
|
|
|
|
|
This compute calculates a global vector if a single input value is
|
|
|
|
specified or a global array with N columns where N is the number of
|
|
|
|
inputs. The length of the vector or the number of rows in the array
|
|
|
|
is equal to the number of values extracted from each input vector.
|
|
|
|
These values can be used by any command that uses global vector or
|
|
|
|
array values from a compute as input. See "this
|
2011-08-26 01:01:01 +08:00
|
|
|
section"_Section_howto.html#howto_15 for an overview of LAMMPS output
|
2011-06-08 01:25:14 +08:00
|
|
|
options.
|
|
|
|
|
|
|
|
The vector or array values calculated by this compute are simply
|
|
|
|
copies of values generated by computes or fixes that are input vectors
|
|
|
|
to this compute. If there is a single input vector of intensive
|
|
|
|
and/or extensive values, then each value in the vector of values
|
|
|
|
calculated by this compute will be "intensive" or "extensive",
|
|
|
|
depending on the corresponding input value. If there are multiple
|
|
|
|
input vectors, and all the values in them are intensive, then the
|
|
|
|
array values calculated by this compute are "intensive". If there are
|
|
|
|
multiple input vectors, and any value in them is extensive, then the
|
|
|
|
array values calculated by this compute are "extensive".
|
|
|
|
|
|
|
|
The vector or array values will be in whatever "units"_units.html the
|
|
|
|
input quantities are in.
|
|
|
|
|
|
|
|
[Restrictions:] none
|
|
|
|
|
|
|
|
[Related commands:]
|
|
|
|
|
|
|
|
"compute"_compute.html, "fix"_fix.html, "compute
|
|
|
|
reduce"_compute_reduce.html
|
|
|
|
|
|
|
|
[Default:] none
|