SciPost logo

SciPost Submission Page

calcQPI: A versatile tool to simulate quasiparticle interference

by Peter Wahl, Luke C. Rhodes, Carolina A. Marques

This is not the latest submitted version.

Submission summary

Authors (as registered SciPost users): Luke C. Rhodes · Peter Wahl
Submission information
Preprint Link: scipost_202507_00082v1  (pdf)
Code repository: https://github.com/gpwahl/calcqpi-release
Code version: v1.0
Code license: GPL3
Data repository: https://github.com/gpwahl/calcqpi-examples
Date submitted: July 29, 2025, 6:34 p.m.
Submitted by: Peter Wahl
Submitted to: SciPost Physics Codebases
Ontological classification
Academic field: Physics
Specialties:
  • Condensed Matter Physics - Experiment
  • Condensed Matter Physics - Theory
  • Condensed Matter Physics - Computational
Approaches: Theoretical, Computational

Abstract

Quasiparticle interference imaging (QPI) provides a route to characterize electronic structure from real space images acquired using scanning tunneling microscopy. It emerges due to scattering of electrons at defects in the material. The QPI patterns encode details of the $k$-space electronic structure and its spin and orbital texture. Recovering this information from a measurement of QPI is non-trivial, requiring modelling not only of the dominant scattering vectors, but also the overlap of the wave functions with the tip of the microscope. While, in principle, it is possible to model QPI from density functional theory (DFT) calculations, for many quantum materials it is more desirable to model the QPI from a tight-binding model, where inaccuracies of the DFT calculation can be corrected. Here, we introduce an efficient code to simulate quasiparticle interference from tight-binding models using the continuum Green's function method.

Current status:
Has been resubmitted

Reports on this Submission

Report #2 by Anonymous (Referee 2) on 2025-9-13 (Invited Report)

  • Cite as: Anonymous, Report on arXiv:scipost_202507_00082v1, delivered 2025-09-13, doi: 10.21468/SciPost.Report.11928
Disclosure of Generative AI use

The referee discloses that the following generative AI tools have been used in the preparation of this report:

Polish English of the report

Report

This manuscript introduces calcQPI, a code that accurately simulates quasiparticle interference (QPI) from real-space STM maps using a continuum Green's-function formalism combined with the T-matrix method. The inputs are a Wannier90-format tight-binding (TB) model and wave functions. In addition to the usual 2D “normal” Green’s function, one can select surface/bulk Green’s functions constructed from a 3D TB model. From the resulting continuum LDOS, the code computes QPI and also outputs spectral functions (standard and unfolded) and Josephson STM. The implementation supports hybrid parallelization with OpenMP+MPI and GPU backends. Examples span from minimal models to realistic multi-orbital systems, and the manuscript concludes with a comparison to experimental QPI for a realistic multiband system built from DFT-derived TB and wave functions. The Appendix usefully compiles a command reference and output specifications, which benefits reproducibility. I consider the work suitable for publication as is.

Minor points

As the authors note, selecting wave functions for the continuum transformation of surface states is nontrivial. A brief outline of best-practice guidance, if available, would be helpful; this is a suggestion rather than a requirement.

Typo: Bogoljubov → Bogoliubov.

Recommendation

Publish (surpasses expectations and criteria for this Journal; among top 10%)

  • validity: high
  • significance: high
  • originality: high
  • clarity: high
  • formatting: excellent
  • grammar: perfect

Author:  Peter Wahl  on 2025-09-23  [id 5847]

(in reply to Report 2 on 2025-09-13)

We thank the reviewer for the constructive review. We have fixed the typo, and followed the recommendation of the reviewer and added a description the workflow from DFT to simulating QPI measurements.

Point by point response:

As the authors note, selecting wave functions for the continuum transformation of surface states is nontrivial...

We have added a short section in the appendix, as well as example input files to the examples for how to obtain the wave function files and tight-binding model from DFT calculations.

Typo: Bogoljubov → Bogoliubov.

We have fixed this.

Report #1 by Anonymous (Referee 1) on 2025-8-25 (Invited Report)

  • Cite as: Anonymous, Report on arXiv:scipost_202507_00082v1, delivered 2025-08-25, doi: 10.21468/SciPost.Report.11787

Strengths

  1. Introduction to QPI in general and particular for correlated systems
  2. describes functionality of calcQPI faithfully

Report

The manuscript introduces the technique of quasiparticle interference, discusses its connection to other spectroscopic probes for quantum materials before entering the theoretical section. Here, necessary steps to calculate QPI from tight binding models are summarized and where applicable referred to more specialized literature. Some key contributions are the calculation of surface states and the inclusion of material-specific surface wavefunctions to describe the tunneling to the STM tip at the surface. Coming to some technical details on the latter method and its implementation in the code that accompanies the manuscript, the authors include discussion of setpoint effects, Josephson tunneling and unfolding of the spectral function due to internal degrees of freedom. The next section gives some overview about the code implementation before coming to some simple examples demonstrating toy models for QPI; the authors use a pedagogical approach starting from easiest examples and introducing several complications for real materials before summarizing an example of a recent project of the authors.
In summary, the manuscript can serve as an introduction to QPI in general and in particular for correlated materials and superconductors and faithfully describes the capabilities of the calcQPI code as the main objective. For these reasons, this work fits well into the scope of SciPost Physics Codebases and should be accepted as article.

Requested changes

In detail, I would like to give some comments to improve notation and clarify some discussions:

page 4, Eq. (2): “R” as argument of the blocks in of the Hamiltonian probably refers to the distance of lattice sites. Usually two positions R and R’ describe the matrix elements of the blocks both in the normal state term and SC term. Then the lower right block should be H(R’,R) as it is the transposed matrix. If “R” is the relative distance and the blocks need to be constructed to describe a homogeneous system (with periodic boundary conditions), it might be worth a comment.

Page 5, line 177 and following: Is the frequency “omega” technically to be thought of as “omega +i eta” as in Eq. (3)? The iterative scheme usually converges after of the order -log(eta) iterations (see original work by Sancho et al.), therefore with small or vanishing eta, the method is not guaranteed to converge. It seems that this is also what the authors have implemented in void tmatrix::calcsurfacegreensfunction.

Page 6, line 218: I am not sure whether I can follow the statement about the exclusion of the “unphysical” interference terms. Looking at Eq. (9), it seems that the r.h.s. sums over lattice vectors and internal quantum numbers, while the spin quantum number is not summed over (neither should be summed over the particle-hole space for superconductivity). The result will be a 2x2 or 4x4 Green function in continuum spatial variables; to get density of states, one then has to take diagonal matrix elements or trace (for spin-summed DOS). Is this what is meant with the statement?

Page 8, Eq. (11): Depending on the case discussed, the r.h.s. should still be a “matrix” where a trace over spin quantum numbers or a a projection to the particle part for the superconducting state needs to be taken (one can also use the particle-hole symmetry of the BdG Hamiltonian to use the hole part of the Green function at negative energy). Observe the different notation in Eq. (11) and Eq. (9) once with a sigma index, once without.

Page 8, figure 2: There seems a typo in the box “T-matrix” calculation: The equation is not identical to Eq. (7) [I guess the authors need to refer to this equation instead of Eq. (4)]: It should be G(R,R’,omega) since for the continuum transformation also non-local contributions are relevant (different from traditional lattice-only calculations).

Page 9, Eq. (14): I guess the vectors r_mu and r_nu refer to the intra-unitcell position of the orbitals. Maybe that can be clarified.
Page 10, Eq. (15): The matrix structure seems not fully correct: The lower right element is related to the upper left by reversing the momentum k and omega (particle-hole for BdG Hamiltonian) and transposing, please check.

Page 10, line 305: The authors write F^\dagger (r,r): Hat for matrix missing? There should also be omega dependence as in Eq. (16). Similar question on Eq. (16): The object F here should be a matrix in spin space (if one sets up the problem in spin space and particle hole-space). Then F_t(omega) should also be a matrix? Please check and adjust notation.

Page 10, line 307: The arguments of F^t(r,r,omega) should be removed because the tip anomalous Green function should not depend on the position as it is spelled out in Eq. (17).

page 13, Fig. 4: The circles in panel (a) are almost not visible. g(E,r) is not defined; probably rho(r,omega) is plotted. [The factor relating the density of states and conductance as measured experimentally is anyhow not known from theory.] Or is it g_s(r,V) as defined in Eq. (12)? For the FT, it is probably |tilde g(E,q)| that is plotted. [Not very important, but one could give the impurity potential V=1 as this sometimes changes the QPI (especially if the potential is rather “strong”)).

Page 13, Fig. 5: The color scale is reversed in panel d; any reason for that?

Page 16: Fig. 8: This calculation seems to be done with two impurities on the two sublattices as the scattering potential is not given in the input file. That is worth a comment because of two reasons: 1) to make the reader aware of this fact 2) usually disorder comes as single impurity (unless the material is very dirty), such that only one sublattice has an impurity; and the QPI in experiment might be the sum of the QPI coming from scatterers at even and odd lattice points.

Page 18, Figure 10: The authors have used s-wave Wannier functions for this calculation. This is worth a comment since it therefore does not descripe “Cuprates” despite the fact that the model contains a single band electronic structure with a d_x^2-y^2 superconducting order parameter. The virtue of the present code is that one can examine the tunneling properties and QPI taking into account the Wannier function on the surface, so showing the difference between s orbital and d_x^2-y^2 orbital could be a showcase for the code. For the s-orbital it strongly disagrees to the results in Phys. Rev. B 96, 174523 (2017), but the with “orbitals=(dx2);” it qualitatively reproduces the reduced low energy density of states together with modified QPI weights.

Minor points
page 4, line 119: The authors use the expression “pairing interaction” for a term in a non-interacting (mean field) Hamiltonian. Probably, “superconducting order parameter” might be more precise here.
Page 8, line 255: “V” should not in bold face?
Page 9, Eq. (13): Probably a “hat” is missing on the r.h.s. as in Eq. (3) for the Green function.
Page 14, Fig. 6: The figure appears a bit small.

Attachment


Recommendation

Ask for minor revision

  • validity: top
  • significance: high
  • originality: high
  • clarity: top
  • formatting: excellent
  • grammar: excellent

Author:  Peter Wahl  on 2025-09-23  [id 5848]

(in reply to Report 1 on 2025-08-25)

We thank the reviewer for the thorough review, and for pointing out issues and tyops in the manuscript. Below is a point by point summary of the changes in response to the reviewer comments.

Point by point response

page 4, Eq. (2): “R” as argument of the blocks in of the Hamiltonian probably refers to the distance of lattice sites. Usually two positions R and R’ describe the matrix elements of the blocks both in the normal state term and SC term. Then the lower right block should be H(R’,R) as it is the transposed matrix. If “R” is the relative distance and the blocks need to be constructed to describe a homogeneous system (with periodic boundary conditions), it might be worth a comment.

The referee is correct to point out that here R is a relative distance of the homogeneous system (and likewise in eq. 1). We have amended the text accordingly. We have added a statement to point out that in some previous works the influence of the impurity on the superconducting state has been accounted for by solving the inhomogeneous BdG equations, which we do not do here.

Page 5, line 177 and following: Is the frequency “omega” technically to be thought of as “omega +i eta” as in Eq. (3)? The iterative scheme usually converges after of the order -log(eta) iterations (see original work by Sancho et al.), therefore with small or vanishing eta, the method is not guaranteed to converge. It seems that this is also what the authors have implemented in void tmatrix::calcsurfacegreensfunction.

We thank the referee for pointing this out. Indeed we do include a small term i\eta, and have added a note to say that explicitly.

Page 6, line 218: I am not sure whether I can follow the statement about the exclusion of the “unphysical” interference terms. Looking at Eq. (9), it seems that the r.h.s. sums over lattice vectors and internal quantum numbers, while the spin quantum number is not summed over (neither should be summed over the particle-hole space for superconductivity). The result will be a 2x2 or 4x4 Green function in continuum spatial variables; to get density of states, one then has to take diagonal matrix elements or trace (for spin-summed DOS). Is this what is meant with the statement?

The referee is correct, we have amended the sentence.

Page 8, Eq. (11): Depending on the case discussed, the r.h.s. should still be a “matrix” where a trace over spin quantum numbers or a a projection to the particle part for the superconducting state needs to be taken (one can also use the particle-hole symmetry of the BdG Hamiltonian to use the hole part of the Green function at negative energy). Observe the different notation in Eq. (11) and Eq. (9) once with a sigma index, once without.

We thank the referee for pointing this out and have amended the notation.

Page 8, figure 2: There seems a typo in the box “T-matrix” calculation: The equation is not identical to Eq. (7) [I guess the authors need to refer to this equation instead of Eq. (4)]: It should be G(R,R’,omega) since for the continuum transformation also non-local contributions are relevant (different from traditional lattice-only calculations).

We thank the referee for pointing this out and have fixed the equation, as well as the reference to equations in the main text.

Page 9, Eq. (14): I guess the vectors r_mu and r_nu refer to the intra-unitcell position of the orbitals. Maybe that can be clarified.

We have added ‘intra-unit-cell’.

Page 10, Eq. (15): The matrix structure seems not fully correct: The lower right element is related to the upper left by reversing the momentum k and omega (particle-hole for BdG Hamiltonian) and transposing, please check.

We have amended the notation and that the reviewer for pointing this out.

Page 10, line 305: The authors write F^\dagger (r,r): Hat for matrix missing? There should also be omega dependence as in Eq. (16). Similar question on Eq. (16): The object F here should be a matrix in spin space (if one sets up the problem in spin space and particle hole-space). Then F_t(omega) should also be a matrix? Please check and adjust notation.

We have amended the notation to include spin indices and thank the reviewer for pointing this out.

Page 10, line 307: The arguments of F^t(r,r,omega) should be removed because the tip anomalous Green function should not depend on the position as it is spelled out in Eq. (17).

We have corrected this.

page 13, Fig. 4: The circles in panel (a) are almost not visible. g(E,r) is not defined; probably rho(r,omega) is plotted. [The factor relating the density of states and conductance as measured experimentally is anyhow not known from theory.] Or is it g_s(r,V) as defined in Eq. (12)? For the FT, it is probably |tilde g(E,q)| that is plotted. [Not very important, but one could give the impurity potential V=1 as this sometimes changes the QPI (especially if the potential is rather “strong”)).

We have amended the notation throughout now to refer to to rho for the result of the calculations for consistency (because, as the referee correctly points out, the proportionality constant is not known). We have rendered the circles in a darker grey shade.

Page 13, Fig. 5: The color scale is reversed in panel d; any reason for that?

We thank the reviewer for pointing this out, there was no particular reason and we have replaced it now with an inverted scale.

Page 16: Fig. 8: This calculation seems to be done with two impurities on the two sublattices as the scattering potential is not given in the input file. That is worth a comment because of two reasons: 1) to make the reader aware of this fact 2) usually disorder comes as single impurity (unless the material is very dirty), such that only one sublattice has an impurity; and the QPI in experiment might be the sum of the QPI coming from scatterers at even and odd lattice points.

We thank the reviewer for pointing this out and have updated the figure with a calculation with only one scatterer.

Page 18, Figure 10: The authors have used s-wave Wannier functions for this calculation. This is worth a comment since it therefore does not descripe “Cuprates” despite the fact that the model contains a single band electronic structure with a d_x^2-y^2 superconducting order parameter. The virtue of the present code is that one can examine the tunneling properties and QPI taking into account the Wannier function on the surface, so showing the difference between s orbital and d_x^2-y^2 orbital could be a showcase for the code. For the s-orbital it strongly disagrees to the results in Phys. Rev. B 96, 174523 (2017), but the with “orbitals=(dx2);” it qualitatively reproduces the reduced low energy density of states together with modified QPI weights.

We thank the referee for pointing this out, as well as the reference, which we had missed. We have added the reference, and mention now in the text that using ‘orbitals=(dx2);’, the results resemble more those for the cuprates. We note that the example here was only to illustrate how to perform a calculation of BQPI and calculated the phase-referenced Fourier transformation, so have not changed that.

Minor points

page 4, line 119: The authors use the expression “pairing interaction” for a term in a non-interacting (mean field) Hamiltonian. Probably, “superconducting order parameter” might be more precise here.

We have corrected that.

Page 8, line 255: “V” should not in bold face?

We have corrected that.

Page 9, Eq. (13): Probably a “hat” is missing on the r.h.s. as in Eq. (3) for the Green function.

We have corrected that.

Page 14, Fig. 6: The figure appears a bit small.

We have made it larger.

Login to report or comment