2009-02-07 00:39:43 +08:00
|
|
|
ReaxFF library
|
|
|
|
|
|
|
|
Aidan Thompson, Sandia National Labs
|
|
|
|
athomps at sandia.gov
|
|
|
|
Jan 2008
|
|
|
|
|
|
|
|
--------------
|
|
|
|
|
|
|
|
This library is an implementation of the ReaxFF potential,
|
|
|
|
specifically designed to work with LAMMPS. It is derived from Adri van
|
|
|
|
Duin's original serial code, with intervening incarnations in CMDF and
|
|
|
|
GRASP.
|
|
|
|
|
|
|
|
This library can be built with any decent Fortran compiler, before
|
|
|
|
LAMMPS is built, so LAMMPS can link against it. The compiler must
|
|
|
|
produce object files compatible with the LAMMPS C++ compiler. If not,
|
|
|
|
the LAMMPS build will fail during linking.
|
|
|
|
|
|
|
|
Build the library using one of the provided Makefiles or create your
|
|
|
|
own, specific to your compiler and system. For example:
|
|
|
|
|
|
|
|
make -f Makefile.g95
|
|
|
|
|
|
|
|
If the build is successful, you should end up with a libreax.a file.
|
|
|
|
|
|
|
|
Note that the include file reax_defs.h is used by both the ReaxFF
|
|
|
|
library source files and the LAMMPS pair_reax.cpp source file (from
|
|
|
|
module REAX). It contains dimensions of statically-allocated arrays
|
|
|
|
created by the ReaxFF library. The size of these arrays must be set
|
|
|
|
small enough to avoid exceeding the available machine memory, and
|
2009-02-13 00:09:50 +08:00
|
|
|
large enough to fit the actual data generated by ReaxFF. If you change
|
|
|
|
the values in reax_defs.h, you must first rebuild the library and then
|
|
|
|
rebuild LAMMPS.
|
|
|
|
|
2009-06-03 01:51:22 +08:00
|
|
|
This library is called by functions in pair_reax.cpp.
|
|
|
|
The C++ to FORTRAN function calls in pair_reax.cpp
|
|
|
|
assume that FORTRAN object names are converted to C object names by
|
|
|
|
appending an underscore character. This is generally the case, but
|
|
|
|
on machines that do not conform to this convention, you will need to
|
|
|
|
modify either the C++ code or your compiler settings. The name conversion
|
|
|
|
is handled by the preprocessor macro called FORTRAN in the file
|
|
|
|
pair_reax_fortran.h, which is included by pair_reax.cpp.
|
|
|
|
Different definitions of this macro can be obtained by adding a
|
|
|
|
machine-specific macro definition to the CCFLAGS variable in your
|
|
|
|
your LAMMPS Makefile e.g. -D_IBM. See pair_reax_fortran.h for more info.
|
|
|
|
|