Green's function DSL
gftools is a set of tools to work with numerical condmat problems. It provides three basic classes of objects:
matsubara_grid<b>
. A grid of Matsubara frequencies. “b” corresponds to a choice of fermionic(1) or bosonic(0) grids.real_grid
. A grid of floats, e.g. frequencies. kmesh
. An equidistant periodic set of points (for sampling Brillouine zones).enum_grid
. A grid of integers.container<ValueType, N>
. A recursive multidimensional container of depth grid_object<ValueType, Grids...>
. Green’s function. In a broader scope - a multidimensional object that is defined on a set of grids (Grids…) that contains ValueType values.grid_object<complex_type,matsubara_grid<1>>
- Green’s function in imaginary frequenciesgrid_object<complex_type,matsubara_grid<1>,kmesh>
- Green’s function in imaginary frequencies and reciprocal 1d space.grid_object<complex_type,real_grid>
- Retarded or Advanced Green’s function, etc…Look for examples in “example/“ directory for detailed information.
The code is is provided as a header-only library with a set of examples and tests.
The gftools.hpp
in the repo root can be included in any derivative projects.
To compile examples and tests create a build directory and run
cmake -DExamples=ON -DTesting=ON {path_to_gftools}
make
make test
(for running tests)make doc
to generate documentationOpen-source under GPLv2 license.
Please attribute this work by a citation to arXiv:1705.00024 (2017).