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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | a2f4a7ce968f67e5dedb2d1e725637a74c677a09513eb5e9fff261a75af65c14 |
|
MD5 | a1171cc1726e492900d5ffd6bf7e193f |
|
BLAKE2b-256 | 6e8a1def905e45de643902f2cf5e0891396bb254dbf5d6a3eb70d6a0f84fc942 |
File details
Details for the file aevmod-1.1.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl
.
File metadata
- Download URL: aevmod-1.1.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl
- Upload date:
- Size: 1.7 MB
- Tags: CPython 3.8, manylinux: glibc 2.5+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.17
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 005e0e977a995396ea325154de85b3fadc83c3d89cf4f7f6f2d445b781b34377 |
|
MD5 | 72816c70235b06248bb621467463f815 |
|
BLAKE2b-256 | 13e36cc490ecdea18ef43005153d34f63974bef24df74a04efad303866e707fa |
File details
Details for the file aevmod-1.1.0-cp38-cp38-macosx_10_9_x86_64.whl
.
File metadata
- Download URL: aevmod-1.1.0-cp38-cp38-macosx_10_9_x86_64.whl
- Upload date:
- Size: 194.6 kB
- Tags: CPython 3.8, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.17
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4617a9709fbef6559d36549953da4be777a653a18f14c7379fea6cd001022bac |
|
MD5 | 0d620afe6629ddaab99862f6f9463b42 |
|
BLAKE2b-256 | 8b19a46ca2194ef1e6a1654678de6cb8d90e653ade1224d6a890767406b0dd37 |