forked from lijiext/lammps
226 lines
8.2 KiB
HTML
226 lines
8.2 KiB
HTML
<HTML>
|
|
<CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A>
|
|
</CENTER>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<HR>
|
|
|
|
<H3>pair_style kim command
|
|
</H3>
|
|
<P><B>Syntax:</B>
|
|
</P>
|
|
<PRE>pair_style kim model
|
|
</PRE>
|
|
<P>model = name of KIM model (potential)
|
|
</P>
|
|
<P><B>Examples:</B>
|
|
</P>
|
|
<PRE>pair_style kim model_Ar_P_Morse
|
|
pair_coeff * * Ar Ar
|
|
</PRE>
|
|
<P><B>Description:</B>
|
|
</P>
|
|
<P>This pair style is a wrapper on the <A HREF = "http://openkim.org">Knowledge Base for Interatomic
|
|
Models (KIM)</A>, repository of interatomic
|
|
potentials, so that they can be used by LAMMPS scripts.
|
|
</P>
|
|
<P>In KIM lingo, a potential is a "model" and a model contains both the
|
|
analytic formulas that define the potential as well as the parameters
|
|
needed to run it for one or more materials, including coefficients and
|
|
cutoffs.
|
|
</P>
|
|
<P>The argument <I>model</I> is the name of the model for a specific potential
|
|
as KIM defines it. In principle, LAMMPS can invoke any KIM model.
|
|
You should get an error message from either LAMMPS or KIM if there is
|
|
an incompatibility.
|
|
</P>
|
|
<P>Only a single pair_coeff command is used with the <I>kim</I> style which
|
|
specifies the mapping of LAMMPS atom types to KIM elements. This is
|
|
done by specifying N additional arguments after the "* *" in the
|
|
pair_coeff command, where N is the number of LAMMPS atom types:
|
|
</P>
|
|
<UL><LI>N element names = mapping of KIM elements to atom types
|
|
</UL>
|
|
<P>As an example, imagine the KIM model supports Si and C atoms. If your
|
|
LAMMPS simulation has 4 atoms types and you want the 1st 3 to be Si,
|
|
and the 4th to be C, you would use the following pair_coeff command:
|
|
</P>
|
|
<PRE>pair_coeff * * Si Si Si C
|
|
</PRE>
|
|
<P>The 1st 2 arguments must be * * so as to span all LAMMPS atom types.
|
|
The first three Si arguments map LAMMPS atom types 1,2,3 to Si as
|
|
defined within KIM. The final C argument maps LAMMPS atom type 4 to C
|
|
as defined within KIM. If a mapping value is specified as NULL, the
|
|
mapping is not performed. This can be used when a <I>kim</I> potential is
|
|
used as part of the <I>hybrid</I> pair style. The NULL values are
|
|
placeholders for atom types that will be used with other potentials.
|
|
</P>
|
|
<HR>
|
|
|
|
<P>In addition to the usual LAMMPS error messages, the KIM library itself
|
|
may generate errors, which should be printed to the screen. In this
|
|
case it is also useful to check the kim.log file for additional error
|
|
information. This file kim.log should be generated in the same
|
|
directory where LAMMPS is running.
|
|
</P>
|
|
<HR>
|
|
|
|
<P>Here is information on how to build KIM for use with LAMMPS. There is
|
|
a directory lib/kim with an important file in it: Makefile.lammps.
|
|
When you build LAMMPS with its KIM package installed (which contains
|
|
the pair_style kim command), then it will use the settings in
|
|
lib/kim/Makefile.lammps to find KIM header files and the KIM library
|
|
itself for linking purposes. Thus you should insure Makefile.lammps
|
|
has the correct settings for your system and your build of KIM.
|
|
</P>
|
|
<P>Consult the KIM documentation for further details on KIM specifics.
|
|
</P>
|
|
<P>OpenKIM is available for download from <A HREF = "http://openkim.org">this site</A>,
|
|
namely http://openkim.org. The tarball you download is
|
|
"openkim-api-vX.X.X.tgz", which can be unpacked via
|
|
</P>
|
|
<PRE>tar xvfz openkim*tgz
|
|
</PRE>
|
|
<P>The openkim/DOCs directory has further documentation. For more
|
|
information on installing KIM and troubleshooting refer to
|
|
openkim/INSTALL.
|
|
</P>
|
|
<P>Here is a brief summary of how to build KIM:
|
|
</P>
|
|
<OL><LI>Set the following environment variables. It is recommended to place
|
|
the above environment variables definitions in your shell setup file
|
|
which is located in your home directory (e.g. ~/.bashrc).
|
|
|
|
<PRE> (a) Define the location of the openKIM API root directory. For example,
|
|
if you untarred the `openkim-api-vX.X.X.tgz' tarball in your home
|
|
directory, you would do:
|
|
</PRE>
|
|
<PRE> bash:
|
|
% export KIM_DIR=~/openkim-api-vX.X.X/
|
|
</PRE>
|
|
<PRE> tcsh:
|
|
% setenv KIM_DIR ~/openkim-api-vX.X.X/
|
|
</PRE>
|
|
<PRE> Make sure to include the trailing slash. The `%' symbol represents the
|
|
bash sell prompt and should not be typed.
|
|
</PRE>
|
|
<PRE> (b) By default, all makefiles use the GNU compilers for 64 bit Linux.
|
|
In order to use the Intel compiler, define the environment variable
|
|
KIM_INTEL
|
|
</PRE>
|
|
<PRE> bash:
|
|
% export KIM_INTEL="yes"
|
|
</PRE>
|
|
<PRE> tcsh:
|
|
% setenv KIM_INTEL "yes"
|
|
</PRE>
|
|
<PRE> (c) For a 32 bit machine, define the environment variable KIM_SYSTEM32
|
|
</PRE>
|
|
<PRE> bash:
|
|
% export KIM_SYSTEM32="yes"
|
|
</PRE>
|
|
<PRE> tchs:
|
|
% setenv KIM_SYSTEM32 "yes"
|
|
</PRE>
|
|
<PRE> (d) Define variable for dynamic linking (preferable option)
|
|
</PRE>
|
|
<PRE> bash:
|
|
export KIM_DYNAMIC=yes
|
|
</PRE>
|
|
<PRE> tcsh:
|
|
setenv KIM_DYNAMIC=yes
|
|
</PRE>
|
|
<PRE> If this environment variable is not set the default will be
|
|
static linking. In that case all KIM models will be linked,
|
|
producing potentially a very large file. It is also possible
|
|
to build KIM with only a subset of models or a single
|
|
model you wish to use with LAMMPS. Consult the KIM
|
|
documentation for details.
|
|
</PRE>
|
|
<LI>To compile the package, go to the $KIM_DIR directory and execute
|
|
make.
|
|
|
|
<PRE> % cd $KIM_DIR
|
|
% make examples
|
|
% make
|
|
</PRE>
|
|
<PRE> This builds all Models, Tests, and the openKIM API service routine
|
|
library. The targets defined by the Makefile in this directory include:
|
|
</PRE>
|
|
<PRE> make -- compiles the API and all Models and Tests
|
|
make all -- same as `make'
|
|
make examples -- copy examples into the appropriate directories
|
|
then do a `make all'
|
|
make openkim-api -- compiles only the API
|
|
make examples-clean -- remove all examples from the MODEL_DRIVERs,
|
|
MODELs, and TESTs directories.
|
|
</PRE>
|
|
<LI>Verify that the compilation was successful by running a Test.
|
|
|
|
<PRE> The provided example Tests read in the name of a Model (or Models)
|
|
which they use to perform their calculations. For most Tests the
|
|
name of the Model can be piped in using an `echo' command. For
|
|
example, the following Fortran 90 Test reads in one Model:
|
|
</PRE>
|
|
<PRE> % cd $KIM_DIR/TESTs/test_Ar_free_cluster_CLUSTER_F90
|
|
% echo "model_Ar_P_MLJ_CLUSTER_C" | ./test_Ar_free_cluster_CLUSTER_F90
|
|
</PRE>
|
|
<PRE> (See the README files in the Test directories for an explanation of what
|
|
the Tests do.)
|
|
</PRE>
|
|
<LI>Each Test (and Model) has its own make file for compiling and linking.
|
|
If changes are made to the code, perform step (2) again (from the
|
|
$KIM_DIR directory).
|
|
|
|
<LI>In case of using a non-standard location for any of the directories
|
|
KIM_API, TESTs, or MODELs one or more of the following environment
|
|
variables must be set:
|
|
</OL>
|
|
<PRE> KIM_API_DIR
|
|
KIM_TESTS_DIR
|
|
KIM_MODELS_DIR
|
|
KIM_MODEL_DRIVERS_DIR
|
|
</PRE>
|
|
<HR>
|
|
|
|
<P><B>Mixing, shift, table, tail correction, restart, rRESPA info</B>:
|
|
</P>
|
|
<P>This pair style does not support the <A HREF = "pair_modify.html">pair_modify</A>
|
|
mix, shift, table, and tail options.
|
|
</P>
|
|
<P>This pair style does not write its information to <A HREF = "restart.html">binary restart
|
|
files</A>, since KIM stores the the potential parameters.
|
|
Thus, you need to re-specify the pair_style and pair_coeff commands in
|
|
an input script that reads a restart file.
|
|
</P>
|
|
<P>This pair style can only be used via the <I>pair</I> keyword of the
|
|
<A HREF = "run_style.html">run_style respa</A> command. It does not support the
|
|
<I>inner</I>, <I>middle</I>, <I>outer</I> keywords.
|
|
</P>
|
|
<HR>
|
|
|
|
<P><B>Restrictions:</B>
|
|
</P>
|
|
<P>This pair style is part of the KIM package. It is only enabled if
|
|
LAMMPS was built with that package. See the <A HREF = "Section_start.html#start_3">Making
|
|
LAMMPS</A> section for more info.
|
|
</P>
|
|
<P>This pair style requires the <A HREF = "newton.html">newton</A> setting to be "off"
|
|
for pair interactions.
|
|
</P>
|
|
<P>Currently this pair style only works with LAMMPS metal
|
|
<A HREF = "units.html">units</A>. In the future changes will be made so it can work
|
|
with LAMMPS unit choices as well.
|
|
</P>
|
|
<P><B>Related commands:</B>
|
|
</P>
|
|
<P><A HREF = "pair_coeff.html">pair_coeff</A>, <A HREF = "pair_eam.html">pair_style eam</A>
|
|
</P>
|
|
<P><B>Default:</B> none
|
|
</P>
|
|
</HTML>
|