.. index:: create_bonds create_bonds command ==================== Syntax """""" .. parsed-literal:: create_bonds group-ID group2-ID btype rmin rmax * group-ID = ID of first group * group2-ID = ID of second group, bonds will be between atoms in the 2 groups * btype = bond type of created bonds * rmin = minimum distance between pair of atoms to bond together * rmax = minimum distance between pair of atoms to bond together Examples """""""" .. parsed-literal:: create_bonds all all 1 1.0 1.2 create_bonds surf solvent 3 2.0 2.4 Description """"""""""" Create bonds between pairs of atoms that meet specified distance criteria. The bond interactions can then be computed during a simulation by the bond potential defined by the :doc:`bond_style ` and :doc:`bond_coeff ` commands. This command is useful for adding bonds to a system, e.g. between nearest neighbors in a lattice of atoms, without having to enumerate all the bonds in the data file read by the :doc:`read_data ` command. Note that the flexibility of this command is limited. It can be used several times to create different types of bond at different distances. But it cannot typically create all the bonds that would normally be defined in a complex system of molecules. Also note that this command does not add any 3-body or 4-body interactions which, depending on your model, may be induced by added bonds, e.g. :doc:`angle `, :doc:`dihedral `, or :doc:`improper ` interactions. All created bonds will be between pairs of atoms I,J where I is in one of the two specified groups, and J is in the other. The two groups can be the same, e.g. group "all". The created bonds will be of bond type *btype*\ , where *btype* must be a value between 1 and the number of bond types defined. This maximum value is set by the "bond types" field in the header of the data file read by the :doc:`read_data ` command, or via the optional "bond/types" argument of the :doc:`create_box ` command. For a bond to be created, an I,J pair of atoms must be a distance D apart such that *rmin* <= D <= *rmax*\ . The following settings must have been made in an input script before this command is used: * special_bonds weight for 1-2 interactions must be 0.0 * a :doc:`pair_style ` must be defined * no :doc:`kspace_style ` defined * minimum :doc:`pair_style ` cutoff + :doc:`neighbor ` skin >= *rmax* These settings are required so that a neighbor list can be created to search for nearby atoms. Pairs of atoms that are already bonded cannot appear in the neighbor list, to avoid creation of duplicate bonds. The neighbor list for all atom type pairs must also extend to a distance that encompasses the *rmax* for new bonds to create. An additional requirement is that your system must be ready to perform a simulation. This means, for example, that all :doc:`pair_style ` coefficients be set via the :doc:`pair_coeff ` command. A :doc:`bond_style ` command and all bond coefficients must also be set, even if no bonds exist before this command is invoked. This is because the building of neighbor list requires initialization and setup of a simulation, similar to what a :doc:`run ` command would require. Note that you can change any of these settings after this command executes, e.g. if you wish to use long-range Coulombic interactions via the :doc:`kspace_style ` command for your subsequent simulation. .. note:: If the system has no bonds to begin with, or if more bonds per atom are being added than currently exist, then you must insure that the number of bond types and the maximum number of bonds per atom are set to large enough values. Otherwise an error may occur when too many bonds are added to an atom. If the :doc:`read_data ` command is used to define the system, these 2 parameters can be set via the "bond types" and "extra bond per atom" fields in the header section of the data file. If the :doc:`create_box ` command is used to define the system, these 2 parameters can be set via its optional "bond/types" and "extra/bond/per/atom" arguments. See the doc pages for the 2 commands for details. Restrictions """""""""""" This command cannot be used with molecular systems defined using molecule template files via the :doc:`molecule ` and :doc:`atom_style template ` commands. Related commands """""""""""""""" :doc:`create_atoms `, :doc:`delete_bonds ` **Default:** none .. _lws: http://lammps.sandia.gov .. _ld: Manual.html .. _lc: Section_commands.html#comm