@@ -3,7 +3,9 @@ Unbreakable bonds
33
44With most conventional molecular force fields, the chemical bonds between
55atoms are defined at the start of the simulation and remain fixed, regardless
6- of the forces applied to the atoms. These bonds are typically modeled as springs
6+ of the forces applied to the atoms. In this tutorial, these bonds are
7+ explicitly specified in the **.data ** file, which is read using the ``read_data `` command (see below).
8+ Bonds are typically modeled as springs
79with equilibrium distances :math: `r_0 ` and force constants :math: `k_\text {b}`:
810:math: `U_\text {b} = k_\text {b} \left ( r - r_0 \right )^2 `. Additionally, angular and
911dihedral constraints are often imposed to preserve the molecular structure
@@ -48,7 +50,7 @@ the scripts required for the second part of the tutorial.
4850 file in a text editor of your choice, and copy the previous lines into it.
4951
5052The chosen unit system is ``real `` (therefore distances are in
51- Ångströms (Å), times in femtoseconds (fs), and energies in kcal/mol), the
53+ Ångströms (Å), times in femtoseconds (fs), and energies in ( kcal/mol) ), the
5254``atom_style `` is ``molecular `` (therefore atoms are point
5355particles that can form bonds with each other), and the boundary
5456conditions are fixed. The boundary conditions do not matter here, as
@@ -64,8 +66,8 @@ potential.
6466The ``bond_style ``, ``angle_style ``, ``dihedral_style ``, and ``improper_style ``
6567commands specify the different potentials used to constrain the relative
6668positions of the atoms. The ``special_bonds `` command sets the weighting factors
67- for the Lennard-Jones interactions between atoms directly connected by
68- one bond, two bonds, and three bonds, respectively. This is done for
69+ for the Lennard-Jones interactions between atoms sitting one,
70+ two, or three bonds away from each other , respectively. This is done for
6971convenience when parameterizing the force constants for bonds, angles, and
7072so on. By excluding the non-bonded (Lennard-Jones) interactions for
7173these pairs, those interactions do not need to be considered when determining
@@ -174,7 +176,9 @@ just before the ``run 0`` command:
174176 set group cnt_mid mol 3
175177
176178 With the three ``set `` commands, we assign unique, otherwise unused
177- molecule IDs to atoms in those three groups. We will use this IDs later to
179+ molecule IDs to atoms in those three groups. A molecule ID is an
180+ integer that groups atoms into a *molecule * for bookkeeping purposes, and can be
181+ useful for tracking and post-processing. We will use this IDs later to
178182assign different colors to these groups of atoms.
179183
180184Run the simulation using LAMMPS. The number of atoms in each group is given in
@@ -235,6 +239,14 @@ The ``fix nve`` commands are applied to the atoms of ``cnt_top`` and
235239from these groups are recalculated at every step. The ``fix nvt `` does the
236240same for the ``cnt_mid `` group, while also applying a Nosé-Hoover thermostat
237241with desired temperature of 300 K :cite: `nose1984unified, hoover1985canonical `.
242+
243+ .. admonition :: Note
244+ :class: non-title-info
245+
246+ The Nosé-Hoover thermostat only controls the temperature of
247+ the atoms belonging to the specified ``cnt_mid `` group. Atoms outside
248+ this group are not affected by the thermostat.
249+
238250To restrain the motion of the atoms at the edges, let us add the following
239251commands to **unbreakable.lmp **:
240252
@@ -248,7 +260,10 @@ commands to **unbreakable.lmp**:
248260 The two ``setforce `` commands cancel the forces applied on the atoms of the
249261two edges, respectively. The cancellation of the forces is done at every step,
250262and along all 3 directions of space, :math: `x`, :math: `y`, and :math: `z`, due to the use of
251- ``0 0 0 ``. The two ``velocity `` commands set the initial velocities
263+ ``0 0 0 ``. Although the forces on these atoms is set to zero,
264+ the ``fix `` still stores the forces acting on the group before
265+ cancellation, which can later be extracted for analysis (see below).
266+ The two ``velocity `` commands set the initial velocities
252267along :math: `x`, :math: `y`, and :math: `z` to 0 for the atoms of ``cnt_top `` and
253268``cnt_bot ``, respectively. As a consequence of these last four commands,
254269the atoms of the edges will remain immobile during the simulation (or at least
0 commit comments