This subdivision includes attractive and/or repulsive forces between particles i and j that share no bonds. The total energy \(E_{Type\ \ 2}\) of the system at any given time is given by the summation of the energies present between every two atoms in the system (see Figure 1). $$E_{Type\ 2}=\sum_{i}^{N}\sum_{i\neq j}^{N}E_{ij},$$ where \(E_{i,j}\) is the energy between the atoms i-j.
The computational time required to evaluate the force for every atomic pair is by far the longest in an MD sequence. The number of atomic pairs in a system of particles is given by \(N\times(N-1)\), which tends to
\(~N^2\) when \(N\) is large enough (see Figure 2). Most of the optimization done in MD calculations is focused on how to efficiently evaluate the interactions of this force type. Moreover, it is common to see systems that neglect the effects of forces of type 3, 4, and 5, but
seldom (if ever) the interactions of forces of type 2. Many workarounds exist to reduce the number of force evaluations, and often take advantage of the following points:
•Forces are set to zero beyond a distance \(r_{ij}>r_{cut}\), so that the force calculation for that specific pair is skipped.
•Generating the atomic pairs at each integration step is often not necessary, and so updating this pairs list is done on more separate intervals. This is known as a neighbors list and/or a Verlet list. If properly applied, this method can
decrease the number of force evaluations to \(~N\) rather than \(~N^2\).
•The MD code can be made to run in a parallelized manner so that the force evaluation work is divided among several CPU cores.
Scymol allows the user to define an \(r_{cut}\), an update list interval, and the number of cores desired so that the MD code is distributed among several CPU cores.
These charges generate an electrostatic potential around the atoms that decays with interatomic distance. The potential is modeled by the following expression: $$E\left(r_{ij}\right)=\frac{q_i q_j}{4\pi\epsilon_0r_{ij}},$$ where \(q_i\) and \(q_j\) are the atomic charges for atoms i and j, \(\epsilon_0\) is the vacuum permittivity constant, and \(r_{ij}\) is the interatomic distance. Again, SymPy's 'diff' function is used to estimate the resulting force expression that acts on both atoms in cartesian coordinates. The function results in the following expression of the force acting on particle i on the x-cordinate. $$F_{x_i}=-\frac{-q_iq_j}{4\pi\epsilon_0\epsilon_Rr_{ij}^2}\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}},$$ where \(q_i\) and \(q_j\) are the atomic charges for atoms i and j, \(\epsilon_{0}\) is the vacuum permittivity constant, \(r_{ij}\) is the interatomic distance, and \(x\), \(y\), \(z\) are the atomic positions for atoms i and j. Figure 4 presents a 'textbook' example of a surface of negatively charged particles being affected by a single positively charged particle at a distance.