standalone Reaxff version of LAMMPS

I need to modify LAMMPS in a way that is similar to REAX/C. The current implementation is as a package, but I read that originally, REAX/C was added on as a standalone program that was linked to LAMMPS via a fix command (like POEMS). This seems like it would be the simplest kind of thing for me to do, at least to start, so I was wondering if anyone can point me to a copy of the original version of REAX/C, and the linked LAMMPS version.


Did you look at the fortran library implementation?

I imagine that the fortran code there was ported directly from Van Duin original software.

This is all I know about reaxff in lammps. Maybe one of the developers will be able to point you somewhere else of greater use to you.


Reax/c was a stand-alone MD code (by the Purdue group, called PureMD), but

it was never used with LAMMPS in that manner. LAMMPS invokes

force fields as “pair styles”, so you need a PairReaxC class and

pair_reaxc.cpp/h files for LAMMPS in invoke. In the case of reax/c, that class was created,

and it calls various functions and methods, some of them from the original PureMD

code, which are all included in the src/user-reaxc directory. Some

of them were morphed to work with LAMMPS.

Conceptually, there is no problem with any add-on class for

LAMMPS (pair style, bond style, fix style, compute style, etc), making

calls to a library that does the heavy lifting. Several pair styles

do that already (but not reax/c). The ReaxFF (Fortran) and MEAM potentials

(also Fortran) do that, as does fix poems and compute voronoi. The lib files

for these are in the lib dir. You build the lib first, then LAMMPS links

against them. The wrapper class, e.g. pair_meam.cpp/h is in a LAMMPS

package, src/MEAM in that case.