kim-api-v2  2.0.1-git+052a7cb.GNU
An Application Programming Interface (API) for the Knowledgebase of Interatomic Models (KIM).
Table of Contents

The Knowledgebase of Interatomic Models (KIM) Application Programming Interface (API) defines a standard for how molecular simulators interface with interatomic models (also called potentials or force-fields). This allows a single computer implementation of a model to be used (without modification) within multiple simulator codes. See to find hundreds of model implementations, to learn which simulators support the KIM API, and to learn how to use KIM models 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 models and/or simulators in supported programming language (C, C++, FORTRAN 77, Fortran 90/95/2003).

Table of Contents:

  1. Features of the KIM API package
  2. Theory
  3. Implementation
  4. Example simulators written in C++ (ex_test_Ar_fcc_cluster_cpp.cpp), C (ex_test_Ar_fcc_cluster.c), and Fortran (ex_test_Ar_fcc_cluster_fortran.f90).
  5. Example stand-alone models written in C++ (LennardJones_Ar.cpp), C (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 (ex_model_Ar_P_MLJ_Fortran.f90, ex_model_Ar_SLJ_MultiCutoff.f90)
  6. Example model drivers written in C++ (LennardJones612Implementation.hpp), C (ex_model_driver_P_Morse.c), and Fortran (ex_model_driver_P_LJ.f90).
  7. Example parameterized models (ex_model_Ar_P_LJ.params, ex_model_Ar_P_Morse.params, LennardJones612_UniversalShifted.params)
  8. Summary of Differences Between kim-api-v1 and kim-api-v2

In addition, all public header files and included example codes are available for browsing.