Skip to main content

Irreducible Brillouin zone symmetry and interpolation.

Reason this release was yanked:

Missing macOS and Windows wheels

Project description

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.5.5.tar.gz (1.5 MB view details)

Uploaded Source

Built Distributions

brille-0.5.5-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

brille-0.5.5-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (1.1 MB view details)

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

brille-0.5.5-cp36-cp36m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (1.1 MB view details)

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

File details

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

File metadata

  • Download URL: brille-0.5.5.tar.gz
  • Upload date:
  • Size: 1.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.12

File hashes

Hashes for brille-0.5.5.tar.gz
Algorithm Hash digest
SHA256 d788ddd37483293d9bd5683f748ec3062a860b5faa8370c026427c40becb4511
MD5 4491e12f7f877d9cae9f3ed82d57e06e
BLAKE2b-256 98246f288f2a970b9bab66d7eb22d896d701400e6a456de1fc5770df540ad92e

See more details on using hashes here.

File details

Details for the file brille-0.5.5-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for brille-0.5.5-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 e5df3c60731e3cbd2c0374e924370aa36577d0ef8e3b986845a34280a3ffa5aa
MD5 e4b0a8b22944400bbc298ab64091cdb8
BLAKE2b-256 415ee6fae147bb588e9c4fd8ea50ddfbe40853687240f35c6f0a1146ba249cfb

See more details on using hashes here.

File details

Details for the file brille-0.5.5-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for brille-0.5.5-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 6bcad105a985e06efbfcfee278da8203a85f818acf2f9a6082334e7e0e075f70
MD5 35283b9b05140a2fd0ea4b3cb2eb76ef
BLAKE2b-256 ab89c67b03dc0ad71ee60e9e710507b3397b41ffacc8ba2b17f8191a2d0a0b2e

See more details on using hashes here.

File details

Details for the file brille-0.5.5-cp36-cp36m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for brille-0.5.5-cp36-cp36m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 6925a1a23a3c47a0f1fed4d6a0bcb3201ed6410b18f7e2ab5ba11e010fb99c8a
MD5 acbf6c23e5822bf727ac7dfddbcb2be8
BLAKE2b-256 d6a4a43821668e9b27a386db099654a18f55e3cab2d6f4557ea539d207c3c245

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