/*                                                                            */
/* KIM-API: An API for interatomic models                                     */
/* Copyright (c) 2013--2022, Regents of the University of Minnesota.          */
/* All rights reserved.                                                       */
/*                                                                            */
/* Contributors:                                                              */
/*    Ryan S. Elliott                                                         */
/*    Ellad B. Tadmor                                                         */
/*                                                                            */
/* SPDX-License-Identifier: LGPL-2.1-or-later                                 */
/*                                                                            */
/* This library is free software; you can redistribute it and/or              */
/* modify it under the terms of the GNU Lesser General Public                 */
/* License as published by the Free Software Foundation; either               */
/* version 2.1 of the License, or (at your option) any later version.         */
/*                                                                            */
/* This library is distributed in the hope that it will be useful,            */
/* but WITHOUT ANY WARRANTY; without even the implied warranty of             */
/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU          */
/* Lesser General Public License for more details.                            */
/*                                                                            */
/* You should have received a copy of the GNU Lesser General Public License   */
/* along with this library; if not, write to the Free Software Foundation,    */
/* Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA         */
/*                                                                            */

/*                                                                            */
/* Release: This file is part of the kim-api.git repository.                  */
/*                                                                            */

/**
\mainpage Table of Contents

The Knowledgebase of Interatomic Models (%KIM) Application Programming
Interface (API) defines a standard (the Portable Model Interface (PMI)) for how
molecular simulators interface with interatomic models (also called potentials
or force-fields).  This allows a single computer implementation of a Portable
Model (PM) to be used (without modification) within multiple simulator codes.
A PM can include code and parameters all in one.  Or, a PM can include just
parameters and use a separate Model Driver (MD) library containing the code.
See [openkim.org](https://openkim.org) to find many PM implementations,
[openkim.org/projects-using-kim](https://openkim.org/projects-using-kim) to
learn which simulators support the %KIM API/PMI, and
[openkim.org/doc/usage/using-models](https://openkim.org/doc/usage/using-models)
to learn how to use %KIM PMs with those simulators.  The %KIM API also defines
a standard (the Simulator Model Interface (SMI)) that allows for the creation
and curation of Simulator Models (SMs), which are packages containing the
metadata necessary to set up and run a model that is implemented as an
integrated part of a simulation code (simulator).  A %KIM SM includes all of
the necessary parameter files, simulator input commands, and metadata
(supported species, units, etc.)  needed to run the model in its native
simulator.  See [openkim.org](https://openkim.org) to find many SM packages,
[openkim.org/projects-using-kim](https://openkim.org/projects-using-kim) to
learn which simulators support the %KIM API/SMI, and
[openkim.org/doc/usage/using-models](https://openkim.org/doc/usage/using-models)
to learn how to use %KIM SMs with those simulators.

This documentation describes the specifications and official implementation of
the %KIM API as a system-level software library that gives computer programmers
the ability to write PM, SM, and/or Simulators in supported programming
language (C, C++, Fortran).

Table of Contents:

-# \ref features

-# \ref theory

-# [**INSTALL the %KIM API package**](_i_n_s_t_a_l_l_source.html)

-# \ref implementation

-# Example Portable Models (PMs) written in C++ (\link
   ../examples/portable-models/LennardJones_Ar LennardJones_Ar\endlink), C
   (\link ../examples/portable-models/ex_model_Ar_P_Morse_07C
   ex_model_Ar_P_Morse_07C\endlink, \link
   ../examples/portable-models/ex_model_Ar_P_Morse_MultiCutoff
   ex_model_Ar_P_Morse_MultiCutoff\endlink, \link
   ../examples/portable-models/ex_model_Ar_P_Morse_07C_w_Extensions
   ex_model_Ar_P_Morse_07C_w_Extensions\endlink) and Fortran (\link
   ../examples/portable-models/ex_model_Ar_P_MLJ_Fortran
   ex_model_Ar_P_MLJ_Fortran\endlink, \link
   ../examples/portable-models/ex_model_Ar_SLJ_MultiCutoff
   ex_model_Ar_SLJ_MultiCutoff\endlink)

-# Example Model Drivers (MDs) written in C++ (\link
   ../examples/model-drivers/LennardJones612__MD_414112407348_003
   LennardJones612__MD_414112407348_003\endlink), C (\link
   ../examples/model-drivers/ex_model_driver_P_Morse
   ex_model_driver_P_Morse\endlink), and Fortran (\link
   ../examples/model-drivers/ex_model_driver_P_LJ
   ex_model_driver_P_LJ\endlink).

-# Example PMs using MDs (\link ../examples/portable-models/ex_model_Ar_P_LJ
   ex_model_Ar_P_LJ\endlink, \link
   ../examples/portable-models/ex_model_Ar_P_Morse ex_model_Ar_P_Morse\endlink,
   \link
   ../examples/portable-models/LennardJones612_UniversalShifted__MO_959249795837_003
   LennardJones612_UniversalShifted__MO_959249795837_003\endlink).

-# An Example SM (\link
   ../examples/simulator-models/Sim_LAMMPS_LJcut_AkersonElliott_Alchemy_PbAu
   Sim_LAMMPS_LJcut_AkersonElliott_Alchemy_PbAu\endlink).

-# Example Simulators written in C++ ( \link
   ../examples/simulators/ex_test_Ar_fcc_cluster_cpp
   ex_test_Ar_fcc_cluster_cpp\endlink, \link
   ../examples/simulators/collections-example collections-example\endlink,
   \link ../examples/simulators/simulator-model-example
   simulator-model-example\endlink), C (\link
   ../examples/simulators/ex_test_Ar_fcc_cluster
   ex_test_Ar_fcc_cluster\endlink, \link
   ../examples/simulators/collections-example collections-example\endlink,
   \link ../examples/simulators/simulator-model-example
   simulator-model-example\endlink), and Fortran ( \link
   ../examples/simulators/ex_test_Ar_fcc_cluster_fortran
   ex_test_Ar_fcc_cluster_fortran\endlink, \link
   ../examples/simulators/collections-example collections-example\endlink,
   \link ../examples/simulators/simulator-model-example
   simulator-model-example\endlink).

-# A utility for checking the consistency between a PM's energy function and
   its forces function (\link ../examples/simulators/utility_forces_numer_deriv
   utility_forces_numer_deriv\endlink).  This performs a numerical
   differentiation of the PM's energy, using Ridder's method, and compares the
   result with the PM's forces.

-# \ref cmake_files

-# \ref version2_differences

-# The [NEWS](_n_e_w_s_source.html) file.

In addition, all public header files and included example codes are available
for [browsing](files.html).





*/

LocalWords:  yyyy Ellad Tadmor kim api mainpage atomistic interatomic ref
LocalWords:  Ar fcc cpp fortran MLJ LennardJones hpp LJ params html SLJ org SM
LocalWords:  MultiCutoff UniversalShifted Knowledgebase openkim PMI PMs SMI em
LocalWords:  curation SMs metadata MDs Sim LAMMPS LJcut AkersonElliott PbAu pb
LocalWords:  smspec edn au PM's numer deriv Ridder's
