forked from lijiext/lammps
f7a243a4d9 | ||
---|---|---|
.. | ||
Install.py | ||
Makefile.g95 | ||
Makefile.gfortran | ||
Makefile.ifort | ||
Makefile.lammps.gfortran | ||
Makefile.lammps.ifort | ||
Makefile.pgf90 | ||
Makefile.redsky | ||
Makefile.tbird | ||
README | ||
cbka.blk | ||
cbkabo.blk | ||
cbkatomcoord.blk | ||
cbkbo.blk | ||
cbkboncor.blk | ||
cbkbopi.blk | ||
cbkbopi2.blk | ||
cbkbosi.blk | ||
cbkc.blk | ||
cbkch.blk | ||
cbkcha.blk | ||
cbkcharmol.blk | ||
cbkchb.blk | ||
cbkconst.blk | ||
cbkcovbon.blk | ||
cbkd.blk | ||
cbkdbodc.blk | ||
cbkdbopi2ndc.blk | ||
cbkdbopidc.blk | ||
cbkdbopindc.blk | ||
cbkdcell.blk | ||
cbkdhdc.blk | ||
cbkdistan.blk | ||
cbkdrdc.blk | ||
cbkefield.blk | ||
cbkenergies.blk | ||
cbkeregime.blk | ||
cbkff.blk | ||
cbkfftorang.blk | ||
cbkh.blk | ||
cbkhbond.blk | ||
cbkia.blk | ||
cbkidbo.blk | ||
cbkimove.blk | ||
cbkinit.blk | ||
cbklonpar.blk | ||
cbkmolec.blk | ||
cbknmolat.blk | ||
cbknonbon.blk | ||
cbknubon2.blk | ||
cbknvlbo.blk | ||
cbknvlown.blk | ||
cbkpairs.blk | ||
cbkpres.blk | ||
cbkqa.blk | ||
cbkrbo.blk | ||
cbkrestr.blk | ||
cbksrtbon1.blk | ||
cbksrthb.blk | ||
cbktorang.blk | ||
cbktorsion.blk | ||
cbktregime.blk | ||
cbkvalence.blk | ||
cbkvregime.blk | ||
cellcoord.blk | ||
control.blk | ||
opt.blk | ||
reax_charges.F | ||
reax_connect.F | ||
reax_defs.h | ||
reax_inout.F | ||
reax_lammps.F | ||
reax_poten.F | ||
reax_reac.F | ||
small.blk | ||
valang.blk |
README
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 directory has source files to build a library that LAMMPS links against when using the REAX package. This library must be built with a F90 compiler, before LAMMPS is built, so LAMMPS can link against it. You can type "make lib-reax" from the src directory to see help on how to build this library via make commands, or you can do the same thing by typing "python Install.py" from within this directory, or you can do it manually by following the instructions below. Build the library using one of the provided Makefile.* files or create your own, specific to your compiler and system. For example: make -f Makefile.gfortran When you are done building this library, two files should exist in this directory: libreax.a the library LAMMPS will link against Makefile.lammps settings the LAMMPS Makefile will import Makefile.lammps is created by the make command, by copying one of the Makefile.lammps.* files. See the EXTRAMAKE setting at the top of the Makefile.* files. IMPORTANT: You must examine the final Makefile.lammps to insure it is correct for your system, else the LAMMPS build will likely fail. Makefile.lammps has settings for 3 variables: user-reax_SYSINC = leave blank for this package user-reax_SYSLIB = auxiliary F90 libs needed to link a F90 lib with a C++ program (LAMMPS) via a C++ compiler user-reax_SYSPATH = path(s) to where those libraries are Because you have a F90 compiler on your system, you should have these libraries. But you will have to figure out which ones are needed and where they are. Examples of common configurations are in the Makefile.lammps.* files. ------------------------------------------------- Additional build notes: The include file reax_defs.h is used by both the ReaxFF library source files and the LAMMPS pair_reax.cpp source file (in package src/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 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. 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.