brille¶
brille finds the Brillouin zone of a crystal, and the smaller irreducible part of it that symmetry makes unique, and interpolates your calculations over that part. Evaluate an expensive model, such as phonon frequencies and eigenvectors, only at the points of a grid over the irreducible zone, and brille estimates it anywhere in reciprocal space, using the crystal's symmetry to rotate eigenvectors where needed.
You can use brille to:
- get the space group and point group symmetry operations of a lattice;
- find the first Brillouin zone and an irreducible Brillouin zone of any lattice;
- build a grid over either zone, and refine it where your model needs more points;
- linearly interpolate data you provide at the grid points, at any point in reciprocal space.
python -m pip install brille
Where to go next¶
-
Tutorials
Learn by doing: interpolate with brille, then build and refine a mesh.
-
How-to guides
Get a task done: install, give a lattice its symmetry, switch from the trellis to the mesh, control threads.
-
Explanation
Understand the ideas: lattices and Brillouin zones, interpolation grids, the eigenvector phase convention, memory use.
-
Reference
Look up the API: lattices, symmetry, zones, grids, and more.
Worked examples that interpolate phonons from force constants, for NaCl with Euphonic, are in the documentation of brilleu, which joins brille to Euphonic.