git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@16053 f3b2605a-c512-4ea7-a41b...
[lammps.git] / doc / src / delete_bonds.txt
blobb1137a22881213506c8921b9e422d0d9f2e33253
1 "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
3 :link(lws,http://lammps.sandia.gov)
4 :link(ld,Manual.html)
5 :link(lc,Section_commands.html#comm)
7 :line
9 delete_bonds command :h3
11 [Syntax:]
13 delete_bonds group-ID style arg keyword ... :pre
15 group-ID = group ID :ulb,l
16 style = {multi} or {atom} or {bond} or {angle} or {dihedral} or
17         {improper} or {stats} :l
18   {multi} arg = none
19   {atom} arg = an atom type or range of types (see below)
20   {bond} arg = a bond type or range of types (see below)
21   {angle} arg = an angle type or range of types (see below)
22   {dihedral} arg = a dihedral type or range of types (see below)
23   {improper} arg = an improper type or range of types (see below)
24   {stats} arg = none :pre
25 zero or more keywords may be appended :l
26 keyword = {any} or {undo} or {remove} or {special} :l
27 :ule
29 [Examples:]
31 delete_bonds frozen multi remove
32 delete_bonds all atom 4 special
33 delete_bonds all bond 0*3 special
34 delete_bonds all stats :pre
36 [Description:]
38 Turn off (or on) molecular topology interactions, i.e. bonds, angles,
39 dihedrals, impropers.  This command is useful for deleting
40 interactions that have been previously turned off by bond-breaking
41 potentials.  It is also useful for turning off topology interactions
42 between frozen or rigid atoms.  Pairwise interactions can be turned
43 off via the "neigh_modify exclude"_neigh_modify.html command.  The
44 "fix shake"_fix_shake.html command also effectively turns off certain
45 bond and angle interactions.
47 For all styles, by default, an interaction is only turned off (or on)
48 if all the atoms involved are in the specified group.  See the {any}
49 keyword to change the behavior.
51 Several of the styles ({atom}, {bond}, {angle}, {dihedral},
52 {improper}) take a {type} as an argument.  The specified {type} should
53 be an integer from 0 to N, where N is the number of relevant types
54 (atom types, bond types, etc).  A value of 0 is only relevant for
55 style {bond}; see details below.  In all cases, a wildcard asterisk
56 can be used in place of or in conjunction with the {type} argument to
57 specify a range of types.  This takes the form "*" or "*n" or "n*" or
58 "m*n".  If N = the number of types, then an asterisk with no numeric
59 values means all types from 0 to N.  A leading asterisk means all
60 types from 0 to n (inclusive).  A trailing asterisk means all types
61 from n to N (inclusive).  A middle asterisk means all types from m to
62 n (inclusive).  Note that it is fine to include a type of 0 for
63 non-bond styles; it will simply be ignored.
65 For style {multi} all bond, angle, dihedral, and improper interactions
66 of any type, involving atoms in the group, are turned off.
68 Style {atom} is the same as style {multi} except that in addition, one
69 or more of the atoms involved in the bond, angle, dihedral, or
70 improper interaction must also be of the specified atom type.
72 For style {bond}, only bonds are candidates for turn-off, and the bond
73 must also be of the specified type.  Styles {angle}, {dihedral}, and
74 {improper} are treated similarly.
76 For style {bond}, you can set the type to 0 to delete bonds that have
77 been previously broken by a bond-breaking potential (which sets the
78 bond type to 0 when a bond is broken); e.g. see the "bond_style
79 quartic"_bond_style.html command.
81 For style {stats} no interactions are turned off (or on); the status
82 of all interactions in the specified group is simply reported.  This
83 is useful for diagnostic purposes if bonds have been turned off by a
84 bond-breaking potential during a previous run.
86 The default behavior of the delete_bonds command is to turn off
87 interactions by toggling their type to a negative value, but not to
88 permanently remove the interaction.  E.g. a bond_type of 2 is set to
89 -2.  The neighbor list creation routines will not include such an
90 interaction in their interaction lists.  The default is also to not
91 alter the list of 1-2, 1-3, 1-4 neighbors computed by the
92 "special_bonds"_special_bonds.html command and used to weight pairwise
93 force and energy calculations.  This means that pairwise computations
94 will proceed as if the bond (or angle, etc) were still turned on.
96 Several keywords can be appended to the argument list to alter the
97 default behaviors.
99 The {any} keyword changes the requirement that all atoms in the bond
100 (angle, etc) must be in the specified group in order to turn-off the
101 interaction.  Instead, if any of the atoms in the interaction are in
102 the specified group, it will be turned off (or on if the {undo}
103 keyword is used).
105 The {undo} keyword inverts the delete_bonds command so that the
106 specified bonds, angles, etc are turned on if they are currently
107 turned off.  This means a negative value is toggled to positive.  For
108 example, for style {angle}, if {type} is specified as 2, then all
109 angles with current type = -2, are reset to type = 2.  Note that the
110 "fix shake"_fix_shake.html command also sets bond and angle types
111 negative, so this option should not be used on those interactions.
113 The {remove} keyword is invoked at the end of the delete_bonds
114 operation.  It causes turned-off bonds (angles, etc) to be removed
115 from each atom's data structure and then adjusts the global bond
116 (angle, etc) counts accordingly.  Removal is a permanent change;
117 removed bonds cannot be turned back on via the {undo} keyword.
118 Removal does not alter the pairwise 1-2, 1-3, 1-4 weighting list.
120 The {special} keyword is invoked at the end of the delete_bonds
121 operation, after (optional) removal.  It re-computes the pairwise 1-2,
122 1-3, 1-4 weighting list.  The weighting list computation treats
123 turned-off bonds the same as turned-on.  Thus, turned-off bonds must
124 be removed if you wish to change the weighting list.
126 Note that the choice of {remove} and {special} options affects how
127 1-2, 1-3, 1-4 pairwise interactions will be computed across bonds that
128 have been modified by the delete_bonds command.
130 [Restrictions:]
132 This command requires inter-processor communication to acquire ghost
133 atoms, to coordinate the deleting of bonds, angles, etc between atoms
134 shared by multiple processors.  This means that your system must be
135 ready to perform a simulation before using this command (force fields
136 setup, atom masses set, etc).  Just as would be needed to run
137 dynamics, the force field you define should define a cutoff
138 (e.g. through a "pair_style"_pair_style.html command) which is long
139 enough for a processor to acquire the ghost atoms its needs to compute
140 bond, angle, etc interactions.
142 If deleted bonds (angles, etc) are removed but the 1-2, 1-3, 1-4
143 weighting list is not recomputed, this can cause a later "fix
144 shake"_fix_shake.html command to fail due to an atom's bonds being
145 inconsistent with the weighting list.  This should only happen if the
146 group used in the fix command includes both atoms in the bond, in
147 which case you probably should be recomputing the weighting list.
149 [Related commands:]
151 "neigh_modify"_neigh_modify.html exclude,
152 "special_bonds"_special_bonds.html, "fix shake"_fix_shake.html
154 [Default:] none