/bravais

A simple package for representing Bravais lattices in Python.

Primary LanguagePythonMozilla Public License 2.0MPL-2.0

PyPI version

bravais

A simple package for representing Bravais lattices. Primarily useful to check the passed parameters represent a valid Bravais lattice. If a lattice parameter is not specified, it will be assigned randomly (such that all lattice parameters remain compatible with the specified lattice system).

Installation

pip install bravais

Examples

Import the BravaisLattice class:

from bravais import BravaisLattice

Quickly generate a monoclinic Bravais lattice without specifying any lattice parameters:

mon_lat = BravaisLattice('monoclinic')
print(mon_lat)
P-centred monoclinic lattice (a=5.9417, b=4.7245, c=5.7335, alpha=90.00, beta=90.00, gamma=51.01)

Generate a body-centred tetragonal Bravais lattice with particular lattice parameters:

tet_lat = BravaisLattice('tetragonal', 'I', a=3)
print(tet_lat)
I-centred tetragonal lattice (a=3.0000, b=3.0000, c=3.5708, alpha=90.00, beta=90.00, gamma=90.00)

Note that the following single-digit codes are used to specify centring-types:

P -> primitive
B -> base
I -> body
F -> face
R -> rhombohedral