KIM IDs are permanent identifiers for content stored in the OpenKIM Repository. A KIM ID includes a code that identifies the item and a version number. Any changes to computer programs (Models, Tests, Verification Checks) that could result in different numerical values, or changes to the numerical values in Reference Data, lead to a version increment in the KIM ID. This makes it possible to reproduce results since the specific version of a specific item can be retrieved using its KIM ID. (Note that although KIM IDs are unique permanent identifiers, for citation purposes it is recommended to use DOIs issued by OpenKIM, see KIM DOIs and Citing KIM Items).
KIM IDs have the format:
CC_DDDDDDDDDDDDD_VVV
where
CC is a two-letter alphabetical code:
MO – Portable ModelMD – Model DriverTE – TestTD – Test DriverRD – Reference DataSM – Simulator ModelVC – Verification CheckVZ – VisualizerDDDDDDDDDDDD is a 12-digit randomly assigned integer code.
VVV is a 3-digit version number starting at 000.
The Extended KIM ID Prefix is a human readable prefix (100 characters max) which is prepended to the Short KIM ID, separated by two consecutive underscores, to form the Extended KIM ID:
<Extended KIM ID Prefix>__CC_DDDDDDDDDDDDD_VVV
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.
The recommended format of the prefix for Portable Models, Model Drivers and Simulator Models are:
| Portable Model | <model type>_<model type info>_<developer name(s)>_<misc info>_<supported species> |
|---|---|
| Model Driver | <model type>_<model type info> |
| Simulator Model | Sim_<simulator name>_<model type>_<model type info>_<developer name(s)>_<misc info>_<supported species> |
The recommended format for the prefix of a Portable Model is a series of elements in camel case separated by underscores:
<model type>_<model type info>_<developer name(s)>_<misc info>_<supported species>
* Note that for a Portable Model that employs a Model Driver, 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_.
EAM_CubicNaturalSpline_ErcolessiAdams_1994_Al__MO_800509458712_002EAM_Dynamo_FoilesBaskesDaw_1986Universal3_Ag__MO_626948998302_000LJ_ElliottAkerson_2015_Universal__MO_959249795837_003SW_BalamaneHauchShi_2017Brittle_Si__MO_381114941873_002The 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>
* Note that for a Portable Model that employs a Model Driver, 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_.
EAM_CubicNaturalSpline__MD_853402641673_002EAM_Dynamo__MD_120291908751_005LJ__MD_414112407348_003SW__MD_335816936951_004The recommended format for the prefix of a KIM Simulator Model (SM) begins with Sim_ and is followed by a series of elements in camel case separated by underscores:
Sim_<simulator name>_<model type>_<model type info>_<developer name(s)>_<misc info>_<supported species>
Sim_LAMMPS_ADP_ApostolMishin_2011_AlCu__SM_667696763561_000Sim_LAMMPS_AIREBO_LJ_StuartTuteinHarrison_2000_CH__SM_069621990420_000Sim_LAMMPS_EIM_Zhou_2010_BrClCsFIKLiNaRb__SM_259779394709_000The 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 test 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.
ElasticConstantsCubic__TD_011862047401_005ElasticConstantsCubic_fcc_Al__TE_944469580177_005The OpenKIM 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 KIM Processing Pipeline and KIM Docker Container provided for user development expect items to have KIM IDs conforming to the format described above. Thus, if you would like to develop new Portable 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 Driver and associated Portable Model might have the following extended KIM IDs:
NewPotential__MD_000000000001_000NewPotential_MeMyselfI_2020_CHONP__MO_000000000001_000Developers may take advantage of the 3-digit version numbering to label different versions of their development codes:
NewPotential__MD_000000000001_000NewPotential__MD_000000000001_001NewPotential__MD_000000000001_002All new items submitted to the OpenKIM system must conform to this development numbering range.