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_002
EAM_Dynamo_FoilesBaskesDaw_1986Universal3_Ag__MO_626948998302_000
LJ_ElliottAkerson_2015_Universal__MO_959249795837_003
SW_BalamaneHauchShi_2017Brittle_Si__MO_381114941873_002
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>
* 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_002
EAM_Dynamo__MD_120291908751_005
LJ__MD_414112407348_003
SW__MD_335816936951_004
The 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_000
Sim_LAMMPS_AIREBO_LJ_StuartTuteinHarrison_2000_CH__SM_069621990420_000
Sim_LAMMPS_EIM_Zhou_2010_BrClCsFIKLiNaRb__SM_259779394709_000
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 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_005
ElasticConstantsCubic_fcc_Al__TE_944469580177_005
The 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_000
NewPotential_MeMyselfI_2020_CHONP__MO_000000000001_000
Developers may take advantage of the 3-digit version numbering to label different versions of their development codes:
NewPotential__MD_000000000001_000
NewPotential__MD_000000000001_001
NewPotential__MD_000000000001_002
All new items submitted to the OpenKIM system must conform to this development numbering range.