Skip to main content

Computing neighbor lists for atomistic system, in TorchScript

Project description

Vesin: fast neighbor lists for atomistic systems

Documentation Tests

English 🇺🇸⁠/⁠🇬🇧 Occitan French 🇫🇷 Arpitan Gallo‑Italic Catalan Spanish 🇪🇸 Italian 🇮🇹
neighbo(u)r vesin voisin vesin visin veí vecino vicino

Vesin is a fast and easy to use library computing neighbor lists for atomistic system. We provide an interface for the following programing languages:

  • C (also compatible with C++). The project can be installed and used as a library with your own build system, or included as a single file and built directly by your own build system;
  • Python;
  • TorchScript, with both a C++ and Python interface;

Installation

To use the code from Python, you can install it with pip:

pip install vesin

See the documentation for more information on how to install the code to use it from C or C++.

Usage instruction

You can either use the NeighborList calculator class:

import numpy as np
from vesin import NeighborList

# positions can be anything compatible with numpy's ndarray
positions = [
    (0, 0, 0),
    (0, 1.3, 1.3),
]
box = 3.2 * np.eye(3)

calculator = NeighborList(cutoff=4.2, full_list=True)
i, j, S, d = calculator.compute(
    points=positions,
    box=box,
    periodic=True,
    quantities="ijSd"
)

We also provide a function with drop-in compatibility to ASE's neighbor list:

import ase
from vesin import ase_neighbor_list

atoms = ase.Atoms(...)

i, j, S, d = ase_neighbor_list("ijSd", atoms, cutoff=4.2)

See the documentation for more information on how to use the code from C or C++.

Benchmarks

You can find below benchmark result computing neighbor lists for increasingly large diamond supercells, using an AMD 3955WX CPU and an NVIDIA 4070 Ti SUPER GPU. You can run this benchmark on your system with the script at benchmarks/benchmark.py. Missing points indicate that a specific code could not run the calculation (for example, NNPOps requires the cell to be twice the cutoff in size, and can't run with large cutoffs and small cells).

Benchmarks

License

Vesin is is distributed under the 3 clauses BSD license. By contributing to this code, you agree to distribute your contributions under the same license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vesin_torch-0.3.6.tar.gz (31.1 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

vesin_torch-0.3.6-py3-none-win_amd64.whl (1.1 MB view details)

Uploaded Python 3Windows x86-64

vesin_torch-0.3.6-py3-none-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (577.6 kB view details)

Uploaded Python 3manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

vesin_torch-0.3.6-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (606.4 kB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

vesin_torch-0.3.6-py3-none-macosx_11_0_arm64.whl (574.4 kB view details)

Uploaded Python 3macOS 11.0+ ARM64

File details

Details for the file vesin_torch-0.3.6.tar.gz.

File metadata

  • Download URL: vesin_torch-0.3.6.tar.gz
  • Upload date:
  • Size: 31.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for vesin_torch-0.3.6.tar.gz
Algorithm Hash digest
SHA256 c8bdf79fc3fe3e33c5a32857fa11ce618957480aa97e0ec064910e81f4dae196
MD5 cce4c3113104a0bf51a81ab4549853f7
BLAKE2b-256 5a9ebdd7e14025c26fa1b6c06b287878bdb7c38a15a10fd96957ae704f130582

See more details on using hashes here.

File details

Details for the file vesin_torch-0.3.6-py3-none-win_amd64.whl.

File metadata

  • Download URL: vesin_torch-0.3.6-py3-none-win_amd64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for vesin_torch-0.3.6-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 2af371e008a65bfaef57ac718386cd28dd86d9b7ad193677d54a5e22aa2447b1
MD5 d6cdd3c41f7964103c08b82a659eb63a
BLAKE2b-256 176dbfcbd0572e1c6f43cbf6d4961308ec93801b73eaeb599bb260254f2a4483

See more details on using hashes here.

File details

Details for the file vesin_torch-0.3.6-py3-none-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for vesin_torch-0.3.6-py3-none-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 2e8ba506cad9f7cb39d6d914f61b831c029658fb22304e6b3b4706f8f4a0ba36
MD5 b727347f160ece94109bd30cc3749802
BLAKE2b-256 826edd4d42d674fed2e1de9ef44a9ee807b4d3ad9ef2141512adee431f8e1fe5

See more details on using hashes here.

File details

Details for the file vesin_torch-0.3.6-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for vesin_torch-0.3.6-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 35b9eed5f2456f44d712c54d0d49eaf99442f6581169aa45fdfb554d88ac4153
MD5 bd7c59b8e575cc0815a49ada3c0189d9
BLAKE2b-256 26ef9fe72f60f0b0193af725af5bcccb832ca54d98cb22b53495bfb816eecdd3

See more details on using hashes here.

File details

Details for the file vesin_torch-0.3.6-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for vesin_torch-0.3.6-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 74c6dafbd466f5349bf740a9785352c33ec1958e8a44b96601e8411b1703fc06
MD5 beb988877d2acafc97053d7f8a2d35f0
BLAKE2b-256 9ec8b6602ac5ea2aa38a321e86901a2e4522724feff324ad128bf2efc5ada2bf

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page