diff --git a/doc/compute.html b/doc/compute.html index 9291f1a44d..9f5ed1945c 100644 --- a/doc/compute.html +++ b/doc/compute.html @@ -202,6 +202,7 @@ available in LAMMPS:
  • rdf - radial distribution function g(r) histogram of group of atoms
  • reduce - combine per-atom quantities into a single global value
  • reduce/region - same as compute reduce, within a region +
  • slice - extract values from global vector or array
  • stress/atom - stress tensor for each atom
  • temp - temperature of group of atoms
  • temp/asphere - temperature of aspherical particles diff --git a/doc/compute.txt b/doc/compute.txt index aa4c5b035f..47a3ed8291 100644 --- a/doc/compute.txt +++ b/doc/compute.txt @@ -197,6 +197,7 @@ available in LAMMPS: "rdf"_compute_rdf.html - radial distribution function g(r) histogram of group of atoms "reduce"_compute_reduce.html - combine per-atom quantities into a single global value "reduce/region"_compute_reduce.html - same as compute reduce, within a region +"slice"_compute_slice.html - extract values from global vector or array "stress/atom"_compute_stress_atom.html - stress tensor for each atom "temp"_compute_temp.html - temperature of group of atoms "temp/asphere"_compute_temp_asphere.html - temperature of aspherical particles diff --git a/doc/compute_slice.html b/doc/compute_slice.html new file mode 100644 index 0000000000..0519c5be15 --- /dev/null +++ b/doc/compute_slice.html @@ -0,0 +1,124 @@ + +
    LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
    + + + + + + +
    + +

    compute slice command +

    +

    Syntax: +

    +
    compute ID group-ID slice Nstart Nstop Nskip input1 input2 ... 
    +
    + +

    Examples: +

    +
    compute 1 all slice 1 100 10 c_msdmol[4]
    +compute 1 all slice 301 400 1 c_msdmol[4] 
    +
    +

    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 and fixes may generate any of the +three kinds of quantities. Variables 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 or +fix. +

    +

    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 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. +

    +

    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 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. +

    +

    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. +

    +
    + +

    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 +section for an overview of LAMMPS output +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 the +input quantities are in. +

    +

    Restrictions: none +

    +

    Related commands: +

    +

    compute, fix, compute +reduce +

    +

    Default: none +

    + diff --git a/doc/compute_slice.txt b/doc/compute_slice.txt new file mode 100644 index 0000000000..14e5e42f8a --- /dev/null +++ b/doc/compute_slice.txt @@ -0,0 +1,112 @@ +"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 +section"_Section_howto.html#4_15 for an overview of LAMMPS output +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