lammps/doc/fix_langevin.txt

122 lines
5.1 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 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 (integer > 0 and < 900000000) :l
zero or more keyword/value pairs may be appended to the args :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.
The desired temperature at each timestep is a ramped value during the
run from {Tstart} to {Tstop}. The "run"_run.html command documents
how to make the ramping take place across multiple runs.
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} should be a non-zero integer with 1 to 8 digits.
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. Also, the state of
the random number generator is not saved in a restart file. This
means you cannot do exact restarts when a fix {langevin} command is
used.
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.
[Restrictions:] none
[Related commands:]
"fix nvt"_fix_nvt.html, "fix temp/rescale"_fix_temp_rescale.html, "fix
viscous"_fix_viscous.html
[Default:] none