Syntax:
bond_style style args
args = none for any style except hybrid hybrid args = list of one or more styles
Examples:
bond_style harmonic bond_style fene bond_style hybrid harmonic fene
Description:
Set the formula(s) LAMMPS will use to compute bond interactions between pairs of atoms. The list of atom pairs is specified in the data or restart file and is read in by a read_data or read_restart command. The coefficients for the formula for each bond type can also be specified in those files or via the bond_coeff command. In all the formulas to follow, r is the distance between the 2 atoms in the bond.
A style of none means bond forces are not computed, even if bond are defined.
The class2 style uses the potential
where r0 is the equilibrium bond distance. Kn and r0 are coefficients defined for each bond type.
The fene style uses the potential
to define a finite extensible nonlinear elastic (FENE) potential (Kremer), used for bead-spring polymer models. The first term is attractive, the 2nd Lennard-Jones term is repulsive. The first term extends to R0, the maximum extent of the bond. The 2nd term is cutoff at 2^(1/6) sigma, the minimum of the LJ potential. K, R0, epsilon, and sigma are coefficients defined for each bond type.
The fene/expand style is similar to fene except that an extra shift factor of delta (positive or negative) is added to r to effectively change the bead size of the bonded atoms. The corresponding potential is
The first term now extends to R0 + delta and the 2nd term is cutoff at 2^(1/6) sigma + delta. K, R0, epsilon, sigma, and delta are coefficients defined for each bond type.
The harmonic style uses the potential
where r0 is the equilibrium bond distance. Note that the usual 1/2 factor is included in K. K and r0 are coefficients defined for each bond type.
The morse style uses the potential
where r0 is the equilibrium bond distance, alpha is a stiffness parameter, and D determines the depth of the potential well. D, alpha, and r0 are coefficients defined for each bond type.
The nonlinear style uses the potential
to define an anharmonic spring (Rector) of equilibrium length r0 and maximum extension lamda. Epsilon, r0, and lamda are coefficients defined for each bond type.
The quartic style uses the potential
to define a bond that can be broken as the simulation proceeds (e.g. due to a polymer being stretched). The sigma and epsilon used in the LJ portion of the formula are both set equal to 1.0 by LAMMPS. K, B1, B2, Rc, and U0 are coefficients defined for each bond type.
This potential was constructed to mimic the FENE bond potential for coarse-grained polymer chains. When monomers with sigma = epsilon = 1.0 are used, the following choice of parameters gives a quartic potential that looks nearly like the FENE potential: K = 1200, B1 = -0.55, B2 = 0.25, Rc = 1.3, and U0 = 34.6878. Different parameters can be specified using the bond_coeff command, but you will need to choose them carefully so they form a suitable bond potential.
Rc is the cutoff length at which the bond potential goes smoothly to a local maximium. If a bond length ever becomes > Rc, LAMMPS "breaks" the bond, which means two things. First, the bond potential is turned off by setting its type to 0, and is no longer computed. Second, a pairwise interaction between the two atoms is turned on, since they are no longer bonded.
LAMMPS does the second task via a computational sleight-of-hand. It subtracts the pairwise interaction as part of the bond computation. When the bond breaks, the subtraction stops. For this to work, the pairwise interaction must always be computed by the pair_style command, whether the bond is broken or not. This means that special_bonds must be set to 1,1,1, as indicated as a restriction below.
Note that when bonds are dumped to a file via dump bond, bonds with type 0 are not included. The delete_bonds command can also be used to query the status of broken bonds or permanently delete them, e.g.:
delete_bonds all stats delete_bonds all bond 0 remove
The hybrid style enables the use of multiple bond styles in one simulation. A bond style is assigned to each bond type. For example, bonds in a polymer flow (of bond type 1) could be computed with a fene potential and bonds in the wall boundary (of bond type 2) could be computed with a harmonic potential. The assignment of bond type to style is made via the bond_coeff command or in the data file.
Restrictions:
Bond styles can only be set for atom styles that allow bonds to be defined.
The quartic style requires that special_bonds parameters be set to 1,1,1. Three- and four-body interactions (angle, dihedral, etc) cannot be used with quartic bonds.
Bond styles are part of the "molecular" package. They are only enabled if LAMMPS was built with that package. See the Making LAMMPS section for more info.
Related commands:
Default:
bond_style none
(Kremer) Kremer, Grest, J Chem Phys, 92, 5057 (1990).
(Rector) Rector, Van Swol, Henderson, Molecular Physics, 82, 1009 (1994).