"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 momentum command :h3
fix momentum/kk command :h3

[Syntax:]

fix ID group-ID momentum N keyword values ... :pre

ID, group-ID are documented in "fix"_fix.html command :ulb,l
momentum = style name of this fix command :l
N = adjust the momentum every this many timesteps
one or more keyword/value pairs may be appended :l
keyword = {linear} or {angular} or {rescale} :l
  {linear} values = xflag yflag zflag
    xflag,yflag,zflag = 0/1 to exclude/include each dimension
  {angular} values = none :pre
  {rescale} values = none :pre
:ule

[Examples:]

fix 1 all momentum 1 linear 1 1 0
fix 1 all momentum 1 linear 1 1 1 rescale
fix 1 all momentum 100 linear 1 1 1 angular :pre

[Description:]

Zero the linear and/or angular momentum of the group of atoms every N
timesteps by adjusting the velocities of the atoms.  One (or both) of
the {linear} or {angular} keywords must be specified.

If the {linear} keyword is used, the linear momentum is zeroed by
subtracting the center-of-mass velocity of the group from each atom.
This does not change the relative velocity of any pair of atoms.  One
or more dimensions can be excluded from this operation by setting the
corresponding flag to 0.

If the {angular} keyword is used, the angular momentum is zeroed by
subtracting a rotational component from each atom.

This command can be used to insure the entire collection of atoms (or
a subset of them) does not drift or rotate during the simulation due
to random perturbations (e.g. "fix langevin"_fix_langevin.html
thermostatting).

The {rescale} keyword enables conserving the kinetic energy of the group
of atoms by rescaling the velocities after the momentum was removed.

Note that the "velocity"_velocity.html command can be used to create
initial velocities with zero aggregate linear and/or angular momentum.

:line

Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are
functionally the same as the corresponding style without the suffix.
They have been optimized to run faster, depending on your available
hardware, as discussed in "Section 5"_Section_accelerate.html
of the manual.  The accelerated styles take the same arguments and
should produce the same results, except for round-off and precision
issues.

These accelerated styles are part of the GPU, USER-INTEL, KOKKOS,
USER-OMP and OPT packages, respectively.  They are only enabled if
LAMMPS was built with those packages.  See the "Making
LAMMPS"_Section_start.html#start_3 section for more info.

You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the "-suffix command-line
switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can
use the "suffix"_suffix.html command in your input script.

See "Section 5"_Section_accelerate.html of the manual for
more instructions on how to use the accelerated styles effectively.

[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.  No global or per-atom quantities are stored
by this fix for access by various "output
commands"_Section_howto.html#howto_15.  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:] none

[Related commands:]

"fix recenter"_fix_recenter.html, "velocity"_velocity.html

[Default:] none
