Overview of how to run tests locally?


I’ve been browsing around these forums as well as the OpenKIM documentation, but I’ve found it surprisingly difficult to figure out how to download, install, and run KIM Tests on my local machine. I’m working on developing interatomic potentials, so I’m extremely interested in being able to use OpenKIM to start validating my models as I develop them, without having to upload my models to OpenKIM (yet). I’ve seen a few different posts about this that have helped me out, but there are still some things that I’m struggling with.

Here’s what I’ve done so far:

  • Successfully installed the KIM package in LAMMPS (7 Aug 2019 version), taking advantage of the make lib-kim command to have LAMMPS handle the installation and linking of the KIM API (v.2.1.2)
  • Note: I use a few of the LAMMPS add-ons (make yes-python, make yes-user-meamc, and make yes-user-misc), if that matters
  • Downloaded an example Simulation Model (Sim_LAMMPS_MEAM_DuLenoskyHennig_2011_Si__SM_662785656123_000), and used it as a template to understand how I might create my own SM
  • Created an SM using my personal potential that I wanted to test, then installed it using the kim-api-collections-management tool.
  • Downloaded and installed an example Test Driver (VacancyFormationMigration__TD_554849987965_000), then ran the TD using the SM that I created
  • Note: this required some modifications to the test, since it seems that some of the tests are written using Python 2x syntax, or assume an old version of ASE (which now natively supports KIM calculators)

Here’s what I want to do:

  • Learn how to download/install/run a KIM Test itself (for example, VacancyFormationMigration_diamond_Si__TE_662280895854_000), rather than manually using the associated TD
  • The biggest roadblock here is that I don’t understand where/what the ‘kimitems’ tool is, as it wasn’t installed when I had LAMMPS install the KIM API, and the documentation isn’t too clear on where this tool came from.
  • Learn how to automate this workflow: 1) create and install an SM, which I will need to do frequently as I’m tuning my potentials, 2) run the SM through an entire batch of KIM Tests, and 3) summarize/visualize the results of all of the tests.

I apologize if some of these questions are trivial or explained elsewhere; I hit the point where I felt like I’ve searched the docs/forum enough that it might be more efficient to simply make a new post here. Thank you all for your patience.

I think that this question and general workflow is something that a lot of people would be interested in if they’re also developing potentials. I understand that the OpenKIM team is working hard developing new features and documentation, so I’d be more than happy to contribute my time to help the OpenKIM team develop a clear tutorial for how to do this, if they think it would be useful.

Josh Vita

Hi Joshua,

Thanks for your message and interest in the project.

We have been working on making it easier to do just what you are asking about.

In the longer term we are working on a solution using conda-forge, where it will be easy to obtain KIM Tests as well as other simulation protocols that anyone can contribute for use with KIM Models and other Simulators. We're working with a number of collaborators on this project, but we always welcome additional input and development. We would be happy to have you participate, if you are interested.

In the meantime, we have also been working on a docker container that encapsulates the OpenKIM processing pipeline and will allow a user to develop Tests and run them against all of the OpenKIM Models (this is where the kimitems utility is available). We have not released this to the public, yet. It still needs to be tweaked a little. But, we'll be happy to let you beta test it. We'll be in touch off-list.