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.4.3.tar.gz (881.6 kB view details)

Uploaded Source

Built Distributions

brille-0.4.3-cp38-cp38-manylinux2010_x86_64.whl (13.5 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

brille-0.4.3-cp38-cp38-macosx_10_15_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.8 macOS 10.15+ x86-64

brille-0.4.3-cp37-cp37m-win_amd64.whl (7.9 MB view details)

Uploaded CPython 3.7m Windows x86-64

brille-0.4.3-cp37-cp37m-manylinux2010_x86_64.whl (13.9 MB view details)

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

brille-0.4.3-cp36-cp36m-manylinux2010_x86_64.whl (13.9 MB view details)

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

File details

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

File metadata

  • Download URL: brille-0.4.3.tar.gz
  • Upload date:
  • Size: 881.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.5

File hashes

Hashes for brille-0.4.3.tar.gz
Algorithm Hash digest
SHA256 2ce1219d06c048d8eeaa8c5faf7ea327c92422321edaf16e3903c08d9c2d8845
MD5 9142a3062b7af54d9bf32dad9f87d917
BLAKE2b-256 290b584a5608026ed6108f48b48356502052120b6ac3a75f43ca7cfac4cc0676

See more details on using hashes here.

File details

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

File metadata

  • Download URL: brille-0.4.3-cp38-cp38-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 13.5 MB
  • Tags: CPython 3.8, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.5

File hashes

Hashes for brille-0.4.3-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 35e53b81154cf91f15a208ff3cedfce9bbd5535c5fb719c8f6d957a58249f892
MD5 5e84438503a76449eae7f606a4ee5fe9
BLAKE2b-256 728262b7f672657d7adadee535c94d9afddc844e1d8dd6c79e341f41df8ec509

See more details on using hashes here.

File details

Details for the file brille-0.4.3-cp38-cp38-macosx_10_15_x86_64.whl.

File metadata

  • Download URL: brille-0.4.3-cp38-cp38-macosx_10_15_x86_64.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: CPython 3.8, macOS 10.15+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/46.0.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.3

File hashes

Hashes for brille-0.4.3-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 cd137b4614e27c54ba179b4a3986429316c2f0f66e49eadba66e5ff5e2d41e2c
MD5 beb4c88c8a2a38e7f2d4406548dc25fc
BLAKE2b-256 06b3ef094ba8c0e87c6aabecd1ff8ca465019855f5bb48249911efd1d28940c1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: brille-0.4.3-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 7.9 MB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 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.7

File hashes

Hashes for brille-0.4.3-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 3f8bdaded7ed625e37f1c87c5af8c4a911123d72bad1daab86c5e03c22d75da8
MD5 c60f7bf266632303c874e30f7a36f70b
BLAKE2b-256 f76a102b378cebd6543922be5d48c8b48d0a14e3443b0b746ba219b7c8a943a6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: brille-0.4.3-cp37-cp37m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 13.9 MB
  • Tags: CPython 3.7m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.5

File hashes

Hashes for brille-0.4.3-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 2696713632cc964c437fb45f7a4bb8751ff11f46cd51267b1b667fa3cfbfa381
MD5 7795e056b03ae75e666dc331fcce7696
BLAKE2b-256 bbb41ba54d0e06d69c40abe65b9c205ac323c753ee3cc97785e0e8b50f701925

See more details on using hashes here.

File details

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

File metadata

  • Download URL: brille-0.4.3-cp36-cp36m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 13.9 MB
  • Tags: CPython 3.6m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.5

File hashes

Hashes for brille-0.4.3-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 51ffacef08e7e066feee5b7989fb7baa1f5c7cfa75b9a4d6360ce1c1d09f187d
MD5 29545816ea07049a47f18ad386a82860
BLAKE2b-256 6324236e0798bee4764add651dcf4f0c37bf1e872307880e08f26058ebea28c2

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