Derivations
Band Structure
The tight-binding dispersions for the following lattices are given. The \(E_\text{nn}\) term is added if self.warp = "on"
Matrix elements
If ME["type"] = "symm": The matrix elements the same symmetry as that of the tight-binding model, in that they are periodic in $k$-space in the same way. The equations are:
Here, if Bands.symmetry = "custom" from imported bands, then this mode does not do anything.
If ME["type"] = "rot": The matrix elements give rotational symmetry, which mimics the orbital selectivity of linear and/or circularly polarized light. Here,
If this mode is selected, then \(n\) (specified in the field ME["rotN"]) gives the order of rotational symmetry. If ME["rotN"] is not specified, then the order is randomly selected according to the rotational symmetry of the lattice defined in the tight-binding model:
Rectangle: \(n = 1, 2\)
Square: \(n = 1, 2, 4\)
Hexagonal/Honeycomb: \(n = 1, 2, 3, 6\)
If ME["type"] = "rot": The matrix elements are given by a random polynomial. If this mode is selected, then the field ME["polyN"] gives the order of the polynomial. If ME["polyN"] is not specified, then the order is randomly selected.
Self-energy
Fermi-liquid self-energy
Real part: \(\Sigma' = 0\)
Imaginary part: \(\Sigma'' = D \, \omega^2 + \Sigma_0\)
Dictionary keys:
SE["val"]= \(D\)
SE["ImS0"]= \(\Sigma_0\)Default values (if not provided):
\(\Sigma_0 = 0.01\)
\(D \in [0.05, 0.25]\).
2. Electron-boson kink self-energy The self-energy is phenomenological:
\[\begin{split}\Sigma'(\omega) &= R \left[ \frac{\gamma}{(\omega + \omega_0)^2 + \gamma^2} - \frac{\gamma}{(\omega - \omega_0)^2 + \gamma^2} \right] \\ \Sigma''(\omega) &= \Sigma_1 - \frac{\Sigma_1 - \Sigma_0}{1 + e^{-(\omega + \omega_0)\gamma}}\end{split}\]
Dictionary keys and initialized random values (if not provided):
SE["Amp"]= \(R \in [0, 0.01]\)
SE["Ekink"]= \(\omega_0 \in [0.05, 0.3]\)
SE["gamma"]= \(\gamma \in [0, 50]\)
SE["ImS0"]= \(\Sigma_0 \in [0.015, 0.025]\)
SE["ImS1"]= \(\Sigma_1 \in [0.115, 0.125]\)
Photoemission intensity
The spectral function and matrix elements are calculated at once using S.Make_specfun(m). Depending on the dimension of the calculation:
where \(\Delta\omega = k_B T + \Delta E\)
Then, S.Make_specmod(m) adds the Fermi-Dirac distribution and resolution broadening.
The Fermi-Dirac is added by multiplication:
The resolution effects are added by convolving \(I_\text{FD}(k_x, k_y, \omega)\) in energy and momenta with Gaussian functions whose full-width-half-max are defined by \(\Delta E\) and \(\Delta k\), respectively:
The probe photon energy
For real values of theta and alpha (i.e., for the photoelectron to be emitted), the condition
must be satisfied for the deepest binding energies and largest momenta. This gives:
To ideally collect angles within ~45°, we add a factor of 2 to the RHS and a random number r in [0,5] eV:
The momentum-to-angle conversion
We define the sample’s out-of-plane direction as \(\hat{z}\). The axis parallel (perpendicular) to the slit of the hemispherical analyzer is denoted \(\hat{y}\) (\(\hat{x}\)).
The polar angle \(\theta\) is a rotation about the \(\hat{y}\) axis.
The tilt angle \(\phi\) is a rotation about the \(\hat{x}\) axis.
The azimuth angle \(\alpha\) is a rotation about the \(\hat{z}\) axis.
The angles \(\theta\) and \(\alpha\) are calculated from conservation of momentum:
The vector defining the direction of photoelectron propagation is:
To get the emission angles with respect to the analyzer, we find the angles \(\theta_m\) and \(\phi_m\) needed to map \(d'\) onto \(d\). We rotate first along the analyzer slit (\(\theta_m\)), then perpendicular to it (\(\phi_m\)):
Adding offset angles is straightforward: we apply the rotation matrices \(R(\theta_0,\hat{y})\) and \(R(\phi_0,\hat{x})\) to \(d\) before calculating the photoemission angles:
This leads to the system of equations:
Alternatively, if we rotate perpendicular to the slit first, then along the slit, we reverse the order of the matrices:
In this case:
Having obtained this conversion for all \(k_x\) and \(k_y\), we define a square mesh of angles \(\theta_M\) and \(\phi_M\) and interpolate onto it using \((\theta_m, \phi_m, I_\text{res}(\mathbf{k},\omega))\).
The resulting values \(I(\theta, \phi, E_k)\) are stored in arpes.intensity.
When simulating a sample with flake-like domains at different offset angles, the conversion is done for each domain. In this case, the function returns the intensity \(I(\theta, \phi, E_k, \theta_0, \phi_0)\) directly, so intensity from all flakes can be combined externally.
The angle-to-momentum check
To convert from angle to momentum, we simply define a transformation matrix \(T\) consisting of all the rotational matrices:
Then the normalized vector for photoelectron \(k_\text{norm}\) is given by solving \(Tk_\text{norm}=d\)
where \(d=(0,0,1)\), and \(|k|=\sqrt{2m_e E_k}\hbar\).