lammps/doc/special_bonds.txt

198 lines
9.0 KiB
Plaintext

"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
:link(lws,http://lammps.sandia.gov)
:link(ld,Manual.html)
:link(lc,Section_commands.html#comm)
:line
special_bonds command :h3
[Syntax:]
special_bonds keyword values ... :pre
one or more keyword/value pairs may be appended :ulb,l
keyword = {amber} or {charmm} or {dreiding} or {fene} or {lj/coul} or {lj} or {coul} or {angle} or {dihedral} or {extra} :l
{amber} values = none
{charmm} values = none
{dreiding} values = none
{fene} values = none
{lj/coul} values = w1,w2,w3
w1,w2,w3 = weights (0.0 to 1.0) on pairwise Lennard-Jones and Coulombic interactions
{lj} values = w1,w2,w3
w1,w2,w3 = weights (0.0 to 1.0) on pairwise Lennard-Jones interactions
{coul} values = w1,w2,w3
w1,w2,w3 = weights (0.0 to 1.0) on pairwise Coulombic interactions
{angle} value = {yes} or {no}
{dihedral} value = {yes} or {no}
{extra} value = N
N = number of extra 1-2,1-3,1-4 interactions to save space for :pre
:ule
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 :pre
[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"_pair_style.html 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"_read_data.html command and by using the
"bond_style"_bond_style.html command to define the bond potential.
IMPORTANT NOTE: These weighting factors are NOT used by "pair
styles"_pair_style.html 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"_pair_hybrid.html 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"_read_data.html or "read_restart"_read_restart.html
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"_delete_bonds.html 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"_delete_bonds.html 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)"_#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"_pair_coeff.html and "dihedral_style"_dihedral_style.html
commands for more information. See "(MacKerell)"_#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)"_#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"_bond_fene.html. See
"(Kremer)"_#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"_fix_bond_create.html 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"_delete_bonds.html, "fix bond/create"_fix_bond_create.html
[Default:]
All 3 Lennard-Jones and 3 Coulobmic weighting coefficients = 0.0,
angle = no, dihedral = no, and extra = 0.
:line
:link(Cornell)
[(Cornell)] Cornell, Cieplak, Bayly, Gould, Merz, Ferguson,
Spellmeyer, Fox, Caldwell, Kollman, JACS 117, 5179-5197 (1995).
:link(Kremer)
[(Kremer)] Kremer, Grest, J Chem Phys, 92, 5057 (1990).
:link(MacKerell)
[(MacKerell)] MacKerell, Bashford, Bellott, Dunbrack, Evanseck, Field,
Fischer, Gao, Guo, Ha, et al, J Phys Chem, 102, 3586 (1998).
:link(Mayo)
[(Mayo)] Mayo, Olfason, Goddard III, J Phys Chem, 94, 8897-8909
(1990).