ReaxFF form in Ashraf and van Duin (JPCA 2016, 10.1021/acs.jpca.6b12429)

Dear LAMMPS users and developers,

According to LAMMPS reax/c webpage (, the Reax version currently implemented in LAMMPS is the one reported in Chenoweth et al (JPCA 2008, 10.1021/acs.jpca.6b12429).
By chance, has someone already experimented with the version reported in Ashraf and van Duin (JPCA 2016, 10.1021/acs.jpca.6b12429)?

Thanks for any comment,

Hi Luca, it looks like only the parameters set has been optimized, but the energy function is still the same. Can you try running models with the force field file in the SI of this paper?


Hi Giacomo,

They’ve changed the valence angle term by removing the undercoordination term. See the equations 3 and 4 in the paper.

The modification isn’t big and I think one only needs to delete “workspace->Delta_boc[j]” from lines 152 and 153 in reaxc_valence_angles.cpp in order to introduce it. Someone with a larger experience with ReaxFF should confirm this though.


I see, thanks for the correction.

Hi Giacomo and Michal,
Yes, they’ve changed the valence angle term and I think Michal is right, that patch should be enough.
Thanks a lot,

Hi Luca, Michal,

Indeed, removing Delta_boc from lines 152/153 in reaxc_valence_angles.cpp would reproduce the Ashraf_2017 paper for modified valence angle term, but simply removing this variable would break backward compatibility from all previous ReaxFF descriptions.

A better way to do this is to add a keyword, e.g. modval, in the pair_style reax/c argument – as shown in the attached pair_reaxc.html. With the keyword set to yes, the valence angle takes the modified form.

The attached tar ball contains all necessary changes, including the doc page, reax/c source code for the original, kokkos, and omp versions. Untar it in the top level LAMMPS directory to include the changes.



reaxc_modval.tar (265 KB)

pair_reaxc.html (17.2 KB)

Hey Ray,
Thanks a lot!