TBTK

**TBTK** is a C++ library designed for modeling and solving **second-quantized Hamiltonians** on arbitrary discretizable structures. While rooted in tight-binding models, its abstract graph-based architecture allows it to handle a wide v…

4. TIGHT-BINDING 4.2 Model Hamiltonians VERIFIED 1 paper
Back to Mind Map Official Website

Overview

**TBTK** is a C++ library designed for modeling and solving **second-quantized Hamiltonians** on arbitrary discretizable structures. While rooted in tight-binding models, its abstract graph-based architecture allows it to handle a wide variety of quantum mechanical problems, from simple lattices to complex device geometries. It provides a suite of high-performance solvers, including exact diagonalization and the **Kernel Polynomial Method (KPM)**, along with tools for calculating Green's functio

Reference Papers (1)

Full Documentation

Official Resources

  • Homepage: http://www.second-quantization.com/
  • Repository: https://github.com/dafer45/TBTK
  • License: Apache-2.0

Overview

TBTK is a C++ library designed for modeling and solving second-quantized Hamiltonians on arbitrary discretizable structures. While rooted in tight-binding models, its abstract graph-based architecture allows it to handle a wide variety of quantum mechanical problems, from simple lattices to complex device geometries. It provides a suite of high-performance solvers, including exact diagonalization and the Kernel Polynomial Method (KPM), along with tools for calculating Green's functions and other observables.

Scientific domain: Quantum Transport, Second Quantization Target user community: C++ developers simulating mesoscopic devices

Theoretical Methods

  • Second Quantization: Abstract representation of creation/annihilation operators on discrete indices.
  • Solvers:
    • Diagonalization: Full spectrum (LAPACK) or partial spectrum (Arnoldi).
    • Chebyshev (KPM): Order-N expansion for Density of States (DOS) and spectral functions.
    • Block Diagonalization: Exploiting symmetries.
  • Formalism: Handles Fermionic and Bosonic statistics (Grand Canonical Ensemble).

Capabilities

  • Model Construction:
    • Arbitrary graphs (1D, 2D, 3D, and beyond).
    • Complex indices (subcoordinates, spins, orbitals).
  • Observables:
    • Density of States (DOS), Local DOS (LDOS).
    • Charge Density, Magnetization.
    • Current Density (Bond currents).
  • Advanced Features:
    • Self-consistent mean-field loops (Hartree-Fock, Superconductivity).
    • CUDA acceleration for select solvers.

Key Strengths

  • Generality: The index system is extremely flexible, allowing models that don't fit into standard "unit cell" descriptions (e.g., quasicrystals, fractals, amorphous systems).
  • Performance: Written in modern C++ with OpenMP and GPU support, capable of scaling to millions of sites using the Chebyshev solver.
  • Visualization: Built-in support for exporting data to VTK formats for 3D visualization in Paraview.

Inputs & Outputs

  • Inputs: C++ code defining the Model object (HoppingAmplitudes).
  • Outputs:
    • Property containers (Arrays).
    • .vtp/.vtu files for visualization.

Interfaces & Ecosystem

  • Dependencies: LAPACK, BLAS, FFTW.
  • Integration: Designed to be compiled as a shared library.

Performance Characteristics

  • Efficiency: State-of-the-art for large sparse systems (KPM).
  • Scalability: MPI parallelism allows cluster deployment.

Comparison with Other Codes

  • vs. Kwant: Kwant is Python-based and focused on scattering. TBTK is C++ and emphasizes the general construction of second-quantized Hamiltonians and spectral properties.
  • vs. Pybinding: Both use KPM for large systems; TBTK offers a lower-level C++ API which may be preferred for embedding in other high-performance applications.

Application Areas

  • Mesoscopic Superconductivity: Modeling Josephson junctions and proximity effects.
  • Quantum Hall Effect: Edge states in specific geometries.

Community and Support

  • Development: Kristofer Björnson.
  • Source: GitHub.

Verification & Sources

Related Tools in 4.2 Model Hamiltonians