Description of Langevin Dynamics
Standard Langevin Dynamics
Langevin dynamics (LD) is similar to molecular dynamics (MD), except that instead of numerically integrating over Newton's second law of motion (the familiar F = ma), the Langevin equation is used instead. This equation may be written as:
In the above equation, is the negative gradient of the system (i.e. the force), γ represents the frictional drag on the system, and R(t) represents jostling forces at time t. These random forces have an expected value of 0 and are uncorrelated between time steps. In CHARMM, the random force is specified via setting a collision frequency using the SCALar command to set the FBETa value, e.g.:
scalar fbeta set 60.0
sets the collision frequency of 60 per picosecond. This is approximately the viscosity of water at room temperature.
The same sorts of integrators that we saw earlier can be used to perform Langevin Dynamics, although in CHARMM only the original Verlet and leap-frog Verlet ones support this feature.
In Langevin dynamics, the system is coupled to an external heat bath, providing fairly constant temperature throughout the simulation. The temperature of the external bath may be specified via the TBATh option to the DYNAmics command.
Self-guided Langevin dynamics
In self-guided Langevin dynamics (SGLD), the standard LD equation is used, but an additional guiding force, which is a momentum-derived force that pushes atoms, is added. Because of this factor, more conformations will be sampled in a given interval and thus it should only be used if determining the timescale in which events occur is not important. However, the current working hypothesis is that the order that events occur is unchanged with SGLD (i.e. only the timescale is distorted). The original SGLD implementation does not preserve the canonical ensemble, however re-weighting may be used to calculate canonical ensemble properties from an SGLD trajectory. A new SGLDfp method, which preserves the ensemble at the expense of some sampling, is also available.
Considerations on using Langevin Dynamics
The DYNAmics command is used to run both Langevin dynamics and molecular dynamics, so once you have learned how to set up a molecular dynamics simulation, it should be fairly straightforward to run LD as well. However, there are a few differences that must be noted.
- The FBETA scalar value must be set (see above). If this is not done, a default value of 0 will be used and you will effectively be doing regular MD (albeit with the extra "kicking" forces). CHARMM did not used to warn you about this, but more recent versions do.
- An FBETA value of 1 or less (significantly lower viscosity than water) is often used for explicitly solvated systems since the presence of water molecules will provide all of the desired frictional effects. A value of 2 is often used for vacuum systems which are not otherwise restrained by the presence of solvent. One might reasonably ask why anyone would want to run LD on a solvated system. In many cases, LD is used for its temperature coupling. Also, although Langevin Dynamics mimics the frictional effects of water, other properties of a solvated environment (e.g. charge screening for electrostatics) are not present.
- Since Langevin dynamics has its own temperature control, it should not be used with the constant pressure and temperature (CPT) keyword. Likewise, all CPT specific features (such as PCONS and the HOOVER commands) must be removed from the DYNAmics command. Similarly, IHTFRQ and IEQFRQ should be set to 0.
- Usually, Langevin dynamics uses the leap-frog integrator (key word LEAP), but ORIG will work as well.
To initiate Langevin dynamics, use the LANGevin keyword. The command usually looks something like
dyna leap langevin tbath XXX ...
where XXX is the desired bath temperature.