ACEsuit / ACEpotentials.jl

Machine Learning Interatomic Potentials with the Atomic Cluster Expansion
MIT License
45 stars 11 forks source link

ase calculator for ACE1pack potentials #135

Open jmargraf opened 1 year ago

jmargraf commented 1 year ago

If just started fitting some ACE potentials and would like to experiment with them in ase. The documentation mentions that this can be done via pyjulip, but this issue in the pyjulip repo (https://github.com/casv2/pyjulip/issues/2) indicates that ACEInterfaces is the better choice. However, the corresponding repo is not well documented and hasn't seen any recent commits.

What's the status/future plan for using ACE potentials in ase?

cortner commented 1 year ago

@tjjarvinen

wcwitt commented 1 year ago

Hi @jmargraf, thanks for the interest! Please do continue to file issues for anything that seems strange ... we are in the middle of a big push to improve the documentation, etc.

I believe most of us still use pyjulip in practice, although that may change soon as other options mature.

tjjarvinen commented 1 year ago

Yes there is a change comming for this. But it needs a little bit testing first.

jmargraf commented 1 year ago

Thanks for the feedback! The reason I asked is that I can't get pyjulip to run on my system (MacOS12 with homebrew python3.11 and pip3). The traceback is:

>>> import pyjulip
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/opt/homebrew/lib/python3.11/site-packages/pyjulip.py", line 10, in <module>
    Main.eval("using ASE, JuLIP, ACE1")
  File "/opt/homebrew/lib/python3.11/site-packages/julia/core.py", line 627, in eval
    ans = self._call(src)
          ^^^^^^^^^^^^^^^
  File "/opt/homebrew/lib/python3.11/site-packages/julia/core.py", line 555, in _call
    self.check_exception(src)
  File "/opt/homebrew/lib/python3.11/site-packages/julia/core.py", line 609, in check_exception
    raise JuliaError(u'Exception \'{}\' occurred while calling julia code:\n{}'
julia.core.JuliaError: Exception 'ArgumentError: Package ASE not found in current path.
- Run `import Pkg; Pkg.add("ASE")` to install the ASE package.' occurred while calling julia code:
using ASE, JuLIP, ACE1

And here is the Project.toml:

[deps]
ACE1pack = "8c4e8d19-0bd6-4234-8309-7210652e3178"
ASE = "51974c44-a7ed-5088-b8be-3e78c8ba416c"
Polynomials4ML = "03c4bcba-a943-47e9-bfa1-b1661fc2974f"

I should add as a disclaimer that I'm a complete novice in Julia, so it may just be a stupid setup mistake on my side. Any pointers would be welcome!

tjjarvinen commented 1 year ago

Ok, I will take a catch of this. I finalize and test the new version, so that it will be ready to use.

wcwitt commented 1 year ago

In the meantime, @casv2 may have input as well.

casv2 commented 1 year ago

Running ] add ASE, JuLIP, ACE1 in Julia should help resolve this issue. But I agree we should retire pyjulip.

jmargraf commented 1 year ago

Unfortunately not. Here's the updated Project.toml after running this command:

[deps]
ACE1 = "e3f9bc04-086e-409a-ba78-e9769fe067bb"
ACE1pack = "8c4e8d19-0bd6-4234-8309-7210652e3178"
ASE = "51974c44-a7ed-5088-b8be-3e78c8ba416c"
JuLIP = "945c410c-986d-556a-acb1-167a618e0462"
Polynomials4ML = "03c4bcba-a943-47e9-bfa1-b1661fc2974f"

Still the same error when importing pyjulip.

Is there anything I need to do to make my python aware of this particular Julia project? I'm running it in the same directory.

tjjarvinen commented 1 year ago

We have made changes in background on Python interface, #132 for reference. This means that pyjulip wont work either and we need to make the new interface usable asap.

jmargraf commented 1 year ago

Ah ok, good to know!