Type 3 forces


Figure 1. This force category includes forces that result from the strain caused by the stretching or compressing of the bond that exists between atoms i and j distanced \(r_{ij}\) units apart.


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.


Figure 2. The two bonded atoms are generated by Scymol by searching for every particle i that is bonded to another atom j. Notice how atoms that do not form a bond are omitted. Duplicate pairs (i.e., bond pair i,j and j,i) are omitted, as the force is considered to be equal in magnitude but with opposite sign to the one evaluated already for the previous pair.


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.