kim-api  2.0.3-git+v2.0.2-git-8-g5a6a3e45.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 openkim.org to find hundreds of model implementations, openkim.org/projects-using-kim to learn which simulators support the KIM API, and openkim.org/kim-api 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
  9. The NEWS file.

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