KIM-LAMMPS example broken in v3?

It seems as though the using lammps with kim example code is broken with openkim-api v3

I am able to have lammps compile with the 17Aug lammps_kim_interface_code code, provided I add the link -ldl to the Make.serialkim file

Unfortunately, when I try to run the examples, I get an error. This is with KIM_DYNAMIC set, though a similar problem seems to exist without.

Terminal output ------------------------------------------------------

LAMMPS (17 Sep 2011)
Lattice spacing in x,y,z = 4.05 4.05 4.05
Created orthogonal box = (0 0 0) to (97.2 97.2 97.2)
1 by 1 by 1 processor grid
Created 58825 atoms
Setting up run …

  • Error: at line 986 in model_Al_PF_ErcolessiAdams.F90
    Message: kim_api_get_half_neigh_f
    KIM_STATUS_MSG: iterator has been incremented past end of list
  • Error: at line 762 in model_Al_PF_ErcolessiAdams.F90
    Message: reset_iterator
    KIM_STATUS_MSG: unsuccessful completion
    error in pairKIM object:pairKIM::pkim->model_compute() error : error code =0

kim.log -----------------------------------------------------------------------------------

  • Info (KIM_API_model::is_it_match): The following descriptor file line may not match with test_LAMMPS’s descriptor file.
    OneBasedLists dummy none none []

  • Info: KIM_API_model::model_init: call dynamically linked initialize routine for:model_Al_PF_ErcolessiAdams
    from the shared library:/afs/

log.lammps ------------------------------------------------------------------------------

LAMMPS (17 Sep 2011)

Energy minimization of an FCC cluster of aluminum using a KIM Model

units metal

atom_style atomic
boundary s s s
newton off

lattice fcc 4.0500
Lattice spacing in x,y,z = 4.05 4.05 4.05

atom_modify map hash

region box block 0 24 0 24 0 24

create_box 1 box
Created orthogonal box = (0 0 0) to (97.2 97.2 97.2)
1 by 1 by 1 processor grid
create_atoms 1 box
Created 58825 atoms
mass 1 26.981539

velocity all create 2.0 232345

pair_style pair_KIM model_Al_PF_ErcolessiAdams Al
pair_coeff * *

neighbor 0.3 bin

compute eng all pe
variable enrg equal c_eng
variable ffx equal “fx[100]”

fix extra all print 10 “Potential Energy = {enrg}" fix forcexprint all print 1 "Fx = {ffx}”

fix 1 all nve

atom_modify first all

neigh_modify delay 0 every 1 check yes

dump id all custom 10 in.MD.aluminum.FCC.KIM.*.xyz id x y z

run 90

I meant the newest release. v0.2.0. Actually, I’m just cloning the git respository, so it is recent as of today.

Hi Alexander,

Yes, we made a couple of changes that are included in the 0.2.0 release that would certainly break the 0.1.* LAMMPS code that we posted previously.

We are currently deep in the middle of making further changes that will add significant functionality (and correct the behavior of pair_KIM when used with EAM Models on multiple processors).

So, I'm afraid we probably won't manage to provide a new version of the LAMPPS interface code for v0.2.0 right away (maybe never, if we end up releasing the above mentioned changes as a v0.3.0 soon...).