LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands

### fix langevin command

Syntax:

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

- ID, group-ID are documented in fix command
- langevin = style name of this fix command
- Tstart,Tstop = desired temperature at start/end of run (temperature units)
- damp = damping parameter (time units)
- seed = random # seed to use for white noise (positive integer)
- zero or more keyword/value pairs may be appended

      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

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

Description:

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

    F = Fc + Ff + Fr

Fc is the conservative force computed via the usual inter-particle interactions (pair_style, bond_style, 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), 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 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 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 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 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 or temp/rescale fix.

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

No information about this fix is written to binary restart files. 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 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.

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

This fix is not invoked during energy minimization.

Restrictions: none

Related commands:

fix nvt, fix temp/rescale, fix viscous

Default: none

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