Skip to main content

A library to computes neighbor lists for atomistic system

Project description

Vesin: fast neighbor lists for atomistic systems

Documentation Tests

US English 🇺🇸 UK English 🇬🇧 Occitan French 🇫🇷 Gallo‑Italic Catalan Spanish 🇪🇸 Italian 🇮🇹
neighbor neighbour vesin voisin visin veí vecino vicino

Vesin is a C library that computes neighbor lists for atomistic system, and tries to be fast and easy to use. We also provide a Python package to call the C library.

Installation

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

pip install git+https://github.com/luthaf/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=points,
    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 for increasingly large diamond supercells, on Apple M1 Max CPU. You can run this benchmark on your system with the script at benchmarks/benchmark.py.

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-0.1.0.tar.gz (18.7 kB view hashes)

Uploaded Source

Built Distributions

vesin-0.1.0-py3-none-win_amd64.whl (47.6 kB view hashes)

Uploaded Python 3 Windows x86-64

vesin-0.1.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (50.1 kB view hashes)

Uploaded Python 3 manylinux: glibc 2.17+ x86-64

vesin-0.1.0-py3-none-macosx_11_0_arm64.whl (18.8 kB view hashes)

Uploaded Python 3 macOS 11.0+ ARM64

vesin-0.1.0-py3-none-macosx_10_9_x86_64.whl (19.0 kB view hashes)

Uploaded Python 3 macOS 10.9+ x86-64

Supported by

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