This subdivision includes attractive and/or repulsive forces between particles i and j that are physically bonded (see Figure 1). The total energy \(E_{Type\ \ 3}\) of the system at any given time is given by the summation of the energies present between each bonded atoms
in the system (see Figure 2).
$$E_{Type\ 3}=\sum_{i}^{bonded\ \ pairs}\sum_{i\neq j}^{N}E_{i,j},$$
where \(E_{i,j}\) is the energy between the bonded atoms i-j.
The number of bonded atoms usually grows with (\(~N\)) meaning that estimating bonding strain effects on MD systems is computationally inexpensive when compared to when estimating forces of type 2 (see Figure 2).
Example 1.
There are several ways to simulate physical bonds between atoms i and j. The most common approach is to use a harmonic potential, where the bond is represented by a spring (with a
stiffness (\(b_{ij}\)) that connects both atoms). The potential usually has only one absolute minimum, meaning that if the atomic pair is pushed or pulled away from its equilibrium position (\(b_0\)), the model spring will
counteract this action by pulling or pushing it back. The harmonic potential energy is represented by the following expression:
$$E\left(\mathbf{r}\right)=b_{ij}\left(r_{ij}-b_{0}\right)^2$$
Notice how it is Hooke's Law of springs being used to model atomic bonds. Stiffer bonds are modelled using very large \(b_{ij}\) values on already equilibrated structures.
The resulting force on atom i in cartesian coordinates is given by:
$$F_{i,x}=-\frac{\partial E}{\partial r_{ij}}\frac{\partial r_{ij}}{\partial x_i}$$
Differentiating the expression using SymPy's sympy.diff(str_energy_expression) function gives:
$$F_{x_i}=-{2b}_{ij}\left(r_{ij}-b_0\right)\frac{x_i-x_j}{\sqrt{\left(x_i-x_j\right)^2+\left(y_i-y_j\right)^2+\left(z_i-z_j\right)^2}}$$
The force acting on atom j is the same but opposite to the one acting on i.