diff --git a/calphy/helpers.py b/calphy/helpers.py index d0c6eeb..3c95ff5 100644 --- a/calphy/helpers.py +++ b/calphy/helpers.py @@ -21,20 +21,22 @@ sarath.menon@ruhr-uni-bochum.de/yury.lysogorskiy@icams.rub.de """ -import os -import shutil -import warnings import logging -import numpy as np from collections import Counter, defaultdict -from pylammpsmpi import LammpsLibrary -from lammps import lammps -from ase.io import read, write - +import numpy as np import pyscal3.core as pc from pyscal3.trajectory import Trajectory +from pylammpsmpi import LammpsLibrary + +try: + import lammps.mliap # noqa: F401 + + has_mliap = True +except ImportError: + has_mliap = False + class LammpsScript: """Collect LAMMPS commands instead of executing them. @@ -115,6 +117,11 @@ def create_object( if "-screen" not in cmdargs: cmdargs.extend(["-screen", "none"]) lmp = LammpsLibrary(cores=cores, working_directory=directory, cmdargs=cmdargs) + if has_mliap: + if "-k" in cmdargs or "-kokkos" in cmdargs: + lmp.lmp.activate_mliappy_kokkos() + else: + lmp.lmp.activate_mliappy() commands = [ ["units", "metal"], diff --git a/environment-nolammps.yml b/environment-nolammps.yml index 3ba37f4..36edf17 100644 --- a/environment-nolammps.yml +++ b/environment-nolammps.yml @@ -12,9 +12,9 @@ dependencies: - pyyaml - mendeleev - openmpi - - numpy + - numpy >=2.0.0 - mpi4py - - pylammpsmpi + - pylammpsmpi >0.4.1 - matplotlib - tqdm - pydantic >=2.3.0 diff --git a/environment.yml b/environment.yml index 47d9713..89851f7 100644 --- a/environment.yml +++ b/environment.yml @@ -9,9 +9,9 @@ dependencies: - mendeleev - lammps - openmpi - - numpy + - numpy >=2.0.0 - mpi4py - - pylammpsmpi + - pylammpsmpi >0.4.1 - matplotlib - tqdm - pydantic >=2.3.0 diff --git a/pyproject.toml b/pyproject.toml index 31b7dfd..29ede83 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -31,9 +31,9 @@ dependencies = [ "mendeleev", "tqdm", "scipy", - "pydantic>=2", + "pydantic>=2.3.0", "pyscal3", - "pylammpsmpi", + "pylammpsmpi>0.4.1" ] [project.optional-dependencies]