Skip to main content

Irreducible Brillouin zone symmetry and interpolation.

Project description

brille for Horace

brille

A C++ library for symmetry operations and linear interpolation within an irreducible part of the first Brillouin zone. Wrapped for use in python using pybind11.

irreducible polyhedron

When provided with the lattice parameters or basis vectors of a real space spacegroup and its Hall symbol or number as determined by, e.g., Spglib, brille can

  • construct the first Brillouin zone
  • determine its high symmetry points
  • find a irreducible polyhedron and verify that its conforms to the pointgroup symmetry of the spacegroup.

Constructing and irreducible Brillouin zone polyhedron for a face centered cubic lattice can be accomplished with, e.g.,

	import brille

	direct_lattice = brille.Direct((4.96, 4.96, 4.96), (90, 90, 90), 'Fd-3m')
	brillouin_zone = brille.BrillouinZone(direct_lattice.star)

interpolation

Interpolating eigenvalues and eigenvectors across a degenerate point could lead to misidentified equivalent modes. Since the eigenvectors are distinguishable at all points away from the high-symmetry directions, a hybrid orthogonal/triangulated grid defined in an irreducible part of the Brillouin zone can be used to avoid mode misidentification.

brille can construct

  • an orthogonal grid guaranteed to contain the first Brillouin zone
  • a triangulated set of points filling an irreducible polyhedron or the first Brillouin zone
  • or a hybrid orthogonal/triangulated grid where only the surface cells are triangulated to improve point location time while preserving polyhedral conformity.

Of these options the third is most appropriate for the interpolation of models used in the analysis of inelastic neutron scattering data is the hybrid grid.

Dependencies

TetGen

A modified version of TetGen is used to create refined tetrahedral meshes in the irreducible portion of the first Brillouin zone.

The modified version is included as part of this repository.

Installation

From the root folder of this repository use Python 3 to build and install this library.

python setup.py install

Alternatively, the python module, C++ library, and catch2 based tests can be built directly using cmake.

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

brille-0.1.4.tar.gz (1.4 MB view details)

Uploaded Source

Built Distributions

brille-0.1.4-cp38-cp38-manylinux2010_x86_64.whl (986.9 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

brille-0.1.4-cp37-cp37m-win_amd64.whl (6.4 MB view details)

Uploaded CPython 3.7m Windows x86-64

brille-0.1.4-cp37-cp37m-manylinux2010_x86_64.whl (993.8 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.12+ x86-64

brille-0.1.4-cp36-cp36m-manylinux2010_x86_64.whl (993.8 kB view details)

Uploaded CPython 3.6m manylinux: glibc 2.12+ x86-64

File details

Details for the file brille-0.1.4.tar.gz.

File metadata

  • Download URL: brille-0.1.4.tar.gz
  • Upload date:
  • Size: 1.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/46.1.1 requests-toolbelt/0.8.0 tqdm/4.38.0 CPython/3.7.6

File hashes

Hashes for brille-0.1.4.tar.gz
Algorithm Hash digest
SHA256 9de48f2a0a7005b62f99c847313f0efd8a4bd1adad56d5cec475bd712df033e1
MD5 96f5756822cbe35ff5c206f678b64320
BLAKE2b-256 c9a1a5180217bb64eefbb1769d958d17738f206bb8172293144ad1a39b3d7af7

See more details on using hashes here.

File details

Details for the file brille-0.1.4-cp38-cp38-manylinux2010_x86_64.whl.

File metadata

  • Download URL: brille-0.1.4-cp38-cp38-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 986.9 kB
  • Tags: CPython 3.8, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.8.2

File hashes

Hashes for brille-0.1.4-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 8cb7b41fb33ee25c137eaf14b989aaeb604d1247d8c63c767c2a0117b62a61f4
MD5 b187fa7c7dbe0e1c86dcdfbf9796542b
BLAKE2b-256 9810bc6946c4c98db56c8a98f335f334f4531902a67f0fc019109b43a5916525

See more details on using hashes here.

File details

Details for the file brille-0.1.4-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: brille-0.1.4-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 6.4 MB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/46.1.1 requests-toolbelt/0.8.0 tqdm/4.38.0 CPython/3.7.6

File hashes

Hashes for brille-0.1.4-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 1006d478f9a6eef1d8a29818698373d02ec6e359703483fded8e278b57d8894a
MD5 0269d21cb8d562eb7b5fd253a67993e6
BLAKE2b-256 cbd36c06947cdcbbea660979e307926d7cb05a912dac7d683fff7c8ca478b51c

See more details on using hashes here.

File details

Details for the file brille-0.1.4-cp37-cp37m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: brille-0.1.4-cp37-cp37m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 993.8 kB
  • Tags: CPython 3.7m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.8.2

File hashes

Hashes for brille-0.1.4-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 09cfa371fdba3af22c68538a323ec551252966fcc4bbb4bee56c8528f2e99bae
MD5 1a5386b69fb7bd5ac886e11d7f83547e
BLAKE2b-256 1f31a01f01ec7bd0ce6a80fcb8a0dd1a8f19060319bf8faae18d4dfee89f74a4

See more details on using hashes here.

File details

Details for the file brille-0.1.4-cp36-cp36m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: brille-0.1.4-cp36-cp36m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 993.8 kB
  • Tags: CPython 3.6m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.8.2

File hashes

Hashes for brille-0.1.4-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 d9811b69743892fbb680d033529825e1e689b804ea88f5527c4b2122703d04a8
MD5 d7fee2058bc6088038f533241c985f63
BLAKE2b-256 fb12fadd120f56a52d6985aea91acaa613137121d13789c30fe58da7c70bd666

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