Core library of AutoBZ.jl
Author lxvm
0 Stars
Updated Last
8 Months Ago
Started In
February 2023



This package provides interfaces to integration algorithms for periodic functions that typically occur in computational solid state physics in the form of Brillouin-zone integrals.

The main types it exports are FourierIntegrand, which is a constructor for user-defined functions of tight-binding Hamiltonians and such (represented using AbstractFourierSeries), SymmetricBZ, which represents a Brillouin zone and its symmetries, and IntegralSolver, which parametrizes the interfaces defined in Integrals.jl to solve integrals using a functor interface. The package also exports integration algorithms including: IAI, PTR, AutoPTR, and TAI, and it evaluates the FourierIntegrand efficiently using the structure of the algorithms.

Thus, it provides the core, user-extensible functionality of AutoBZ.jl.


For an example of defining a BZ integral for density of states, see the aps_example. To do additional integrals that are not over a BZ, directly use the IntegralSolver with a provided function or with an Integrand, which is a type similar to FourierIntegrand that is exported for convenience. Also note that IntegralSolvers can be composed in order to do multiple nested integrals.


The paper by Kaye et al., (2023) is the motivation for this package. If you find this package useful for your research, please consider citing the paper.

	title = {Automatic, high-order, and adaptive algorithms for {Brillouin} zone integration},
	copyright = {All rights reserved},
	url = {},
	doi = {10.48550/arXiv.2211.12959},
	urldate = {2022-11-26},
	publisher = {arXiv},
	author = {Kaye, Jason and Beck, Sophie and Barnett, Alex and Van Muñoz, Lorenzo and Parcollet, Olivier},
	month = nov,
	year = {2022},
	note = {arXiv:2211.12959 [cond-mat]},
	keywords = {Condensed Matter - Strongly Correlated Electrons, Mathematics - Numerical Analysis, Condensed Matter - Materials Science},

Author and Copyright

AutoBZCore.jl was written by Lorenzo Van Muñoz, and is free/open-source software under the MIT license.

Related packages

Used By Packages

No packages found.