LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands

pair_style lj/charmm/coul/charmm command

pair_style lj/charmm/coul/charmm/implicit command

pair_style lj/charmm/coul/long command

pair_style lj/charmm/coul/long/gpu command

pair_style lj/charmm/coul/long/opt command

Syntax:

pair_style style args 
  lj/charmm/coul/charmm args = inner outer (inner2) (outer2)
    inner, outer = global switching cutoffs for Lennard Jones (and Coulombic if only 2 args)
    inner2, outer2 = global switching cutoffs for Coulombic (optional)
  lj/charmm/coul/charmm/implicit args = inner outer (inner2) (outer2)
    inner, outer = global switching cutoffs for LJ (and Coulombic if only 2 args)
    inner2, outer2 = global switching cutoffs for Coulombic (optional)
  lj/charmm/coul/long args = inner outer (cutoff)
    inner, outer = global switching cutoffs for LJ (and Coulombic if only 2 args)
    cutoff = global cutoff for Coulombic (optional, outer is Coulombic cutoff if only 2 args)
  lj/charmm/coul/long/gpu args = inner outer (cutoff)
    inner, outer = global switching cutoffs for LJ (and Coulombic if only 2 args)
    cutoff = global cutoff for Coulombic (optional, outer is Coulombic cutoff if only 2 args) 

Examples:

pair_style lj/charmm/coul/charmm 8.0 10.0
pair_style lj/charmm/coul/charmm 8.0 10.0 7.0 9.0
pair_coeff * * 100.0 2.0
pair_coeff 1 1 100.0 2.0 150.0 3.5 
pair_style lj/charmm/coul/charmm/implicit 8.0 10.0
pair_style lj/charmm/coul/charmm/implicit 8.0 10.0 7.0 9.0
pair_coeff * * 100.0 2.0
pair_coeff 1 1 100.0 2.0 150.0 3.5 
pair_style lj/charmm/coul/long 8.0 10.0
pair_style lj/charmm/coul/long/opt 8.0 10.0
pair_style lj/charmm/coul/long 8.0 10.0 9.0
pair_coeff * * 100.0 2.0
pair_coeff 1 1 100.0 2.0 150.0 3.5 

Description:

The lj/charmm styles compute LJ and Coulombic interactions with an additional switching function S(r) that ramps the energy and force smoothly to zero between an inner and outer cutoff. It is a widely used potential in the CHARMM MD code. See (MacKerell) for a description of the CHARMM force field.

Both the LJ and Coulombic terms require an inner and outer cutoff. They can be the same for both formulas or different depending on whether 2 or 4 arguments are used in the pair_style command. In each case, the inner cutoff distance must be less than the outer cutoff. It it typical to make the difference between the 2 cutoffs about 1.0 Angstrom.

Style lj/charmm/coul/charmm/implicit computes the same formulas as style lj/charmm/coul/charmm except that an additional 1/r term is included in the Coulombic formula. The Coulombic energy thus varies as 1/r^2. This is effectively a distance-dependent dielectric term which is a simple model for an implicit solvent with additional screening. It is designed for use in a simulation of an unsolvated biomolecule (no explicit water molecules).

Style lj/charmm/coul/long computes the same formulas as style lj/charmm/coul/charmm except that an additional damping factor is applied to the Coulombic term, as in the discussion for pair style lj/cut/coul/long. Only one Coulombic cutoff is specified for lj/charmm/coul/long; if only 2 arguments are used in the pair_style command, then the outer LJ cutoff is used as the single Coulombic cutoff.

Style lj/charmm/coul/long/gpu is a GPU-enabled version of style lj/charmm/coul/long. See more details below.

Style lj/charmm/coul/long/opt is an optimized version of style lj/charmm/coul/long that should give identical answers. Depending on system size and the processor you are running on, it may be 5-25% faster (for the pairwise portion of the run time).

The following coefficients must be defined for each pair of atoms types via the pair_coeff command as in the examples above, or in the data file or restart files read by the read_data or read_restart commands, or by mixing as described below:

Note that sigma is defined in the LJ formula as the zero-crossing distance for the potential, not as the energy minimum at 2^(1/6) sigma.

The latter 2 coefficients are optional. If they are specified, they are used in the LJ formula between 2 atoms of these types which are also first and fourth atoms in any dihedral. No cutoffs are specified because this CHARMM force field does not allow varying cutoffs for individual atom pairs; all pairs use the global cutoff(s) specified in the pair_style command.


The lj/charmm/coul/long/gpu style is identical to the lj/charmm/coul/long style, except that each processor off-loads its pairwise calculations to a GPU chip. Depending on the hardware available on your system this can provide a significant speed-up. See the Running on GPUs section of the manual for more details about hardware and software requirements for using GPUs.

More details about these settings and various possible hardware configuration are in this section of the manual.

Additional requirements in your input script to run with style lj/charmm/coul/long/gpu are as follows:

The newton pair setting must be off and fix gpu must be used. The fix controls the essential GPU selection and initialization steps.


Mixing, shift, table, tail correction, restart, rRESPA info:

For atom type pairs I,J and I != J, the epsilon, sigma, epsilon_14, and sigma_14 coefficients for all of the lj/charmm pair styles can be mixed. The default mix value is arithmetic to coincide with the usual settings for the CHARMM force field. See the "pair_modify" command for details.

None of the lj/charmm pair styles support the pair_modify shift option, since the Lennard-Jones portion of the pair interaction is smoothed to 0.0 at the cutoff.

The lj/charmm/coul/long and lj/charmm/coul/long/opt pair styles support the pair_modify table option since they can tabulate the short-range portion of the long-range Coulombic interaction.

None of the lj/charmm pair styles support the pair_modify tail option for adding long-range tail corrections to energy and pressure, since the Lennard-Jones portion of the pair interaction is smoothed to 0.0 at the cutoff.

All of the lj/charmm pair styles write their information to binary restart files, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file.

The lj/charmm/coul/long pair style supports the use of the inner, middle, and outer keywords of the run_style respa command, meaning the pairwise forces can be partitioned by distance at different levels of the rRESPA hierarchy. The other styles only support the pair keyword of run_style respa. See the run_style command for details.


Restrictions:

The lj/charmm/coul/charmm and lj/charmm/coul/charmm/implicit styles are part of the "molecule" package. The lj/charmm/coul/long style is part of the "kspace" package. The lj/charmm/coul/long/gpu style is part of the "gpu" package and also requires the "kspace" package. The lj/charmm/coul/long/opt style is part of the "opt" package and also requires the "kspace" package. They are only enabled if LAMMPS was built with those package(s) (molecule and kspace are by default). See the Making LAMMPS section for more info.

On some 64-bit machines, compiling with -O3 appears to break the Coulombic tabling option used by the lj/charmm/coul/long style. See the "Additional build tips" section of the Making LAMMPS documentation pages for workarounds on this issue.

Related commands:

pair_coeff

Default: none


(MacKerell) MacKerell, Bashford, Bellott, Dunbrack, Evanseck, Field, Fischer, Gao, Guo, Ha, et al, J Phys Chem, 102, 3586 (1998).