Minimum-strain symmetrization of Bravais lattices
Project description
auguste
A python module for minimum-strain symmetrization of Bravais lattices. Symmetrization produces a strain tensor, which is reduced to a scalar quantity. This quantifies the 'distance' of a lattice from each Bravais class. The distance can be used for classification of Bravais lattices, and visualization in an abstract Bravais space.
Installation:
To install the module with pip (recommended):
pip install --user auguste
To install directly from the git repository:
pip install --user git+https://github.com/pmla/auguste
To do a manual build and installation:
python3 setup.py build
python3 setup.py install --user
Usage:
To import the module:
>>> import auguste
To symmetrize a lattice (with rows as unit vectors):
>>> cell = [[0, 1, 1], [1, 0, 1], [1, 1, 0]]
>>> distance, symmetrized = auguste.symmetrize_lattice(cell, "primitive tetragonal")
>>> distance
0.4714045207910317
>>> symmetrized
array([[-0.37037037, 0.74074074, 0.74074074],
[ 0.74074074, -0.37037037, 0.74074074],
[ 0.74074074, 0.74074074, -0.37037037]])
Supported lattice names are stored in the module variables:
>>> auguste.names
('primitive triclinic', 'primitive monoclinic', 'base-centred monoclinic', 'primitive orthorhombic', 'base-centred orthorhombic', 'body-centred orthorhombic', 'face-centred orthorhombic', 'primitive tetragonal', 'body-centred tetragonal', 'primitive rhombohedral', 'primitive hexagonal', 'primitive cubic', 'body-centred cubic', 'face-centred cubic')
>>> auguste.pearson
('aP', 'mP', 'mS', 'oP', 'oS', 'oF', 'oI', 'tP', 'tI', 'hP', 'hR', 'cP', 'cF', 'cI')
To calculate the symmetrization distances from all Bravais types:
>>> auguste.calculate_vector(cell)
array([0.00000000e+00, 4.28372991e-01, 5.24426159e-16, 4.71404521e-01,
4.28372991e-01, 3.80565279e-16, 1.92296269e-16, 4.71404521e-01,
4.07921987e-16, 1.92296269e-16, 4.60895951e-01, 4.71404521e-01,
2.61971659e-01, 0.00000000e+00])
Information
If you use auguste in a publication, please cite:
Peter M. Larsen, Edward L. Pang, Pablo A. Parrilo, and Karsten W. Jacobsen; "Minimum-strain symmetrization of Bravais lattices"; Phys. Rev. Research 2, 013077
Article available at https://doi.org/10.1103/PhysRevResearch.2.013077
Preprint available at https://arxiv.org/abs/1910.03433.
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
File details
Details for the file auguste-0.1.5.tar.gz
.
File metadata
- Download URL: auguste-0.1.5.tar.gz
- Upload date:
- Size: 35.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.5.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 04ae23d514dd91beff54b8db7803ab711b2c796b5a75f8044165b20092722371 |
|
MD5 | d9fa003879be82b39fffe7f7fe3ea0c0 |
|
BLAKE2b-256 | d5fd0908fced24e1028ee74c1f49f47a149e7ab517cb789671687fbf722d9b5e |