Guide to KIM IDs

KIM IDs are permanent identifiers for content stored in the KIM Repository. These identifiers can be cited in publications.

KIM IDs have the format:

CC_DDDDDDDDDDDDD_VVV

where

CC is a two-letter alphabetical code:

  • MO – Model
  • MD – Model Driver
  • TE – Test
  • TD – Test Driver
  • RD – Reference Data
  • VZ – Visualizer
  • MV – Model Verification
  • TV – Test Verification
  • VV – Visualizer Verification

DDDDDDDDDDDD is a 12-digit randomly assigned integer code.

VVV is a 3-digit version number starting at 000.


Extended KIM IDs

The Extended KIM ID Prefix is a human readable prefix (100 characters max) which is prepended to the Short KIM ID (automatically generated in the box above) to form the Extended KIM ID.

An Extended KIM ID Prefix can only contain alphanumeric characters (letters and digits) and underscores, and must begin with a letter. Unicode characters are not allowed.


Extended KIM IDs for Models and Model Drivers

The recommended format of the prefix for Models and Model Drivers are:

Model<model type>_<model type info>_<developer name(s)>_<misc info>_<supported species>
Model Driver<model type>_<model type info>

Model

The recommended format for the prefix of a KIM Model is a series of elements in camel case separated by underscores:

<model type>_<model type info>_<developer name(s)>_<misc info>_<supported species>

<model type>
A brief describing the model type, e.g. LJ, EAM, etc.^*
<model type info>
(Optional) additional information modifying the potential type, such as the code from which the driver originates (e.g. Dynamo), type of interpolation for tabulated potentials (e.g. CubicNaturalSpline), etc.^*
<developer name(s)>
The names of the people who developed the model e.g. "StillingerWeber". By convention the list should be limited to at most three developers.
<misc info>
Additional information beyond the model type and developers that helps to identify the model, e.g. the year the model was developed and/or published in literature, a general term commonly used in describing this model (e.g. "Universal3" for a particular group of EAM models), or a combination of the year and a descriptor (e.g. "2003RDX" for a potential for RDX published in 2003).
<supported species>
The list of supported species (e.g. "NiAl"). Note that the species do not need to appear in alphabetical order if the ordering conveys some information as to the intent of the model. (It is recommended that the order of the species agrees with the ordering specified in the model's parameter file(s).) Alternatively, instead of species, it is permissible to use a term characterizing a group of species (e.g. "Universal" (for all species) or "TransitionMetals").

^* Note that for a parameterized KIM Model, the convention is to use the same <model type>_<model type info>_ prefix as for the corresponding Model Driver. For example, all models using the EAM_Dynamo driver begin with EAM_Dynamo_.


Model Driver

The recommended format for the prefix of a KIM Model Driver is a series of elements in camel case separated by underscores:

<model type>_<model type info>

<model type>
A brief description of the model type, e.g. LJ, EAM, etc.^*
<model type info>
(Optional) additional information modifying the potential type, such as the code from which the driver originates (e.g. Dynamo), type of interpolation for tabulated potentials (e.g. CubicNaturalSpline), etc.^*

^* Note that for a parameterized KIM Model, the convention is to use the same <model type>_<model type info>_ prefix as for the corresponding Model Driver. For example, all models using the EAM_Dynamo driver begin with EAM_Dynamo_.


Extended KIM IDs for Tests and Test Drivers

The recommended format of the prefix for Tests and Test Drivers are:

Test Driver<test type/name>
Test<test type/name>_<test info>_<supported element(s)>

<test type/name>
A short description of the test, e.g. "ElasticConstantsCubic" indicates that this test computes the elastic constants of a cubic crystal.

<test info>
This includes additional information distinguishing the model if needed, e.g. "fcc" indicates that the "ElasticConstantsCubic" test is for an fcc crystal.

<supported element(s)>
The list of supported elements in camel case (e.g. "AlNi").

By convention, Tests associated with a Test Driver begin with their associated Test Driver prefix. For example the ElasticConstantsCubic driver and an associated Test are:

  • ElasticConstantsCubic__TD_011862047401_000
  • ElasticConstantsCubic_fcc_Al__TE_944469580177_000


KIM IDs Reserved for Development

The OpenKIM.org system is responsible for assigning the unique 12-digit integer code that makes up the middle part of an item's KIM ID. However, the OpenKIM Virtual Machine, pipeline, and their associated tools expect items to have KIM IDs conforming to the format described above. Thus, if you would like to develop new Models, Model Drivers, Tests, and/or Test Drivers, your development code will need to conform to this format.

A special set of 12-digit numbers has been reserved for development use only:

000000DDDDDD.

For example, a development Model might have the extended KIM ID:

  • MySuperNewModelOfEverything__MO_000000000001_000

Developers may take advantage of the 3-digit version numbering to label different versions of their development codes:

  • MySuperNewModelOfEverything_RSElliott_AllElements__MO_000000000001_000
  • MySuperNewModelOfEverything_RSElliott_AllElements__MO_000000000001_001
  • MySuperNewModelOfEverything_RSElliott_AllElements__MO_000000000001_010

All new items submitted to the OpenKIM system must conform to this development numbering range.