<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Guide :: Unfolding Documentation</title><link>https://mailhexu.github.io/unfolding/guide/index.html</link><description/><generator>Hugo</generator><language>en-us</language><atom:link href="https://mailhexu.github.io/unfolding/guide/index.xml" rel="self" type="application/rss+xml"/><item><title>Method, parameters, and k-paths</title><link>https://mailhexu.github.io/unfolding/guide/method-parameters-kpaths/index.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://mailhexu.github.io/unfolding/guide/method-parameters-kpaths/index.html</guid><description>Every example page on this site runs the same underlying machinery: an adapter reads a supercell calculation, an unfolding engine computes spectral weights on primitive-cell momenta, and a weight-coded band figure (and, optionally, a machine-readable dataset) is written. This page defines the shared concepts once. Example pages cover only what is specific to their code and fixture.&#10;The unfolding method in one paragraph A supercell Bloch state at reduced momentum K contains primitive momenta k that fold onto it modulo the reciprocal supercell lattice. Each integer supercell reciprocal vector G_s maps to a primitive fractional wavevector w = M^-T @ (K + G_s). The spectral weight on primitive momentum k is the total character carried by that reciprocal coset:</description></item><item><title>Adding a new interface</title><link>https://mailhexu.github.io/unfolding/guide/adding-a-new-interface/index.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://mailhexu.github.io/unfolding/guide/adding-a-new-interface/index.html</guid><description>How to connect a new data source or a new projection to unfolding. This page mirrors the contributor recipe in the repository (devdoc/adding-an-unfolding.md), which is the canonical, most detailed version with code snippets and a worked example (tests/test_toy_tb_fixture.py).&#10;Decide what you are adding A new source (a code or file format that produces bands on a supercell): write a parser plus a thin adapter, reuse one of the existing engines, and register a route. A parser alone is never runnable: every engine consumes a normalized in-memory contract (layout, units, gauge), and producing that contract is the adapter — typically tens of lines of glue plus unit/gauge conversion, never new weight math.</description></item></channel></rss>