/*                                                                            */
/* 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--2019, 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/kim-api](https://openkim.org/kim-api) 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/kim-api](https://openkim.org/kim-api) 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

-# \ref implementation

-# Example Portable Models (PMs) written in C++ (\ref LennardJones_Ar.cpp), C
   (\ref ex_model_Ar_P_Morse_07C.c, ex_model_Ar_P_Morse_MultiCutoff.c,
   ex_model_Ar_P_Morse_07C_w_Extensions.c) and Fortran (\ref
   ex_model_Ar_P_MLJ_Fortran.f90, ex_model_Ar_SLJ_MultiCutoff.f90)

-# Example Model Drivers (MDs) written in C++
   (LennardJones612Implementation.hpp), C (ex_model_driver_P_Morse.c), and
   Fortran (ex_model_driver_P_LJ.f90).

-# Example PMs using MDs (ex_model_Ar_P_LJ.params, ex_model_Ar_P_Morse.params,
   LennardJones612_UniversalShifted.params)

-# An Example SM (<em>Sim_LAMMPS_LJcut_AkersonElliott_Alchemy_PbAu</em>, with
   specification file [smspec.edn](smspec_8edn_source.html) and parameter file
   [Alchemy_PbAu.in](_alchemy___pb_au_8in_source.html)).

-# Example Simulators written in C++ (ex_test_Ar_fcc_cluster_cpp.cpp,
   collections-example.cpp, simulator-model-example.cpp), C
   (ex_test_Ar_fcc_cluster.c, collections-example-c.cpp,
   simulator-model-example-c.cpp), and Fortran (
   ex_test_Ar_fcc_cluster_fortran.f90, collections-example-fortran.f90,
   simulator-model-example-fortran.f90).

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

-# \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
