LAMMPS tutorial questions?

Hi all,

If anyone has any questions about the LAMMPS tutorial I went over in the boot camp (https://pipeline.openkim.org/docs/tutorial_lammps.html), I’d be happy to answer them!

Dan

With all the test drivers, what is the difference between *_000 and *_001? Before clicking, I was expecting to see kimspec.yaml in *_000 and kimspec.edn in *_001. When I saw edn in both, wondered what the difference was.

Hi Zach,

Versions *_000 of all of the items currently in the OpenKIM Repository correspond to version 1.5 of the KIM API. While these are essentially deprecated since we’ve brought everything up to KIM API v1.6 with versions *_001, we’ve kept them in the repository for provenance.

Dan

Hi Zach,

Great question.

The big difference is that the *_000 version are designed to work with openkim-api-v1.5.0 and below whereas the *_001 versions have been updated to work with kim-api-v1.6.0 and above.

In recent weeks, we have updated the OpenKIM content to work with v1.5.0 and the recent EDN-based properties framework. Once that was complete, we performed a complete upgrade of all content to support v1.6.0 and above.

Cheers,

Ryan

Hi Dan,

I was trying to play with the pipeline, and I’ve got a couple of questions. Below is what I did.

1). installing the Test and Test Driver and compile them by:
kimitems install ElasticConstantsCubic__TD_011862047401_001 kimitems install ElasticConstantsCubic_fcc_Ar__TE_481032490646_001
$ bootcamputil --build

2). running command:
$ pipeline_runpair ElasticConstantsCubic_fcc_Ar__TE_481032490646_001 Pair_Lennard_Jones_Shifted_Bernardes_MedCutoff_Ar__MO_126566794224_001

So far it works well.

Then I tried:

$ pipeline_runpair ElasticConstantsCubic_fcc_Ar__TE_481032490646_001 ex_model_Ar_P_Morse

It failed and the error reads:

Traceback (most recent call last):
File “/home/openkim/openkim-pipeline/tools/pipeline_runpair”, line 33, in
Computation(runner, subject, d.get_result_code()).run()
File “/home/openkim/openkim-pipeline/compute.py”, line 345, in run
raise PipelineRuntimeError(e, outs)
config.PipelineRuntimeError: KIMRuntimeError: Executable <Test(ElasticConstantsCubic_fcc_Ar__TE_481032490646_001)> returned error code 1

Traceback (most recent call last):
File “/home/openkim/openkim-pipeline/compute.py”, line 326, in run
self.execute_in_place()
File “/home/openkim/openkim-pipeline/compute.py”, line 191, in execute_in_place
raise KIMRuntimeError("Executable %r returned error code r" (self.runner_temp, self.retcode))
KIMRuntimeError: Executable <Test(ElasticConstantsCubic_fcc_Ar__TE_481032490646_001)> returned error code 1

output/pipeline.stdout:

Hi Mingjian,

The reason pipeline_runpair ElasticConstantsCubic_fcc_Ar__TE_481032490646_001 ex_model_Ar_P_Morse is failing is because ElasticConstantsCubic_fcc_Ar__TE_481032490646_001 is attempting to query the lattice constant of fcc Ar for the Model that’s being used, but an empty array is returned by the query when the current Model is ex_model_Ar_P_Morse. This arises because the ex_model_Ar_P_Morse Model isn’t actually in the OpenKIM Repository (and, hence, doesn’t have a full KIM ID with a 12 digit identifier and 3 digit version code). Thus, there are no Test Results at all (lattice constant or otherwise) in the database to query for this Model.

So, when the ElasticConstantsCubic Test attempts to do

latticeconst = float(latticeconst_result) * 1e10

the float() function in python throws an error because latticeconst_result is actually an empty array, leading to the following message:

ValueError: could not convert string to float: []

Hope this clears things up,
Dan

Ah, sorry I forgot about the second problem you were having with EAM_Dynamo__MD_120291908751_001 not compiling. Can you give more details of what output you’re seeing when it fails to build?

Dan

Thanks, Dan.

The model driver EAM_Dynamo__MD_120291908751_001' can not be compiled when running $ bootcamputil --build ‘. The prompt doesn’t proceed (I waited for a long time), and I have to terminate it by `Ctrl-c’. Then the error message is:

/home/openkim/openkim-repository/md/EAM_Dynamo__MD_120291908751_001
^CTraceback (most recent call last):
File “/home/openkim/openkim-pipeline/tools/bootcamputil”, line 62, in
buildall()
File “/home/openkim/openkim-pipeline/tools/bootcamputil”, line 46, in buildall
subprocess.check_call([‘make’], stdout=log, stderr=log)
File “/usr/lib/python2.7/subprocess.py”, line 506, in check_call
retcode = call(*popenargs, **kwargs)
File “/usr/lib/python2.7/subprocess.py”, line 493, in call
return Popen(*popenargs, **kwargs).wait()
File “/usr/lib/python2.7/subprocess.py”, line 1291, in wait
pid, sts = _eintr_retry_call(os.waitpid, self.pid, 0)
File “/usr/lib/python2.7/subprocess.py”, line 478, in _eintr_retry_call
return func(*args)
KeyboardInterrupt

Similar thing happens when I try to compile EAM_Dynamo model, e.g. `EAM_Dynamo_Ackland_Tichy_Cu__MO_179025990738_001’. But this time, there is error message and which reads:

/home/openkim/openkim-repository/mo/EAM_Dynamo_Ackland_Tichy_Cu__MO_179025990738_001
Traceback (most recent call last):
File “/home/openkim/openkim-pipeline/tools/bootcamputil”, line 62, in
buildall()
File “/home/openkim/openkim-pipeline/tools/bootcamputil”, line 46, in buildall
subprocess.check_call([‘make’], stdout=log, stderr=log)
File “/usr/lib/python2.7/subprocess.py”, line 511, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command ‘[‘make’]’ returned non-zero exit status 2

Mingjian

I assume it’s just hanging on “Creating… EAM_DynamoImplementation.o.” This model driver actually takes a couple minutes to compile. On my system, it takes about 1.5min.

[email protected]nkim-vm:~/openkim-repository/md/EAM_Dynamo__MD_120291908751_001$ time make
Creating… EAM_Dynamo.o.
Creating… EAM_DynamoImplementationComputeDispatch.cpp.
Creating… EAM_DynamoImplementation.o.
Creating… intermediate file… driver_init_wrapper.cpp.
Creating… driver_init_wrapper.o.
Creating… libkim-api-model-driver-v1.6.0-git+2a3ddf7.GCC.linux.64bit.dynamic-load.a.
Creating… intermediate file… export-list.txt.
Creating… libkim-api-model-driver-v1.6.0-git+2a3ddf7.GCC.linux.64bit.dynamic-load.so.
Creating… libkim-api-model-driver-v1.so.
rm driver_init_wrapper.cpp export-list.txt

real 1m37.307s
user 1m35.970s
sys 0m0.928s

Try waiting on it for a while and let me know what happens.

Dan

Hi Dan,

Yes, both the EAM Dynamo model driver and models can compile well, although I waited for a long time. Thanks for your help.

Mingjian