lammps/doc/fix_viscous.txt

121 lines
4.8 KiB
Plaintext

"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_6 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