LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands

special_bonds command

Syntax:

special_bonds keyword values ... 

Examples:

special_bonds amber
special_bonds charmm
special_bonds fene dihedral no
special_bonds lj/coul 0.0 0.0 0.5 angle yes dihedral yes
special_bonds lj 0.0 0.0 0.5 coul 0.0 0.0 0.0 dihedral yes
special_bonds lj/coul 0 1 1 extra 2 

Description:

Set weighting coefficients for pairwise energy and force contributions from atom pairs that are permanently bonded to each other. These weighting factors are used by all pair styles in LAMMPS that compute simple pairwise interactions. The Coulomb factors are applied to any Coulomb (charge interaction) term that the potential calculates. The LJ factors are applied to the remaining terms that the potential calculates, whether they represent LJ interactions or not. The weighting factors are a scaling pre-factor on the energy and force between the pair of atoms. Permanent bonds between atoms are specified by defining the bond topology in the data file read by the read_data command and by using the bond_style command to define the bond potential.

IMPORTANT NOTE: These weighting factors are NOT used by pair styles that compute many-body interactions, since the "bonds" that result from such interactions are not permanent, but are created and broken dynamically as atom conformations change. Examples of pair styles and potentials in this category are EAM, MEAM, Stillinger-Weber, Tersoff, COMB, AIREBO, and ReaxFF. In fact, when using these pair styles, it makes no sense to define permanent bonds and to specify special_bonds weighting factors (unless they are applied to a different part of the system via the pair_style hybrid command). Though LAMMPS does not check for this, using special_bonds with these potentials will result in errors and possibly crash the code, because the definition of weighting factors changes the format of the neighor list used by the pair styles.

The 1st of the 3 coefficients (LJ or Coulombic) is the weighting factor on 1-2 atom pairs, which are pairs of atoms directly bonded to each other. The 2nd coefficient is the weighting factor on 1-3 atom pairs which are those separated by 2 bonds (e.g. the two H atoms in a water molecule). The 3rd coefficient is the weighting factor on 1-4 atom pairs which are those separated by 3 bonds (e.g. the 1st and 4th atoms in a dihedral interaction). Thus if the 1-2 coefficient is set to 0.0, then the pairwise interaction is effectively turned off for all pairs of atoms bonded to each other. If it is set to 1.0, then that interaction will be at full strength.

IMPORTANT NOTE: For purposes of computing weighted pairwise interactions, 1-3 and 1-4 interactions are not defined from the list of angles or dihedrals used by the simulation. Rather, they are inferred topologically from the set of bonds specified when the simulation is defined from a data or restart file (see read_data or read_restart commands). Thus the set of 1-2,1-3,1-4 interactions that the weights apply to is the same whether angle and dihedral potentials are computed or not, and remains the same even if bonds are constrained, or turned off, or removed during a simulation.

The two exceptions to this rule are (a) if the angle or dihedral keywords are set to yes (see below), or (b) if the delete_bonds command is used with the special option that recomputes the 1-2,1-3,1-4 topologies after bonds are deleted; see the delete_bonds command for more details.

The amber keyword sets the 3 coefficients to 0.0, 0.0, 0.5 for LJ interactions and to 0.0, 0.0, 0.8333 for Coulombic interactions, which is the default for a commonly used version of the AMBER force field, where the last value is really 5/6. See (Cornell) for a description of the AMBER force field.

The charmm keyword sets the 3 coefficients to 0.0, 0.0, 0.0 for both LJ and Coulombic interactions, which is the default for a commonly used version of the CHARMM force field. Note that in pair styles lj/charmm/coul/charmm and lj/charmm/coul/long the 1-4 coefficients are defined explicitly, and these pairwise contributions are computed as part of the charmm dihedral style - see the pair_coeff and dihedral_style commands for more information. See (MacKerell) for a description of the CHARMM force field.

The dreiding keyword sets the 3 coefficients to 0.0, 0.0, 1.0 for both LJ and Coulombic interactions, which is the default for the Dreiding force field, as discussed in (Mayo).

The fene keyword sets the 3 coefficients to 0.0, 1.0, 1.0 for both LJ and Coulombic interactions, which is consistent with a coarse-grained polymer model with FENE bonds. See (Kremer) for a description of FENE bonds.

The lj/coul, lj, and coul keywords allow the 3 coefficients to be set explicitly. The lj/coul keyword sets both the LJ and Coulombic coefficients to the same 3 values. The lj and coul keywords only set either the LJ or Coulombic coefficients. Use both of them if you wish to set the LJ coefficients to different values than the Coulombic coefficients.

The angle keyword allows the 1-3 weighting factor to be ignored for individual atom pairs if they are not listed as the first and last atoms in any angle defined in the simulation or as 1,3 or 2,4 atoms in any dihedral defined in the simulation. For example, imagine the 1-3 weighting factor is set to 0.5 and you have a linear molecule with 4 atoms and bonds as follows: 1-2-3-4. If your data file defines 1-2-3 as an angle, but does not define 2-3-4 as an angle or 1-2-3-4 as a dihedral, then the pairwise interaction between atoms 1 and 3 will always be weighted by 0.5, but different force fields use different rules for weighting the pairwise interaction between atoms 2 and 4. If the angle keyword is specified as yes, then the pairwise interaction between atoms 2 and 4 will be unaffected (full weighting of 1.0). If the angle keyword is specified as no which is the default, then the 2,4 interaction will also be weighted by 0.5.

The dihedral keyword allows the 1-4 weighting factor to be ignored for individual atom pairs if they are not listed as the first and last atoms in any dihedral defined in the simulation. For example, imagine the 1-4 weighting factor is set to 0.5 and you have a linear molecule with 5 atoms and bonds as follows: 1-2-3-4-5. If your data file defines 1-2-3-4 as a dihedral, but does not define 2-3-4-5 as a dihedral, then the pairwise interaction between atoms 1 and 4 will always be weighted by 0.5, but different force fields use different rules for weighting the pairwise interaction between atoms 2 and 5. If the dihedral keyword is specified as yes, then the pairwise interaction between atoms 2 and 5 will be unaffected (full weighting of 1.0). If the dihedral keyword is specified as no which is the default, then the 2,5 interaction will also be weighted by 0.5.

The extra keyword is used when additional bonds will be created during a simulation run, e.g. by the fix bond/create command. A list of 1-2,1-3,1-4 neighbors for each atom is calculated and stored by LAMMPS. If new bonds are created, the list needs to grow. Using the extra keyword leaves empty space in the list for N additional bonds to be added. If you do not do this, you may get an error when bonds are added.

Restrictions: none

Related commands:

delete_bonds, fix bond/create

Default:

All 3 Lennard-Jones and 3 Coulobmic weighting coefficients = 0.0, angle = no, dihedral = no, and extra = 0.


(Cornell) Cornell, Cieplak, Bayly, Gould, Merz, Ferguson, Spellmeyer, Fox, Caldwell, Kollman, JACS 117, 5179-5197 (1995).

(Kremer) Kremer, Grest, J Chem Phys, 92, 5057 (1990).

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

(Mayo) Mayo, Olfason, Goddard III, J Phys Chem, 94, 8897-8909 (1990).