ReaxFF divides the total potential energy into various parts, including bonded and non-bonded interactions as shown in Eq. ( ). The model takes atom coordinates and required force field parameters for the set of elements present in the system as input, and calculates all terms constituting the potential energy together with the corresponding forces. The derivative of each potential energy term with respect to atom positions gives forces that are fundamental to the MD simulation. There is a number of ReaxFF implementations with different features and architectural support such as the original Fortran Reax code , PuReMD , GULP and LAMMPS .