No project description provided
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
Hashes for aevmod-0.0.2-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 25d1f4099f5f7a2d08e285198f2fede36bcc2808e3147d45ad1460554575ca7b |
|
MD5 | 0078c410e0332c8c692b3c4d2eb80c1b |
|
BLAKE2b-256 | e9a7968b46bc491323faee4b05ff8c2bf3678083236d7af99611da2e6798716a |
Hashes for aevmod-0.0.2-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 66002a663e3cc11c2d109b9d862d1694f9e2d1de75860d948c5ba2c44201d34d |
|
MD5 | 282d92296543c2e9b2316813ebf028f7 |
|
BLAKE2b-256 | 31dadd8b352ce220aadbdbf5824e32e9d7341757fab68ca60ca1971ed58ab365 |