"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 viscous command :h3
fix viscous/cuda command :h3

[Syntax:]

fix ID group-ID viscous gamma keyword values ... :pre
  
ID, group-ID are documented in "fix"_fix.html command :ulb,l
viscous = style name of this fix command :l
gamma = damping coefficient (force/velocity units) :l
zero or more keyword/value pairs may be appended :l
keyword = {scale}
  {scale} values = type ratio
    type = atom type (1-N)
    ratio = factor to scale the damping coefficient by :pre
:ule

[Examples:]

fix 1 flow viscous 0.1
fix 1 damp viscous 0.5 scale 3 2.5 :pre

[Description:]

Add a viscous damping force to atoms in the group that is proportional
to the velocity of the atom.  The added force can be thought of as a
frictional interaction with implicit solvent, i.e. the no-slip Stokes
drag on a spherical particle.  In granular simulations this can be
useful for draining the kinetic energy from the system in a controlled
fashion.  If used without additional thermostatting (to add kinetic
energy to the system), it has the effect of slowly (or rapidly)
freezing the system; hence it can also be used as a simple energy
minimization technique.

The damping force F is given by F = - gamma * velocity.  The larger
the coefficient, the faster the kinetic energy is reduced.  If the
optional keyword {scale} is used, gamma can scaled up or down by the
specified factor for atoms of that type.  It can be used multiple
times to adjust gamma for several atom types.

IMPORTANT NOTE: You should specify gamma in force/velocity units.
This is not the same as mass/time units, at least for some of the
LAMMPS "units"_units.html options like "real" or "metal" that are not
self-consistent.

In a Brownian dynamics context, gamma = Kb T / D, where Kb =
Boltzmann's constant, T = temperature, and D = particle diffusion
coefficient.  D can be written as Kb T / (3 pi eta d), where eta =
dynamic viscosity of the frictional fluid and d = diameter of
particle.  This means gamma = 3 pi eta d, and thus is proportional to
the viscosity of the fluid and the particle diameter.

In the current implementation, rather than have the user specify a
viscosity, gamma is specified directly in force/velocity units.  If
needed, gamma can be adjusted for atoms of different sizes
(i.e. sigma) by using the {scale} keyword.

Note that Brownian dynamics models also typically include a randomized
force term to thermostat the system at a chosen temperature.  The "fix
langevin"_fix_langevin.html command does this.  It has the same
viscous damping term as fix viscous and adds a random force to each
atom.  Hence if using fix {langevin} you do not typically need to use
fix {viscous}.  Also note that the gamma of fix viscous is related to
the damping parameter of "fix langevin"_fix_langevin.html, except that
the units of gamma are force/velocity and the units of damp are time,
so that it can more easily be used as a thermostat.

:line

Styles with a {cuda} 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_accelerate"_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 USER-CUDA package.  They are
only enabled if LAMMPS was built with that package.  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_7 when you invoke LAMMPS, or you can
use the "suffix"_suffix.html command in your input script.

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

:line

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

The forces due to this fix are imposed during an energy minimization,
invoked by the "minimize"_minimize.html command.  This fix should only
be used with damped dynamics minimizers that allow for
non-conservative forces.  See the "min_style"_min_style.html command
for details.

[Restrictions:] none

[Related commands:]

"fix langevin"_fix_langevin.html

[Default:] none
