|
52 | 52 | <span class="sgr90">│ </span>⎢ ──────────────────────────┼────────────────────── ⎥ |
53 | 53 | <span class="sgr90">│ </span>⎣ <span class="sgr34">-i𝕖(-δ₁)-i𝕖(-δ₂)-i𝕖(-δ₃)</span> │ <span class="sgr90">0</span> ⎦ |
54 | 54 | <span class="sgr90">└─ </span><span class="sgr34">(1b|A)</span>↔<span class="sgr34">(1c|A)</span><span class="sgr90">: δ₁=[1/3,-1/3], δ₂=[1/3,2/3], δ₃=[-2/3,-1/3]</span></code></pre><p>The terms in <code>tbm</code> form a basis for many possible Hamiltonians, including for the Haldane model. By comparing term by term with Haldane's expressions, the correct parameterization can be determined to be:</p><pre><code class="language-julia hljs">haldane_model(t₁, m, t₂, ϕ) = tbm([m, t₂*cos(ϕ), t₂*sin(ϕ), -m, t₂*cos(ϕ), -t₂*sin(ϕ), t₁, 0])</code></pre><pre class="documenter-example-output"><code class="nohighlight hljs ansi">haldane_model (generic function with 1 method)</code></pre><p>This realizes the Haldane Hamiltonian with nearest-neighbor hopping <span>$t_1$</span>, a staggered mass term <span>$m$</span>, and a complex next-nearest-neighbor hopping <span>$t_2 \exp(\pm\mathrm{i}\phi)$</span> with Haldane's zero-flux pattern. The model is gapless for <span>$m/t_2 = 3\sqrt{3}|\sin\phi|$</span> and otherwise gapped when <span>$|t_2 / t_1| < 1/3$</span>.</p><p>The Berry curvature is nonzero at generic <strong>k</strong>-points and generic values of <code>t₁, m, t₂, ϕ</code>, as we can verify with the <a href="../api/#SymmetricTightBinding.berrycurvature-Union{Tuple{D}, Tuple{ParameterizedTightBindingModel{D}, Union{NTuple{D, var"#s36"} where var"#s36"<:Real, AbstractVector{<:Real}}, Integer}, Tuple{ParameterizedTightBindingModel{D}, Union{NTuple{D, var"#s36"} where var"#s36"<:Real, AbstractVector{<:Real}}, Integer, NTuple{D, Matrix{ComplexF64}}}} where D"><code>berrycurvature</code></a> method:</p><pre><code class="language-julia hljs">ptbm = haldane_model(1.0, 0.1, 0.1, π/2) |
55 | | -berrycurvature(ptbm, [.2, .3], 1)</code></pre><pre class="documenter-example-output"><code class="nohighlight hljs ansi">6.155322378740026</code></pre><p>We can use this to e.g., visualize the Berry curvature distribution over the Brillouin zone:</p><pre><code class="language-julia hljs"># compute the Berry curvature over the parallelipiped Brillouin zone |
| 55 | +berrycurvature(ptbm, [.2, .3], 1)</code></pre><pre class="documenter-example-output"><code class="nohighlight hljs ansi">6.155322378740029</code></pre><p>We can use this to e.g., visualize the Berry curvature distribution over the Brillouin zone:</p><pre><code class="language-julia hljs"># compute the Berry curvature over the parallelipiped Brillouin zone |
56 | 56 | Gs = dualbasis(directbasis(sgnum, Val(2))) |
57 | 57 | ks = range(-0.5, 0.5, 100) # k-points' range in reciprocal basis coordinates |
58 | 58 | k12s = (ReciprocalPoint(k1, k2) for k1 in ks, k2 in ks) |
|
110 | 110 | cb.ticks = -1:1 |
111 | 111 | cb.label = "Chern number" |
112 | 112 |
|
113 | | -f</code></pre><img src="71085a70.png" alt="Example block output"/><p>We could also have obtained a similar-looking phase diagram by using topological quantum chemistry:</p><pre><code class="language-julia hljs">νs = Matrix{Int}(undef, N, N) |
| 113 | +f</code></pre><img src="051e7591.png" alt="Example block output"/><p>We could also have obtained a similar-looking phase diagram by using topological quantum chemistry:</p><pre><code class="language-julia hljs">νs = Matrix{Int}(undef, N, N) |
114 | 114 | F = smith(stack(brs)) # Smith decomposition of `brs`; precomputed for efficiency |
115 | 115 | for (i, ϕ) in enumerate(ϕs), (j, Mdivt2) in enumerate(Mdivt2s) |
116 | 116 | ptbm = haldane_model(Mdivt2, ϕ) |
|
142 | 142 | Φ = sum(berrycurvature(ptbm, [k1, k2, k3], 1)[3] for k1 in k12s, k2 in k12s; init=0.0) / Nk^2 |
143 | 143 |
|
144 | 144 | # normalize by 2π to obtain associated Chern number |
145 | | -C₃ = Φ / (2π)</code></pre></div></div><section class="footnotes is-size-7"><ul><li class="footnote" id="footnote-1"><a class="tag is-link" href="#citeref-1">1</a>F.D.M. Haldane, <em>Model for a Quantum Hall Effect without Landau Levels: Condensed-Matter Realization of the "Parity Anomaly"</em>, <a href="https://doi.org/10.1103/PhysRevLett.61.2015">Phys. Rev. Lett. <strong>61</strong>, 2015 (1988)</a>.</li><li class="footnote" id="footnote-2"><a class="tag is-link" href="#citeref-2">2</a>While it is natural to think of the Haldane model as associated with 6-fold symmetry and a graphene-like model, and hence with plane groups <em>p</em>6 or <em>p</em>6mm, the presence of the staggered mass term reduces the model's symmetry to <em>p</em>3. Thus, the orbitals do not associate with the 2b Wyckoff position of <em>p</em>6(mm), as is usually the case for graphene-like models, but with the two distinct Wyckoff positions that the <em>p</em>6(mm) 2b Wyckoff position subduces to when inversion symmetry is broken: this is precisely the 2b and 2c positions in <em>p</em>3.</li><li class="footnote" id="footnote-3"><a class="tag is-link" href="#citeref-3">3</a>Fukui, Hatsugai, & Suzuki, <em>Chern Numbers in Discretized Brillouin Zone: Efficient Method of Computing (Spin) Hall Conductances</em>, <a href="https://doi.org/10.1143/JPSJ.74.1674">J. Phys. Soc. Jpn. <strong>74</strong>, 1674 (2005)</a>.</li></ul></section></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../band-symmetry/">« Band symmetry</a><a class="docs-footer-nextpage" href="../symmetry-breaking/">Symmetry breaking »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.17.0 on <span class="colophon-date" title="Monday 20 April 2026 08:10">Monday 20 April 2026</span>. Using Julia version 1.12.6.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html> |
| 145 | +C₃ = Φ / (2π)</code></pre></div></div><section class="footnotes is-size-7"><ul><li class="footnote" id="footnote-1"><a class="tag is-link" href="#citeref-1">1</a>F.D.M. Haldane, <em>Model for a Quantum Hall Effect without Landau Levels: Condensed-Matter Realization of the "Parity Anomaly"</em>, <a href="https://doi.org/10.1103/PhysRevLett.61.2015">Phys. Rev. Lett. <strong>61</strong>, 2015 (1988)</a>.</li><li class="footnote" id="footnote-2"><a class="tag is-link" href="#citeref-2">2</a>While it is natural to think of the Haldane model as associated with 6-fold symmetry and a graphene-like model, and hence with plane groups <em>p</em>6 or <em>p</em>6mm, the presence of the staggered mass term reduces the model's symmetry to <em>p</em>3. Thus, the orbitals do not associate with the 2b Wyckoff position of <em>p</em>6(mm), as is usually the case for graphene-like models, but with the two distinct Wyckoff positions that the <em>p</em>6(mm) 2b Wyckoff position subduces to when inversion symmetry is broken: this is precisely the 2b and 2c positions in <em>p</em>3.</li><li class="footnote" id="footnote-3"><a class="tag is-link" href="#citeref-3">3</a>Fukui, Hatsugai, & Suzuki, <em>Chern Numbers in Discretized Brillouin Zone: Efficient Method of Computing (Spin) Hall Conductances</em>, <a href="https://doi.org/10.1143/JPSJ.74.1674">J. Phys. Soc. Jpn. <strong>74</strong>, 1674 (2005)</a>.</li></ul></section></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../band-symmetry/">« Band symmetry</a><a class="docs-footer-nextpage" href="../symmetry-breaking/">Symmetry breaking »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.17.0 on <span class="colophon-date" title="Monday 20 April 2026 12:45">Monday 20 April 2026</span>. Using Julia version 1.12.6.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html> |
0 commit comments