/*                                                                            */
/* CDDL HEADER START                                                          */
/*                                                                            */
/* The contents of this file are subject to the terms of the Common           */
/* Development and Distribution License Version 1.0 (the "License").          */
/*                                                                            */
/* You can obtain a copy of the license at                                    */
/* http://www.opensource.org/licenses/CDDL-1.0.  See the License for the      */
/* specific language governing permissions and limitations under the License. */
/*                                                                            */
/* When distributing Covered Code, include this CDDL HEADER in each file and  */
/* include the License file in a prominent location with the name             */
/* LICENSE.CDDL.                                                              */
/* If applicable, add the following below this CDDL HEADER, with the fields   */
/* enclosed by brackets "[]" replaced with your own identifying information:  */
/*                                                                            */
/* Portions Copyright (c) [yyyy] [name of copyright owner].                   */
/* All rights reserved.                                                       */
/*                                                                            */
/* CDDL HEADER END                                                            */
/*                                                                            */

/*                                                                            */
/* Copyright (c) 2017--2020, Regents of the University of Minnesota.          */
/* All rights reserved.                                                       */
/*                                                                            */
/* Contributors:                                                              */
/*    Ryan S. Elliott                                                         */
/*    Ellad B. Tadmor                                                         */
/*                                                                            */

/*                                                                            */
/* 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:  CDDL 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
