Skip to main content

Compute atomic environment vector (AEV) and its derivatives

Project description

This package provides functionality for computing an atomic environment vector (AEV), as well as its Jacobian and Hessian. The AEV is a feature vector that is useful for representing the geometry of a molecule, or simply a set of atoms, in a manner that satisfies rotational and translational invariances. For the i-th atom in the system, its AEV is \(y_i=f_i(x)\), where x is a vector of Cartesian coordinates of all atoms in the set. The Jacobian and Hessian are with respect to the \(x\) coordinates. Ther package uses pybind11 to expose our C++ AEV library to Python, as a python package aevmod. The package folder includes:

  • this README file, which can be viewed in a web browser using restview. You can use

# simple invocation in present terminal
restview README.rst &

# or, invocation in a separate xterm terminal
xterm -geometry 100x10-0-0 -e restview README.rst &
  • a doc folder containing pdf documentation

  • an examples folder containing an example application taev.py

  • an include folder containing requisite sacado include files for the C++ library

  • a pyproject.toml file containing build-system dependencies and other configuration info

  • a setup.py file for building and installing the package

  • an src folder containing the C++ source code

  • a tests folder containing code and data for running tests with pytest

The aevmod package is compatible with Python 3, and the pybind11 usage requires a C++ compiler that has at least C++11 functionality.

To try out aevmod, under the package folder, do:

# Build and install the package
pip install .

# Install pytest so we can run the tests
pip install pytest

You can now run the tests to confirm everything works:

pytest
====================================== test session starts =======================================
platform darwin -- Python 3.8.10, pytest-6.2.4, py-1.10.0, pluggy-0.13.1
rootdir: /Users/hnnajm/mls/pkg/aev, configfile: setup.cfg, testpaths: tests
plugins: anyio-2.2.0
collected 6 items

tests/test_aev.py .                                                                        [ 16%]
tests/test_ang_indsets.py .                                                                [ 33%]
tests/test_hes.py .                                                                        [ 50%]
tests/test_jac.py .                                                                        [ 66%]
tests/test_rad_indsets.py .                                                                [ 83%]
tests/test_structures.py .                                                                 [100%]

======================================= 6 passed in 0.75s ========================================

You can also run the example code:

python ./examples/taev.py

If you make a code change you will need to re-build and install. You can do this using pip:

pip install --upgrade .

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

aevmod-1.1.0.tar.gz (1.4 MB view details)

Uploaded Source

Built Distributions

aevmod-1.1.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.5+ x86-64

aevmod-1.1.0-cp38-cp38-macosx_10_9_x86_64.whl (194.6 kB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

File details

Details for the file aevmod-1.1.0.tar.gz.

File metadata

  • Download URL: aevmod-1.1.0.tar.gz
  • Upload date:
  • Size: 1.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.17

File hashes

Hashes for aevmod-1.1.0.tar.gz
Algorithm Hash digest
SHA256 a2f4a7ce968f67e5dedb2d1e725637a74c677a09513eb5e9fff261a75af65c14
MD5 a1171cc1726e492900d5ffd6bf7e193f
BLAKE2b-256 6e8a1def905e45de643902f2cf5e0891396bb254dbf5d6a3eb70d6a0f84fc942

See more details on using hashes here.

File details

Details for the file aevmod-1.1.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for aevmod-1.1.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 005e0e977a995396ea325154de85b3fadc83c3d89cf4f7f6f2d445b781b34377
MD5 72816c70235b06248bb621467463f815
BLAKE2b-256 13e36cc490ecdea18ef43005153d34f63974bef24df74a04efad303866e707fa

See more details on using hashes here.

File details

Details for the file aevmod-1.1.0-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for aevmod-1.1.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 4617a9709fbef6559d36549953da4be777a653a18f14c7379fea6cd001022bac
MD5 0d620afe6629ddaab99862f6f9463b42
BLAKE2b-256 8b19a46ca2194ef1e6a1654678de6cb8d90e653ade1224d6a890767406b0dd37

See more details on using hashes here.

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