Reax vs reax/c and hbnewflag


I have been running a CHO system in reax, and I realized that there was a difference between the reax and reax/c energies. Upon further investigation, I realized that for reax and reax/c to return the same energies, the binary flag “hbnewflag” in reax has to be set to 1. This corresponds to the new H-bond function style (as opposed to the old), according to the LAMMPS documentation. Without using the new style, the H-bonding energies are significantly different. For example, a system I was running in reax had an H-bonding energy of -3359 kcal/mol with hbnewflag = 0, and an H-bonding energy of -4948 kcal/mol with hbnewflag = 1. The latter was consistent with the reax/c results. The former was not.

Does anyone know why these energies are so different, and what these two “H-bond function styles” correspond to? I have been perusing the documentation, and haven’t found anything. Most importantly, which one is more correct?



Hi Keith,

The difference is the exponent of the sinus of the angle between three atoms in a hydrogen bond. Old style has sin^8 and new one has sin^4.
The value of the flag depends on the potential file you use. Settings for potential files bundled with LAMMPS can be found in the file README.reax in $LAMMPSDIR/potentials directory. If you use a different parametrization, you’ll have to ask its authors for a correct value of the flag.