LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands

fix langevin command

Syntax:

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

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.

The desired temperature at each timestep is a ramped value during the run from Tstart to Tstop. The run 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 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 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 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.

Restrictions: none

Related commands:

fix nvt, fix temp/rescale, fix viscous

Default: none