KIM Application Programming Interface (API)

Overview

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. 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 integral 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.

The KIM API includes bindings for the most popular middle-level languages:

  • C++, C, and Fortran.

See here for a list of simulation codes that support the KIM API.

For details on KIM API features and what is included with the kim-api package, see the documentation here.


KIM API Documentation for Developers

Documentation for the latest developent git branch is available here:

https://kim-api.readthedocs.io/en/devel/

Documentation for the latest KIM API release (version 2.1.3) is available here:

https://kim-api.readthedocs.io/en/latest/


KIM API Archive Downloads

Packaging status

The easiest option for obtaining the KIM API is to install the kim-api pre-compiled binary package for your preferred operating system or package manager.

The table to the right lists the systems for which pre-compiled binaries are available. For each system, the currently available version of the kim-api package is listed. Green indicates the most current version available, whereas red indicates an older version. Binary packages are released on a regular basis, however if the version you require is not available, you can install the KIM API from source.

The KIM API is under version control hosted at GitHub.

A detailed revision history is available here.

Older packaged versions of the KIM API source are available here


Getting Help

Support is always available by sending an email with a question and all relevant information to

openkim@googlegroups.com

The message will be posted to the openkim google group:

http://groups.google.com/group/openkim

Members of the OpenKIM development team actively monitor this forum and will do their best to respond to questions in a timely fashion. This forum is also used to announce major and minor new releases and bug fixes.

It is highly recommended for users who plan to work with the KIM API to become members of the openkim group. (Just go to the above link and click on "Join this group" on the right of the screen.)