diff --git a/doc/Section_commands.html b/doc/Section_commands.html index 759239baa5..1fa9522635 100644 --- a/doc/Section_commands.html +++ b/doc/Section_commands.html @@ -334,7 +334,7 @@ description:
Syntax: +
+compute ID group-ID reduce mode input1 input2 ... ++
x,y,z,vx,vy,vz,fx,fy,fz = atom attribute (position, velocity, force component) + c_ID = per-atom scalar value calculated by a compute with ID + c_ID[N] = Nth component of per-atom vector calculated by a compute with ID + f_ID = per-atom scalar value calculated by a fix with ID + f_ID[N] = Nth component of per-atom vector calculated by a fix with ID + v_name = per-atom value calculated by an atom-style variable with name ++ +
Examples: +
+compute 1 all reduce sum c_force +compute 2 all reduce min c_press2 f_ave v_myKE ++
Description: +
+Define a calculation that "reduces" one or more per-atom inputs across +all atoms in the group to yield a single global scalar for each listed +input. The resulting value(s) can be accessed by any command that +uses global computes, e.g. the thermo custom +command or fix ave/time command or by a +variable command. See this +section of the documentation for an overview +of output options. +
+The reduction operation is specified by the mode setting. The sum +option adds the per-atom quantities into a global total. The min or +max options find the minimum or maximum value across all per-atom +quantities. +
+Each listed input is operated on independently. The group specified +with the command means only atoms within the group contribute to the +result. Note that the input that produces the per-atom quantities may +define its own group which affects the quantities it returns. For +example, if a per-atom compute is used as an input, it will generate +values of 0.0 for atoms that are not in the group specified for that +compute. +
+Each listed input can be an atom attribute (position, velocity, force +component) or can be the result of a compute or +fix or the evaluation of an atom-style +variable. In the latter cases, the compute, fix, or +variable must produce per-atom quantities, not a global quantity. +
+Computes that produce per-atom quantities are those +which have the word atom in their style name. See the doc pages for +individual fixes to determine which ones produce per-atom +quantities. Variables of style atom are the only +ones that can be used with this compute since all other variable +styles produce global quantities. +
+If a single input is specified this compute produces a global scalar +value. If multiple inputs are specified, this compute produces a +vector of global values, the length of which is equal to the number of +inputs specified. +
+The value(s) produced by this compute are all "extensive", meaning +their value scales linearly with the number of atoms involved. If +normalized values are desired, this compute can be accessed by the +thermo_style custom command with thermo_modify +norm yes set as an option. Or it can be accessed +by a variable that divides by the appropriate atom +count. +
+Output info: +
+The scalar and vector values calculated by this compute are +"extensive", meaning they scale with the number of atoms in the +simulation. +
+Restrictions: none +
+Related commands: +
+ +Default: none +
+ diff --git a/doc/compute_reduce.txt b/doc/compute_reduce.txt new file mode 100644 index 0000000000..769b33562e --- /dev/null +++ b/doc/compute_reduce.txt @@ -0,0 +1,95 @@ +"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 reduce command :h3 + +[Syntax:] + +compute ID group-ID reduce mode input1 input2 ... :pre + +ID, group-ID are documented in "compute"_compute.html command :ulb,l +reduce = style name of this compute command :l +mode = {sum} or {min} or {max} :l +one or more inputs can be listed :l +input = x, y, z, vx, vy, vz, fx, fy, fz, c_ID, c_ID\[N\], f_ID, f_ID\[N\], v_name :l + x,y,z,vx,vy,vz,fx,fy,fz = atom attribute (position, velocity, force component) + c_ID = per-atom scalar value calculated by a compute with ID + c_ID\[N\] = Nth component of per-atom vector calculated by a compute with ID + f_ID = per-atom scalar value calculated by a fix with ID + f_ID\[N\] = Nth component of per-atom vector calculated by a fix with ID + v_name = per-atom value calculated by an atom-style variable with name :pre +:ule + +[Examples:] + +compute 1 all reduce sum c_force +compute 2 all reduce min c_press[2] f_ave v_myKE :pre + +[Description:] + +Define a calculation that "reduces" one or more per-atom inputs across +all atoms in the group to yield a single global scalar for each listed +input. The resulting value(s) can be accessed by any command that +uses global computes, e.g. the "thermo custom"_therml_style.html +command or "fix ave/time"_fix_ave_time.html command or by a +"variable"_variable.html command. See "this +section"_Section_howto.html#4_15 of the documentation for an overview +of output options. + +The reduction operation is specified by the {mode} setting. The {sum} +option adds the per-atom quantities into a global total. The {min} or +{max} options find the minimum or maximum value across all per-atom +quantities. + +Each listed input is operated on independently. The group specified +with the command means only atoms within the group contribute to the +result. Note that the input that produces the per-atom quantities may +define its own group which affects the quantities it returns. For +example, if a per-atom compute is used as an input, it will generate +values of 0.0 for atoms that are not in the group specified for that +compute. + +Each listed input 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 per-atom quantities, not a global quantity. + +"Computes"_compute.html that produce per-atom quantities 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 +quantities. "Variables"_variable.html of style {atom} are the only +ones that can be used with this compute since all other variable +styles produce global quantities. + +If a single input is specified this compute produces a global scalar +value. If multiple inputs are specified, this compute produces a +vector of global values, the length of which is equal to the number of +inputs specified. + +The value(s) produced by this compute are all "extensive", meaning +their value scales linearly with the number of atoms involved. If +normalized values are desired, this compute can be accessed by the +"thermo_style custom"_thermo_style.html command with "thermo_modify +norm yes"_thermo_modify.html set as an option. Or it can be accessed +by a "variable"_variable.html that divides by the appropriate atom +count. + +[Output info:] + +The scalar and vector values calculated by this compute are +"extensive", meaning they scale with the number of atoms in the +simulation. + +[Restrictions:] none + +[Related commands:] + +"compute"_compute.html, "fix"_fix.html, "variable"_variable.html + +[Default:] none