fix viscous command

Warning

GPU support for this command has not been tested and may not work as expected.

Syntax

fix ID group-ID viscous gamma keyword values ...
  • ID, group-ID are documented in fix command

  • viscous = style name of this fix command

  • gamma = damping coefficient (force/velocity units)

  • zero or more keyword/value pairs may be appended

keyword = scale
  scale values = type ratio
    type = atom type (1-N)
    ratio = factor to scale the damping coefficient by

Examples

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

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.

Warning

You should specify gamma in force/velocity units. This is not the same as mass/time units, at least for some of the Aspherix® units 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.


Restart, fix_modify, output, run start/stop

No information about this fix is written to binary restart files. None of the fix_modify options are relevant to this fix. No global or per-atom quantities are stored by this fix for access by various output commands. No parameter of this fix can be used with the start/stop keywords of the run command.

Restrictions

none

Default: none