"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 langevin command :h3

[Syntax:]

fix ID group-ID langevin Tstart Tstop damp seed keyword values ... :pre

ID, group-ID are documented in "fix"_fix.html command :ulb,l
langevin = style name of this fix command :l
Tstart,Tstop = desired temperature at start/end of run (temperature units) :l
damp = damping parameter (time units) :l
seed = random # seed to use for white noise (positive integer) :l
zero or more keyword/value pairs may be appended :l
keyword = {axes} or {scale} or {region}
  {axes} values = xflag yflag zflag
    xflag,yflag,zflag = 0/1 to exclude/include a dimension in the thermostat
  {scale} values = type ratio
    type = atom type (1-N)
    ratio = factor to scale the damping coefficient by
  {region} values = region-ID
    region-ID = ID of region to apply thermostat to :pre
:ule

[Examples:]

fix 3 boundary langevin 1.0 1.0 1000.0 699483
fix 1 all langevin 1.0 1.1 100.0 48279 axes 0 1 1
fix 3 boundary langevin 1.0 1.0 1000.0 699483 region boundary :pre

[Description:]

Apply a Langevin thermostat to a group of atoms which models an
interaction with a background implicit solvent.  Used with "fix
nve"_fix_nve.html, this command performs Brownian dynamics (BD), since
the total force on each atom will have the form:

F = Fc + Ff + Fr :pre

Fc is the conservative force computed via the usual inter-particle
interactions ("pair_style"_pair_style.html,
"bond_style"_bond_style.html, etc).

The Ff and Fr terms are added by this fix.  Ff = - gamma v and is a
frictional drag or viscous damping term proportional to the particle's
velocity.  Gamma for each atom is computed as m/damp, where m is the
mass of the particle and damp is the damping factor specified by the
user.

Fr is a force due to solvent atoms at a temperature T randomly bumping
into the particle.  As derived from the fluctuation/dissipation
theorum, its magnitude is proportional to sqrt(T m / dt damp), where T
is the desired temperature, m is the mass of the particle, dt is the
timestep size, and damp is the damping factor.  Random numbers are
used to randomize the direction and magnitude of this force as
described in "(Dunweg)"_#Dunweg, where a uniform random number is used
(instead of a Gaussian random number) for speed.

The desired temperature at each timestep is a ramped value during the
run from {Tstart} to {Tstop}.

The {damp} parameter is specified in time units and determines how
rapidly the temperature is relaxed.  For example, a value of 100.0
means to relax the temperature in a timespan of (roughly) 100 time
units (tau or fmsec or psec - see the "units"_units.html command).
The damp factor can be thought of as inversely related to the
viscosity of the solvent.  I.e. a small relaxation time implies a
hi-viscosity solvent and vice versa.  See the discussion about gamma
and viscosity in the documentation for the "fix
viscous"_fix_viscous.html command for more details.

The random # {seed} must be a positive integer.  A Marsaglia random
number generator is used.  Each processor uses the input seed to
generate its own unique seed and its own stream of random numbers.
Thus the dynamics of the system will not be identical on two runs on
different numbers of processors.

The keyword {axes} can be used to specify which dimensions to add Ff
and Fr to.  A flag of 0 means skip that dimension; a flag of 1 means
include that dimension.  The default is 1 for all 3 dimensions.

The keyword {scale} allows the damp factor to be scaled up or down by
the specified factor for atoms of that type.  It can be used multiple
times to adjust damp for several atom types.  Note that specifying a
ratio of 2 increase the relaxation time which is equivalent to the the
solvent's viscosity acting on particles with 1/2 the diameter.  This
is the opposite effect of scale factors used by the "fix
viscous"_fix_viscous.html command, since the damp factor in fix
{langevin} is inversely related to the gamma factor in fix {viscous}.
Also note that the damping factor in fix {langevin} includes the
particle mass in Ff, unlike fix {viscous}.  Thus the mass and size of
different atom types should be accounted for in the choice of ratio
values.

The keyword {region} applies the fix only to atoms that are in the
specified geometric region (and in the fix group).  Since atoms can
enter/leave a region, this test is performed each timestep.

As noted above, fix {langevin} does not update the coordinates or
velocities of its atoms, only the forces.  It is normally used with a
"fix nve"_fix_nve.html that does the time integration.  Fix {langevin}
should not normally be used on atoms that also have their temperature
controlled by another fix - e.g. a "nvt"_fix_nvt.html or
"temp/rescale"_fix_temp_rescale.html fix.

[Restart, fix_modify, output, run start/stop, minimize info:]

No information about this fix is written to "binary restart
files"_restart.html.  Because the state of the random number generator
is not saved in restart files, this means you cannot do "exact"
restarts with this fix, where the simulation continues on the same as
if no restart had taken place.  However, in a statistical sense, a
restarted simulation should produce the same behavior.

None of the "fix_modify"_fix_modify.html options are relevant to this
fix.  No global scalar or vector or per-atom quantities are stored by
this fix for access by various "output
commands"_Section_howto.html#4_15.

This fix can ramp its target temperature over multiple runs, using the
{start} and {stop} keywords of the "run"_run.html command.  See the
"run"_run.html command for details of how to do this.

This fix is not invoked during "energy minimization"_minimize.html.

[Restrictions:] none

[Related commands:]

"fix nvt"_fix_nvt.html, "fix temp/rescale"_fix_temp_rescale.html, "fix
viscous"_fix_viscous.html

[Default:] none

:link(Dunweg)
[(Dunweg)] Dunweg and Paul, Int J of Modern Physics C, 2, 817-27 (1991).
