1 Introduction

The functional renormalization group (FRG) is one of the most promising methods for the analysis of low-temperature instabilities of two-dimensional materials  [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16] as it offers an unbiased view, not presupposing the existence of certain phase transitions [17]. Because the numerics involved in prediction using the FRG are expensive, the full breadth of possible dependencies could only be captured by a few implementations of the two-dimensional single-band Hubbard model on the square lattice [18, 19], while a generalization to non-SU(2) symmetric or multi-orbital models is still absent. This inherent fragmentation has rendered it difficult to directly compare distinct implementations. Traditionally only qualitative results have been employed [20].Unfortunately various qualitative features produced by the FRG, such as the critical scale and leading instabilities, have (over the course of converging our three distinct implementations) proven to be robust against a certain degree of programming error, e.g., the exact ordering of indices in subleading diagrams. When trying to predict many-body instabilities of novel systems, certainty over reference calculations is crucial to assure validity. Beyond the qualitative level, the aspiration of the method is to become a quantitative quantum many-body tool, further emphasizing numerical correctness. The definition of correctness here refers to a certain formal approximation level, i.e., a specific truncation of the hierarchy of FRG equations, as detailed in Ref. [17]. When gauging the physical potential of a certain approximation or comparing various approximations, validity of numerical implementations is mandatory. It is, therefore, desirable to introduce a shared knowledge of the “proper” results of the tensor contractions intrinsic to most FRG calculation. A reproduction of the exact numerics yields certainty over prefactors, signs as well as contraction indices, not ensured when validating using, e.g., the phase transitions predicted in the square lattice Hubbard model. We try to lay the groundwork for achieving consistency across different codes by providing momentum-space data of the frequency independent interaction vertex reproduced by three different, independently developed FRG codes. We choose this focus as a first step towards a shared knowledge repository, motivated by the application to strongly correlated states in two-dimensional materials.

The paper is structured as follows: We first give a short briefing on the theory and some technicalities of the momentum-space FRG and its truncated unity formfactor expansion. Then, we introduce the three distinct implementations and elaborate their areas of application. We proceed to provide results in the three tests systems we have chosen, to establish agreement with published references. The penultimate section presents the exact procedure of our comparison, enabling the reader to compare their own implementation using the provided parameter and data sets. Intricacies and specifics regarding various challenges faced during development are presented in the Appendix.

2 Methods

2.1 Functional renormalization group

The derivation of FRG is given in utmost brevity here, we refer the interested reader to Refs. [17, 21] for an in-depth discussion. We commence with the partition function of the interacting system:

$$\begin{aligned} {\mathcal {Z}} = \int \mathcal {D}\psi \mathcal {D}\bar{\psi }\, e^{-S[\psi , \bar{\psi }]} \,, \end{aligned}$$
(1)

where \(\psi , \bar{\psi }\) are fermionic Grassmann fields and S is the action of the system given by single-particle and interacting components:

$$\begin{aligned} S[\psi , \bar{\psi }]= -(\bar{\psi }, Q_0 \psi ) + S_I[\psi , \bar{\psi }]\,. \end{aligned}$$
(2)

Here, \(Q_0 = i k_0 - H_0 + \mu = G_0^{-1}\) denotes the inverse of the bare one-particle Green’s function with \(H_0\) as the non-interacting part of the Hamiltonian, \(k_0\) a Matsubara frequency and \(\mu \) the chemical potential.

By adding external sources \(\eta ,\bar{\eta }\) and Legendre transforming, we obtain the generating functional, the logarithm of which is the generating functional for connected Green’s functions, \({\mathcal {W}}[\eta ,\bar{\eta }]\). The effective action \(\varGamma [\psi ,\bar{\psi }]\) is then obtained by another Legendre transform of \({\mathcal {W}}[\eta ,\bar{\eta }]\):

$$\begin{aligned} \begin{aligned}&{\mathcal {W}}[\eta , \bar{\eta }] = - \textrm{ln} \int \mathcal {D}\psi \mathcal {D}\bar{\psi }\, e ^{-S [\psi , \bar{\psi }]+(\bar{\eta }, \psi ) +(\eta , \bar{\psi })} \,,\\&\varGamma [\psi , \bar{\psi }]= (\bar{\psi }, \eta ) + (\bar{\eta }, \psi ) + {\mathcal {W}} (\bar{\eta }, \eta ) \,. \end{aligned} \end{aligned}$$
(3)

We introduce an artificial scale dependence to the bare propagator by means of a cutoff function: \(G^\varLambda _0(k) = G_0(k) \varTheta ^{\varLambda }(k)\). The sole requirement on the regulator \(\varTheta ^\varLambda (k)\) is that it vanishes for high scales (\(\varLambda \rightarrow \infty \)) and approaches 1 as \(\varLambda \rightarrow 0\). This allows a successive integration of different energy scales. More details on regulators can be found in Sect. 2.2.

Fig. 1
figure 1

Diagrammatic representation of the functional renormalization group equations. The lower set of diagrams represent the SU(2)-symmetric flow equations, where the SU(2)-degree of freedom is kept constant along the lines of the vertex. The line through the loop represents the scale derivative \(\textrm{d}/\textrm{d}\varLambda \). We have already indicated the three distinct channels of the FRG flow, differentiated by the bosonic transfer momentum: P-, C-, and D-channel

We can now take a derivative of the effective action with respect to the scale introduced by means of the regulator and obtain the Wetterich equation [22, 23]:

$$\begin{aligned} \frac{\textrm{d}}{\textrm{d}\varLambda }\varGamma [\psi , \bar{\psi }]= & {} -(\bar{\psi }, \dot{Q}_0^{\varLambda } \psi )\nonumber \\{} & {} -\frac{1}{2}\textrm{tr}\left[ \dot{\varvec{Q}}_0^\varLambda ({\varvec{\varGamma }}^{(2) \varLambda } [\psi , \bar{\psi }]) ^{-1} \right] , \end{aligned}$$
(4)

with

$$\begin{aligned} \varvec{Q}^\varLambda _0 = \begin{pmatrix} Q_0^\varLambda &{} 0 \\ 0 &{} -{Q_0^\varLambda }^{\textrm{T}} \\ \end{pmatrix} \end{aligned}$$
(5)

and

$$\begin{aligned} \varvec{\varGamma }^{(2) \varLambda } = \begin{pmatrix} \delta ^2 \varGamma ^\varLambda /\delta \bar{\psi }\delta \psi &{} \quad \delta ^2 \varGamma ^\varLambda /\delta \bar{\psi }\delta \bar{\psi }\\ \delta ^2 \varGamma ^\varLambda /\delta \psi \delta \psi &{} \quad \delta ^2 \varGamma ^\varLambda /\delta \psi \delta \bar{\psi }\\ \end{pmatrix} \,. \end{aligned}$$
(6)

Expanding in the order of the fields \(\psi ,\bar{\psi }\), we obtain an infinite hierarchy of differential equations with \(\varGamma ^{\varLambda ,(n)}\) dependent on all even contributions from \(\varGamma ^{\varLambda ,(2)}\) to \(\varGamma ^{\varLambda ,(n+2)}\). Next, let us clarify the truncation level used for the benchmarks presented in this publication: We note that higher-order derivatives become decreasingly relevant because they correspond to multi-electron interactions [24]. Thus, we truncate at \(\varGamma ^{\varLambda ,(4)}\), neglecting all higher-order contributions of the Grassmann field expansion. Furthermore, we neglect the self-energy contribution \(\varGamma ^{\varLambda ,(2)}\) as—within the scope of this work—Matsubara frequency dependencies of the vertex functions are ignored [25]. Their inclusion is possible and has been covered extensively for the 2D Hubbard model in Refs. [18, 19, 26,27,28,29], considering the comparison sought here they are however inopportune. We express these equations as diagrams with \(\varGamma ^{\varLambda , (4)}=V\)Footnote 1 as 4-particle nodes connected by the \(G_0\) propagators and their derivative: \(S^{\varLambda }_0(k) = \frac{\textrm{d}}{\textrm{d}\varLambda } G^{\varLambda }_0(k)\). The remaining equation is then diagrammatically given in Fig. 1. It is insightful to note that up to the truncation of \(\varGamma ^{(2)}\) and \(\varGamma ^{(n\ge 6)}\) in the Grassmann field expansion the FRG introduces no approximations.

To obtain a prediction for the two-particle interaction V independent of the artificial scale we integrate the ordinary differential flow equation (Fig. 1) starting at infinite (large compared to bandwidth) \(\varLambda \) and iterating towards \(\varLambda =0\). When encountering a phase transition, the equations will diverge  [24, 30], making \(\varGamma ^{\varLambda ,(6)}\) a meaningful contribution and invalidating the above truncation. We terminate the integration at this point and examine the final \(V^{\varLambda _\textrm{c}}\) to determine the ordering associated with the phase transition. While this approximation can be improved upon via the inclusion of more diagrams, e.g., by applying the more elaborate multiloop-FRG or Parquet-approximations [18, 19, 31,32,33], for ease of comparison and reduction in computational cost it is advantageous to maintain ease of access.

2.2 Regulators

For the calculations in this work, two different types of regulators are used. The sharp-frequency-cutoff \(\varTheta ^{\varLambda }(k) = \theta (|k_0|-\varLambda )\) and the \(\varOmega \)-cutoff [34]: \(\varTheta ^{\varLambda }(k) = |k_0|^2/(|k_0|^2\)\(+\varLambda ^2)\). Since we assume a static vertex and neglect self-energy effects we can analytically calculate all Matsubara frequency summations needed during the integrations depending on the type of regulator chosen. Through this we obtain the following loop derivatives for the sharp-cutoff:

$$\begin{aligned} \begin{aligned} \dot{L}_{\pm }^{\varLambda ,b_1b_2}(\varvec{l},\varvec{l}') = \frac{1}{2\pi }&\left[ \frac{ 1 }{ (i\varLambda - \epsilon )(\pm i\varLambda - \epsilon ')} \right. \\ +&\left. \frac{ 1 }{(-i\varLambda - \epsilon )(\mp i\varLambda - \epsilon ')} \right] , \end{aligned} \end{aligned}$$
(7)

where we used the abbreviated notation \(\epsilon = \epsilon _{b_1}(\varvec{l})\) and \(\epsilon '= \epsilon _{b_2}(\varvec{l}')\) (\(b_1\) and \(b_2\) refer to band indices). In the \(\varOmega \)-cutoff scheme, using the same notation the resulting equations for the loop derivative are given by:

$$\begin{aligned} \dot{L}_{\pm }^{\varLambda ,b_1b_2}(\varvec{l}, \varvec{l}') = {\left\{ \begin{array}{ll} \displaystyle \frac{\pm 1/4}{\epsilon \mp \epsilon '} \left( \frac{\epsilon (3|\epsilon |+ \varLambda )}{(|\epsilon |+ \varLambda )^3} \mp \frac{\epsilon '(3|\epsilon '|+\varLambda )}{(|\epsilon '|+\varLambda )^3} \right) \\ \displaystyle \mp \frac{3\epsilon ^2-4|\epsilon |\varLambda -\varLambda ^2}{4(|\epsilon |+\varLambda )^4} \qquad \text {if } \epsilon = \epsilon '\ . \end{array}\right. } \end{aligned}$$
(8)

In either case, the upper (\(+\)) sign corresponds to the particle–hole loop in the C- and D-channel diagrams, while the lower (−) sign corresponds to the particle–particle loop in the P-channel diagram. In the case of the \(\varOmega \) regulator, we neglect the evaluation of the additional poles of the Matsubara summation which might occur when \(\varLambda =\epsilon \), \(\varLambda =\epsilon '\) or \(\varLambda =\epsilon =\epsilon '\). This is justified by calculation of the dispersion only on a discrete grid, which delegates these cases to be extremely unlikely.

2.3 Band vs orbital calculation

The above-mentioned diagrams (cf. Fig. 1) can be evaluated in either band or orbital space. To illustrate the discrepancies between the two we here revert to the non-diagrammatic representation of the P-channel. In this channel, we can specify \(\varvec{l}'\) to be: \(\varvec{l}'=\varvec{k}_1+\varvec{k}_2-\varvec{l} = \varvec{q} - \varvec{l}\).

We must calculate the loop derivative in band space yielding \(\dot{L}^{b_1b_2}_{-}(\varvec{l},\varvec{l}')\). If we desire to integrate the momentum dependence \(\varvec{l}\) using objects represented in orbital space we need to transform this according to

$$\begin{aligned} \dot{L}_-^{o_1o_2o_3o_4}(\varvec{l}, \varvec{l}')= & {} \sum _{b_1b_2}\dot{L}_-^{b_1b_2}(\varvec{l},\varvec{l}') {u^{o_1b_1}(\varvec{l})} {u^{o_2b_2}(\varvec{l}')} \nonumber \\{} & {} u^{*o_3b_1}(\varvec{l}) u^{*o_4b_2}(\varvec{l}') \end{aligned}$$
(9)

in each flow iteration. Alternatively, we can transform the initial vertex into band space and revert to orbital space using

$$\begin{aligned} V^{b_1b_2b_3b_4}(\varvec{k}_1,\varvec{k}_2;\varvec{k}_3)= & {} \sum _{o_1o_2o_3o_4} V^{o_1o_2o_1o_2}(\varvec{k}_1,\varvec{k}_2;\varvec{k}_3) \nonumber \\{} & {} {u^{*o_1b_1}}(\varvec{k}_1) {u^{*o_2b_2}}(\varvec{k}_2) u^{o_3b_1}(\varvec{k}_3) u^{o_4b_2}\nonumber \\{} & {} (\varvec{k}_1 + \varvec{k}_2 - \varvec{k}_3) \end{aligned}$$
(10)

and its inverse after the FRG flow. The resulting flow equations in band or orbital space, respectively, are given as

$$\begin{aligned} \frac{\textrm{d}}{\textrm{d}\varLambda }\, V_P^{o_1o_2o_3o_4}(\varvec{k}_1,\varvec{k}_2;\varvec{k}_3)= & {} \sum _{o'_1o'_2o'_3o'_4} \int _{\textrm{BZ}}\!\!\textrm{d}\varvec{l} \nonumber \\{} & {} V^{o_1o_2o'_1o'_2}(\varvec{k}_1,\varvec{k}_2;\varvec{l})\dot{L}^{o'_1o'_2o'_3o'_4}_-(\varvec{l},\varvec{l}') \nonumber \\{} & {} V^{o'_3o'_4o_3o_4}(\varvec{l},\varvec{l}';\varvec{k}_3) \end{aligned}$$
(11)
$$\begin{aligned} \frac{\textrm{d}}{\textrm{d}\varLambda }\, V_P^{b_1b_2b_3b_4}(\varvec{k}_1,\varvec{k}_2;\varvec{k}_3)= & {} \sum _{b'_1b'_2} \int _{\textrm{BZ}}\!\!\textrm{d}\varvec{l} \nonumber \\{} & {} V^{b_1b_2b'_1b'_2}(\varvec{k}_1,\varvec{k}_2;\varvec{l})\dot{L}^{b'_1b'_2}_-(\varvec{l},\varvec{l}') \nonumber \\{} & {} V^{b'_1b'_2b_3b_4}(\varvec{l},\varvec{l}';\varvec{k}_3) . \end{aligned}$$
(12)

For convenience, we have introduced

$$\begin{aligned} \int _{\textrm{BZ}}\!\!\textrm{d}\varvec{k} = \int _{\textrm{PZ}}\!\!\textrm{d}\varvec{k} = 1 \,, \end{aligned}$$
(13)

the properly normalized integrals over Brillouin zone (BZ) and primitive zone (PZ). The computational cost can be reduced by using band space representations of both vertex and loop, but because \(\varGamma ^{\varLambda ,(4)}\) is not an observable, this might introduce gauge phases into the calculations. These can lead to difficulties when interpreting the results and are absent when calculating in orbital space. The calculations within this work have, therefore, been done in orbital representation, where applicable.

Within the scope of FRG we treat all non-diagonal quantum numbers on equal footing and use one shared, linearized index \(o_i\) to describe spin, orbitals, sites, etc. Having dealt with the discrete quantum numbers we now turn our attention to the more complicated, artificially discretized representation of the continuous momentum dependencies of the vertex \(\varvec{k}\).

2.4 Grid-FRG and refinement

Since the following section will deal with different methods for the evaluation of the momentum dependencies, we start with an understanding of the fundamental requirements posed and introduce the basic methods of patching the BZ.

Fig. 2
figure 2

Meshing schemes for the functional renormalization group calculations. a N-patch meshing scheme (figure adapted from Ref. [35]), the points are defined at the intersections of the Fermi surface (red) with the patch-lines (dashed gray). For a single patch, the yellow, filled area is projected to the same momentum point. b Bravais momentum mesh in primitive zone (PZ) instead of Brillouin zone (BZ) with mesh refinement around one selected point shown in orange

The momentum resolution of the functional renormalization group is limited by two distinct issues: The lower bound is given by the ability to resolve sharp features of the fermionic momenta in the loop derivative at low scale. As these occur in the proximity of the Fermi-surface (FS) this is equivalent to demanding an accurate representation of said FS within the chosen momentum scheme. The upper bound is determined by computational limitations. Because the memory requirement for saving the vertices—the largest objects—scales proportional to \(N_{\varvec{k}}^3\), raising the fidelity of momentum discretization is constrained by availability of RAM.

The traditional method of fulfilling these two aspects is to allocate a number of points along the FS of the system to be used as momentum points for the vertex calculations (see Fig. 2a). While the vertex would only be defined on the FS, using the assumption that it is almost constant within the patch [35,36,37], the propagators and their derivatives are evaluated for a set of points spanning the entire area of the patch. The values would be averaged to obtain the value of \(\dot{L}\) at the FS patch point, finely sampling the patches area. This method is discussed in more detail in Ref. [35].

The immediate issue with this parameterization is the evaluation of the fourth vertex momentum. Having constrained \(\varvec{k}_1, \varvec{k}_2, \varvec{k}_3\) to points on the FS we have no capacity to guarantee that \(\varvec{k}_4 = \varvec{k}_1 + \varvec{k}_2 - \varvec{k}_3\) coincides with one of the patch centers. The assumption is, therefore, made that this can be projected to the closest existing point, the center of the patch we land within. This method, while historically successful in the prediction of fundamental models [8, 10] breaks momentum conservation of the interaction. This is especially problematic when attempting to analyze spin–orbit-coupled (SOC) or multi-site systems where conserving momentum becomes important due to momentum-spin-locking or momentum-orbit-locking.

The easiest method to restore momentum conservation is the introduction of an equispaced (“Bravais”) mesh within the first PZ. For this case, shown in Fig. 2b, the addition/subtraction of any number of momentum points is assured to be a valid momentum point. The obvious issue though is that the majority of points is now far from the FS, making the resolution of the aforementioned features doubtful.

If we were able to use arbitrarily high momentum resolutions, this method would yield the exact momentum integrations. It, therefore, is the base-case for the simulations performed in this paper and offers the easiest implementation of all two dimensional momentum space FRG alternatives. The main challenges to overcome are the memory constrains imposed by the scaling with momentum resolution and orbital degrees of freedom. To circumvent this issue, we introduce an averaging similar to the one performed in the evaluation of N-patch as

$$\begin{aligned} \dot{L}^{ijmn}_{\pm }(\varvec{l}, \varvec{l}') = \sum _{\varvec{l}_f}\dot{L}^{ijmn}_\pm (\varvec{l} + \varvec{l}_f, \varvec{l}' \pm \varvec{l}_f), \end{aligned}$$
(14)

where \(\varvec{l}\) is taken from the normal (coarse) fermionic mesh and \(\varvec{l}_f\) is a small (refined) offset relative to this point. We choose the sign to conserve total momentum in each channel. The resulting refined grid is shown in Fig. 2b. Crucially, we employ the refinement only for an averaging within the calculations of the loop derivative and require no information of the vertex on the full set of refined momentum points. As in N-patch, we assume the interactions to be sufficiently slowly varying such that \(V(\varvec{k}_1 + \varvec{l}_f,\varvec{k}_2, \varvec{k}_3) \approx V(\varvec{k}_1, \varvec{k}_2, \varvec{k}_3) \) holds. This approximation is even more reasonable here as the maximum distance from the center is greatly decreased. Some intricacies on the exact implementation of choosing ijmn from orbital or band space are discussed in Appendix E and are omitted here.

2.5 Truncated unities

Building upon the presented basic implementation of grid-FRG, we now expand to further approximations. The truncated unity extension to the functional renormalization group (TUFRG) is an approach to reduce the computational complexity introduced using grid-FRG while maintaining momentum conservation. Noticing the divergences introduced in the FRG flow will stem from the loop derivative, we isolate the bosonic momentum \(\varvec{q}\) of \(\dot{L}_\pm (\varvec{l}, \pm (\varvec{q} - \varvec{l}))\). For each channel (P, C, D) in Fig. 1 we, thus, obtain a distinct transfer momentum:

$$\begin{aligned} \varvec{q}_{P}&= \varvec{k}_1 + \varvec{k}_{2} \,, \end{aligned}$$
(15a)
$$\begin{aligned} \varvec{q}_{C/D}&= \varvec{k}_1 - \varvec{k}_{4/3} \,. \end{aligned}$$
(15b)

The remaining weaker fermionic dependencies of vertex and loop are expanded in a (symmetrized) basis of linearly independent functions \(f_m(\varvec{k})\)—called formfactors. The choice of these functions is based on the construction of basis functions for irreducible representations described in Ref. [38] with a few improvements and generalizations detailed in Appendix G. We project/unproject the flow equations given in Fig. 1 into/from the formfactor basis using the following operators for each channel \(X \in \) P, C, D:

$$\begin{aligned} \begin{aligned} \hat{X} [\varPhi _X]_{m,n}(\varvec{q})&= \int _{\textrm{BZ}}\!\!\textrm{d}\varvec{k}\int _{\textrm{BZ}}\!\!\textrm{d}\varvec{k}' \\&f_m(\varvec{k}) f_n^*(\varvec{k}') \varPhi _X(\varvec{q},\varvec{k},\varvec{k}') \,, \\ \varPhi _X(\varvec{q},\varvec{k},\varvec{k}')&\approx \sum _{m,n} f_m(\varvec{k}) f_n^*(\varvec{k}') \hat{X} [\varPhi _X]_{m,n}(\varvec{q})\,. \end{aligned} \end{aligned}$$
(16)

It is instructive to note that with a complete basis of formfactors this is an exact unitary transformation, but in our case we truncate the basis by neglecting long-range formfactors. This is reasonable because the interaction strength declines at long ranges [39]. The truncation makes the truncated unity expansion an approximation to the grid-FRG implementation, but significantly reduces the memory requirements for the vertices which shrink by a factor of \((N_f/N_{\varvec{k}})^2\). This method has been developed in Ref. [39] based on the earlier work in Ref. [9] and has proven successful for Hubbard and graphene type models [1, 3, 4, 39].

When considering the vertex in band space, the gauge phases carried by the orbital-to-band matrices can not be disregarded. Thus, the band space vertex cannot be captured accurately in the truncated unity projections, this approximation, thus, necessitates orbital space calculations. TUFRG also has slight symmetry breaking at long coupling ranges for multi-site models, the details and workaround of this are described in Appendix F.

2.6 Real space truncated unities

In models with broken translational symmetry, momentum is not good quantum number and we, thus, require a different approach to treat these systems. The proposal here is to use the real-space equivalents of formfactors, which we will refer to as bonds for the sake of clarity. In real space the bosonic momentum dependence of each channel is translated to a dependence on two orbitals (or sites). The fermionic momenta are then equivalent to the remaining orbital dependencies. We define the real space bonds \(g_{\varvec{b}_i}(\varvec{r}_j)\) as Kronecker deltas spanning the lattice

$$\begin{aligned} g_{\varvec{b}_{i}}(\varvec{r}_{j}) = \delta ({\varvec{r}_{i} + \varvec{b}_{i}, \varvec{r}_{j}})\,, \end{aligned}$$
(17)

where \(\varvec{r}_{i}\) is the position of the site i and \(\varvec{b}_{i}\) is a connection to another site starting at site i. In the case of large unit cells, where momentum is still conserved, it may also be beneficial to introduce real space truncated unities. The projections in this mixed space representation then follow Eqs. (18a) to (18c):

$$\begin{aligned} \hat{P}[V]^{o_1o_3}_{\varvec{b}_1\varvec{b}_3}(\varvec{q}_P)= & {} g_{\varvec{b}_1}(o_2,\varvec{k}_1) g^*_{\varvec{b}_3}(o_4,\varvec{k}_3) \nonumber \\{} & {} V^{o_1o_2o_3o_4}(\varvec{k}_1,\varvec{q}_P-\varvec{k}_1;\varvec{k}_3), \end{aligned}$$
(18a)
$$\begin{aligned} \hat{C}[V]^{o_1o_3}_{\varvec{b}_1\varvec{b}_3}(\varvec{q}_C)= & {} g_{\varvec{b}_1}(o_4,\varvec{k}_1)g^*_{\varvec{b}_3}(o_2,\varvec{k}_3) \nonumber \\{} & {} V^{o_1o_2o_3o_4}(\varvec{k}_1,\varvec{k}_1-\varvec{q}_C;\varvec{k}_3), \end{aligned}$$
(18b)
$$\begin{aligned} \hat{D}[V]^{o_1o_4}_{\varvec{b}_1\varvec{b}_4}(\varvec{q}_D)= & {} g_{\varvec{b}_1}(o_3,\varvec{k}_1)g^*_{\varvec{b}_4}(o_2,\varvec{k}_4) \nonumber \\{} & {} V^{o_1o_2o_3o_4}(\varvec{k}_1,\varvec{k}_4-\varvec{q}_D;\varvec{k}_1-\varvec{q}_D).\nonumber \\ \end{aligned}$$
(18c)

The generation of the sets of real space bonds and momentum space formfactors can now be performed following one of two different rules: For the first, simpler one, we assume that the two sets have no connection, allowing for a two step projection with separate real- and momentum space unities. This decouples the implementations but comes with a severe drawback: For models with more than a single site per unit cell, it is impossible to include the same interaction orders for each site, thus breaking the rotational and inversion symmetries as detailed in Appendix F. The second approach remedies these concerns by first creating all real space bonds on the full lattice with \(n_{l_1}\cdot n_{k_1}\times n_{l_2}\cdot n_{k_2}\) elements, where \(n_{l_i}\) is the number of real space unit cells and \(n_{k_i}\) is the number of momentum points in the direction of basis vector i. Afterwards, we perform a Fourier transform of all bonds and obtain formfactor bonds of the following general form

$$\begin{aligned} g_{\varvec{b}_i}(\varvec{o}_j,\varvec{k})&= e^{-i\varvec{k}\varvec{B}_{\varvec{b}_i}} \delta (\varvec{r}_i +\varvec{b}_i, \varvec{r}_j)\,, \end{aligned}$$
(19)

where \(\varvec{B}_{\varvec{b}_i}\) is the beyond unit cell part of the bond \(\varvec{b}_i\). The real space TU was first developed for one dimensional systems starting from an analysis of the perturbative orders [40,41,42] and was thereafter re-derived for arbitrary dimension in the context of truncated unities as we present it here [43].

3 Implementations

Having explained the theoretical backdrop for the implementations we now want to discuss the three distinct FRG codes independently developed by the authors, sharing minor details of the code-base (input routines, output routines). Each of the programs will be given a short introduction to establish the functionalities it covers, its merits and the contrast to the other implementations.

3.1 Code #1: grid-FRG

As the generation of band structures from ab initio simulations is common practice, it is advantageous to be able to use these as starting point for FRG calculations. Thus, this code implements the static four-point FRG equations in either band or orbital space and on a regular momentum grid and allows the study of correlation effects of arbitrary periodic systems if the following can be provided:

  • A few isolated low-energy bands of the material in momentum space on a regular, fine momentum mesh.

  • Addition and subtraction rules for the momentum mesh.

  • The 4-point vertex in any basis that can be connected to the band basis by unitary transformation (and thus is of the same dimension). As V may be an object of large size, it is possible to supply it on a coarse momentum mesh.

  • The orbital to band transform [Bloch functions \(u^{ob}(\varvec{k})\)] for all momentum points. In case the 4-point vertex is given in band space, the matrices fulfill \(\hat{u}(\varvec{k}) \equiv \mathbb {1}\).

Since the code is designed to operate on very general models defined only by the points given above, it is capable of running FRG simulations from, e.g., Density Functional Theory (DFT) or tight-binding (TB) datasets. The latter can be generated from within the code, with appropriate skeletons given to make usage simple and efficient. Furthermore, the users are enabled to employ their own, custom momentum space meshings and thus can in principle use the code for conventional N-patch FRG simulations—even in the multi-orbital scenario. We facilitate this by inclusion of an appropriate code skeleton.

The main computational challenge faced by this FRG implementation is memory size and bandwidth. The message passing interface (MPI) allows the vertex to be distributed on a large number of cluster nodes (with the restriction that splitting constrained to the bosonic momentum index \(\varvec{q}_D\)). This code is memory-bound; simulating, e.g., a six-band model on a \(24\times 24\) coarse momentum mesh would take 288 compute nodes requiring \(\sim 140\,\textrm{GiB}\) memory on each node to store the vertex objects. For fewer band models these requirements are drastically lowered and allow for quick and robust operation.

3.2 Code #2: TUFRG

The aim of the TUFRG implementation is to allow fast creation and testing of new material representations. This is enabled by removing unnecessary constraints imposed in the creation of previous frameworks, generalizing the implementation as much as possible, while extending to include SOC and multi-orbital systems. The cost introduced by this inclusion has necessitated a focus on performance, while the decision to generalize for all systems has necessitated some performance hits.

Due to the generalized nature of this implementation it will be worse in large unit cells compared to Code #3 and will be slower than Code #1 for grid-FRG. It is, however, an extremely accessible version of FRG and should be both easily usable and adaptable to uncharted problems. Furthermore, it struggles much less under the memory constraining the calculations in Code #1, a similar calculation as described above would need a single compute node, MPI is required only for calculation speed.

The framework needs as input a tight-binding model with dispersion and interaction defined in momentum space as well as a momentum basis. From this the entirety of the formfactor expansion and TUFRG calculation will be performed. As the truncated unities are based heavily on grid-FRG the framework also provides a basic implementation of grid-FRG. While this framework is capable of doing the here published grid-FRG simulations, its primary aspiration is the TUFRG.

3.3 Code #3: RS-TUFRG

The objective of this implementation is to provide a flexible and easy to use real- and mixed space TUFRG algorithm. It is optimized for large unit cells, i.e., between 10 and a few 1000 sites per unit cell which allows for the study of many interesting phenomena, such as edge properties, disorder effects, behavior in quasicrystalline models and effects of different boundary conditions. The models also do not have to be defined on a lattice so that structures such as Barabasi–Albért networks can be analyzed. This broad application range of course leads to slight performance deterioration, thus it is advisable to resort to Code #1 or Code #2, for small unit cells or few band problems. By including all formfactor bonds, this code can effectively perform the grid-RG calculations presented here.

The code itself is designed to be easily extendable with user defined models. For this it requires at least a definition of the underlying lattice or graph, a tight binding Hamiltonian, and a distance measure. It also allows for the inclusion of a single Matsubara frequency per channel during the flow. This enables the scaling test, where we check for the correct error scaling behavior of the interaction when compared to exact diagonalization, as shown in Appendix H

4 Results—connecting to previous publications

4.1 Reproducibility: the Hubbard model

To bolster confidence in the correctness of our results we first reproduce some established results of functional renormalization group calculations. The most basic model—thoroughly analyzed in Refs. [18, 19, 25, 28,29,30, 34,35,36, 39, 44,45,49]—is the Hubbard model for cuprates on a two-dimensional square lattice. We reproduce the results from Refs. [30, 39], the next-nearest-neighbor hopping phase scan of the repulsive Hubbard model at the van Hove singularity. Note that the critical scale \(\varLambda _\textrm{c}\), which is derived from the artificial scale parameter \(\varLambda \), is associated with the temperature of the phase transition and thus corresponds to a physical observable. Throughout this section, we, therefore, effectively compare both the critical temperature and the type of ordering to previous literature results.

Fig. 3
figure 3

Square lattice Hubbard model reference results. The plots show the critical scale as a function of next-nearest-neighbor hopping \(t'\) with the chemical potential fixed at \(\mu =-4t'\) to pin the Fermi level to the van Hove singularity. Additionally, the type of instability is encoded as markers; circles: antiferromagnetism, plus signs: d-wave superconductivity, triangles: ferromagnetism. The interaction strength is set to \(U=3\). a Match of the non-TU results of Codes #1 and #2 to Ref. [30]. b TUFRG results from Codes #2 and #3 matched to the results presented in Ref. [39]. It should be noted that due to differing details of approximations and simulations we do not expect the results to exactly coincide. The discrepancies are pronounced in the proximity of the transition from superconducting to ferromagnetic phase at \(t'\approx -0.35\). This region is both very dependent on implementational details as well as hard to properly resolve due to the low scales required (see Appendix B for the minimal scale allowed by our momentum resolution). This was already noted in the referred publications but is compounded by the different grid discretization chosen in a (grid-FRG vs N-Patch) leading to the behavior shown

The non-interacting part of the \(t-t'\) Hubbard Hamiltonian is given by:

$$\begin{aligned} H_0 = - \sum _{ij,\sigma } t_{ij} \, c_{i,\sigma }^\dagger c_{j,\sigma }, \end{aligned}$$
(20)

where the hopping amplitudes are \(t_{\mathinner {\langle {i,j}\rangle }} = 1\) if ij are nearest neighbors and \(t_{\mathinner {\langle {\mathinner {\langle {i,j}\rangle }}\rangle }} = t'\) where ij are next-nearest neighbors. We fix the chemical potential to \(\mu =-4t'\) pinning the system to van Hove filling. The interacting part of the Hamiltonian is governed by

$$\begin{aligned} H_\textrm{I} = U\, \sum _{i,\sigma } \, n_{i,\sigma } n_{i,\bar{\sigma }} \,, \end{aligned}$$
(21)

where \(n_{i,\sigma } = c^\dagger _{i, \sigma } c_{i,\sigma }\). Figure 3 demonstrates how all three codes presented in this work reproduce literature in terms of both the critical scales and the type of instability (details on the analysis of the effective vertex at the critical scale are presented in Appendix c). Note that our numerical implementations differ from each other and the reference in terms of the specifics and methods chosen within the scope of grid-FRG and TUFRG. To name examples, the type of integrator, cutoff scheme, stopping scale and termination criterion were not explicitly coordinated. We observe that the value of \(\varLambda _\textrm{c}\) and the type of instability close to a phase transition are sensitive to these minor details, but overall the data shows agreement. The unattainable equivalence in Fig. 3 is a motivation for the exact comparison given in Sect. 5.

4.2 Non-\(SU(2)\) systems: the Rashba model

To confirm all three codes’ capabilities extend beyond the SU(2) symmetric one-band Hubbard model, we introduce a Rashba-z spin-orbit coupling (SOC) term to the kinetic part of the Hamiltonian breaking the SU(2) symmetry. It then reads

$$\begin{aligned} H_0 =- \sum _{ij,\sigma } t_{ij} \, c_{i,\sigma }^\dagger c_{j,\sigma } - i\alpha \sum _{\mathinner {\langle {ij}\rangle },\sigma \sigma '} \big ( \hat{\varvec{\sigma }} \times \varvec{b}_{ij} \big )_z^{\sigma \sigma '}c^{\dagger }_{i,\sigma } c_{j,\sigma '}\,, \end{aligned}$$
(22)

where \(\alpha \) is the SOC strength, \(\hat{\varvec{\sigma }}\) is the vector of Pauli matrices, \(\mathinner {\langle {ij}\rangle }\) denote nearest neighbors and \(\varvec{b}_{ij}\) are the corresponding directed bonds. Extensive coverage of Rashba-z SOC in the square lattice Hubbard model will be provided by a publication in preparation [50] where we employ FRG and the weak coupling renormalization group [51, 52]. Here, we indicate only the results of a filling phase scan at fixed \(\alpha =0.1, t'=-0.15\) and \(U=3\) in Fig. 4a to demonstrate internal consistency.

Fig. 4
figure 4

Rashba and graphene model reference results. The plots show the critical scale as a function of filling factor. Markers encode the type of ordering; circles: antiferromagnetism, plus signs: d-wave superconductivity. a Rashba model. The complete analysis can be found in Ref. [50], here we only show internal consistency between the three implementations. We use the following parameters: \(t'=0.15\), \(\alpha =0.1\), \(U=3\) and the filling factor \(\nu \in [0.35,0.59]\) with \(\nu =0\) (\(\nu =1\)) corresponding to a completely empty (filled) system. b Graphene model. The markers and colors follow the same scheme as in (a). We choose the same parameter set as in Ref. [9]: \(t'=0.1\), \(U=3.6\). For ease of comparison, we use the doping \(\delta =2\nu -1\) instead of the filling factor. The transition from magnetic to superconducting phase occurs at slightly different temperatures than in the reference which however employs singular mode FRG. Graphene is also notoriously resolution dependent (momenta and formfactors) in FRG calculations due to incommensurate phases [3] and the multi-site nature of the system. We nonetheless obtain the central results of the publication at \(\delta \approx 1/4\) as well as the transition on either side

4.3 Multi-band systems: graphene

The third class of models we can check consistent results for are multi-site unit cell models. Reference [9] provides singular mode FRG results for a tight-binding Hamiltonian of graphene to which we compare the three codes. The non-interacting part defined on the honeycomb lattice reads

$$\begin{aligned} H_0 = \sum _{ij,oo',\sigma } t_{ij,oo'} \, c^\dagger _{i,o,\sigma } c_{j,o',\sigma }\,, \end{aligned}$$
(23)

where \(o,o'\) are the sites within a unit cell, ij are unit cell indices and \(t_{ij,oo'}\) the hopping parameters. We set \(t_{ij,oo'}=1\) for nearest-neighbors and \(t_{ij,oo'}=t'\) for next-nearest-neighbors. For the reproduction of the results in Fig. 4b we choose \(t'=0.1\). The site-dependent Hubbard interaction with \(U=3.6\) reads

$$\begin{aligned} H_\textrm{I} = U\sum _{i,o,\sigma }\,n_{i,o,\sigma } n_{i,o,\bar{\sigma }}\,. \end{aligned}$$
(24)

Additionally to the results in Fig. 4b, we have reproduced the critical interaction strength of the half-filled system (\(\nu =0.5\)) without next-nearest-neighbor hopping (\(t'=0\)) to be \(U_\textrm{crit}\approx 2.7t\). This is in agreement with both Ref. [53] as well as the expectation that FRG lies between mean-field \(U_\textrm{crit}\approx 2.2t\) [54] and quantum Monte-Carlo \(U_\textrm{crit}= 3.6t-4.0t\) [55,56,57,58] predictions.

5 Results—benchmark systems

The test systems were chosen to cover a breadth of different aspects of functional renormalization group calculations in an attempt to reveal common errors. The two-dimensional square lattice Hubbard model is chosen as the starting point. We choose the SU(2) symmetric representation which warrants the usage of the SU(2) symmetric set of flow equations from Fig. 1. To also cover the non-SU(2) flow equations it is imperative to include a non-SU(2) symmetric model. We, therefore, also consider the square-lattice Rashba model with spin–orbit coupling. While this pair of models should complete the verification of the momentum dependencies in the contractions calculated during the flow, we want to extend the benchmarks to include a multi-band model with non-orthogonal lattice vectors. This is crucial in finding phase-errors as well as non-periodicities of the Hamiltonian. We, therefore, evaluate and publish data for a honeycomb lattice Hubbard model, which is a simple model for graphene. While this is obviously not a complete list of possible models one could show equivalence for, inconsistencies in this subset should uncover most inconsistencies that can arise during the implementation of the FRG. If more models are desirable or advisable the equivalence class will be extended and the repository [59] updated appropriately.

5.1 Square lattice \(SU(2)\): the Hubbard model

The simplest test case is the square-lattice Hubbard model. Having indicated that our codes reproduce previously published results we now define parameters sets for the benchmarks. The chosen way of integration is grid-FRG—this allows the greatest confirmation across the three codes—other reproduction of data are available for comparisons upon request. Be mindful that RS-TUFRG or TUFRG benchmarks can only be supported by a subset of implementations.

Model: To make the test as accessible as possible we shall fix \(t=1\), this allows implementations which use this—rather common—scale to implement a comparative calculation. The remaining parameters of Eqs. 20 and 21 are (arbitrarily) defined to the following nonzero values: \(U=3.0\) and \(t'=-0.1\). In the case of the single band SU(2) symmetric Hubbard model the interaction is constant:

$$\begin{aligned} V^{}(\varvec{k}_1,\varvec{k}_2,\varvec{k}_3) = U\,. \end{aligned}$$
(25)

The chemical potential is defined as \(\mu =0.5\). We chose to define the chemical potential rather than the filling to remove the indirection of its calculation. This process is inaccurate, especially at the small system sizes discussed here. As the first step of any momentum space FRG calculation likely is checking for correctness in the non-interacting part of the Hamiltonian, we provide band structures along the high-symmetry paths for each of the models discussed in Appendix A.

Meshing: It is essential for exact numerical accuracy that the momentum space is meshed identically. We propose the following patching scheme: An equispaced grid of 6 points along each edge is laid within the first PZ to include all high-symmetry points. 36 is a sensible choice for the total number of points because while being small enough to be quickly calculated it still contains points that are not high-symmetry points. The resulting mesh can be seen in Fig. 5a. This mesh is used wherever momenta are needed, for the discretization of the vertex as well as the integration over the loop momentum. It should be noted that the refinement mentioned in Sect. 2.4 is not applied in these calculations to reduce sources of potential error.

Fig. 5
figure 5

Momentum space meshing in test cases. a Square lattice models (Hubbard and Rashba) have a square Brillouin zone (BZ) and a square primitive zone (PZ). b Triagonal lattice systems (e.g., graphene) have a hexagonal BZ and a PZ in rhombus shape. Both meshes are an equispaced grid along the basis vectors of the reciprocal lattices \(\varvec{G}_1\) and \(\varvec{G}_2\). In the hexagonal case we can see that the PZ mesh will fill the BZ only after backfolding of points, this is intended behavior

Flow: The most difficult aspect of the calculations to align are the parameters and calculations involving the integration from high to low scale. There are many options of integrators, Euler or adaptive, each with a significantly different update scheme for \(\textrm{d}/\textrm{d}\varLambda \). Even minute details such as the order of operations (calculating \(\varDelta _\varLambda (\varLambda _{n+1})\) or \(\varDelta _\varLambda (\varLambda _n)\)) are relevant. For this reason we decide to use the simplest possible integrator, constraining the issues in the numerical analysis:

The integration scheme is a fixed-stepwidth Euler integration which yields \(V(\varLambda _{n+1}) = V(\varLambda _n) + \varDelta _\varLambda \frac{\textrm{d}V}{\textrm{d}\varLambda }(\varLambda _n)\). We fix \(\varDelta _\varLambda = 0.1 \equiv \mathrm {const.}\) and perform 90 iterations of the FRG-flow starting at \(\varLambda = 10\). We disable all other termination conditions and are thus certain to obtain \(V(\varLambda = 1.0)\). To avoid misinterpretation, we provide pseudocode for the procedure:

Algorithm 1
figure b

Flow scheme with constant update

For regulator of the FRG equations we also default to the simplest possible choice, the sharp cutoff. This is used in all subsequent calculations.

5.2 Square lattice non-\(SU(2)\): the Rashba model

The meshing of the square BZ (Fig. 5a) as well as the parametrization of the \(\varLambda \) integration are equivalent to the setup presented for the Hubbard model.

Model: We choose the model parameters to ensure broken particle–hole symmetry as well as broken SU(2) symmetry. The non-interacting Hamiltonian is defined by Eq. (22) while the interacting part Eq. (21) can be represented as a Hubbard interaction of electrons of opposite spins:

$$\begin{aligned}{} & {} V^{\sigma _1\sigma _2\sigma _3\sigma _4}(\varvec{k}_1,\varvec{k}_2,\varvec{k}_3) \nonumber \\{} & {} \quad =U (1-\delta _{\sigma _1\sigma _2})\left[ \delta _{\sigma _1\sigma _3}\delta _{\sigma _2\sigma _4} - \delta _{\sigma _1\sigma _4}\delta _{\sigma _2\sigma _3} \right] . \end{aligned}$$
(26)

We set the parameters to \(t'=-0.1\), \(U = 3.0\), \(\alpha =0.5\) and \(\mu =0.2\).

5.3 Hexagonal lattice \(SU(2)\): the graphene model

For the graphene model we choose the parametrization of the FRG-flow to remain equivalent but need to redefine the BZ meshing (Fig. 5b).

Model: The parameters for the calculation of graphene are: \(U=3\), \(t'=0.1\) and \(\mu =0.2\). Due to the sublattice structure of graphene the choice of origin in the Fourier transforms of the Hamiltonian is relevant. This is detailed in Appendix D, here it suffices to mention that we choose the proper gauge which transforms both sites of the graphene model with respect to the origin of the unit cell. Any other choice of Fourier transform would result in an improper (non-periodic) gauge of the Hamiltonian. We specify the interaction in the orbital space of graphene to be a site-local Hubbard interaction:

$$\begin{aligned} V^{o_1o_2o_3o_4}(\varvec{k}_1,\varvec{k}_2,\varvec{k}_3) = U\delta _{o_1,o_2}\delta _{o_2,o_3}\delta _{o_3,o_4} \end{aligned}$$
(27)

To be precise we specify the real space lattice vectors (\(\varvec{a}_i\)) and positions of the atoms within the first unit cell (\(\varvec{x}_i\)):

$$\begin{aligned} \varvec{a}_1&= (\sqrt{3}/2,-1/2,0)^\textrm{T}&\varvec{a}_2&= (\sqrt{3}/2,1/2,0)^\textrm{T}\,, \end{aligned}$$
(28)
$$\begin{aligned} \varvec{x}_1&= (1/\sqrt{3},0,0)^\textrm{T}&\varvec{x}_2&= (2/\sqrt{3},0,0)^\textrm{T}\,. \end{aligned}$$
(29)

Meshing: The meshing is defined as an equispaced grid of \(6 \times 6\) points along the lines defined by the two reciprocal lattice vectors \(\varvec{G}_1 = (2\pi /\sqrt{3}, -2\pi ,0)^\textrm{T}\) and \(\varvec{G}_2 = (2\pi /\sqrt{3},2\pi ,0)^\textrm{T}\). This mesh covers the PZ (cf. Fig. 5b) which is equivalent to any BZ due to the above choice of proper gauge.

Using this meshing ensures an even distribution of the weights to the momentum points during integrations. As before this mesh is used for all momenta required in the calculations.

5.4 TUFRG results

As Code #2 as well as Code #3 are capable of TUFRG calculations we are also able to generate benchmarks for this approximation. Equivalence is however much harder to achieve for TUFRG and because the target audience for the comparison is smaller the results are omitted from this publication. Upon request datasets as well as exact descriptions of the procedures involved will be provided.

5.5 The benchmarks

5.5.1 Comparing instructions

The comparative data include the following aspects of the FRG evaluation:

  1. 1.

    The maximum contribution to \(\varDelta _\varLambda \frac{\textrm{d}V}{\textrm{d}\varLambda } (\varLambda )\) by each of the P-,C-, D-channel diagrams (or the sum of the D-channel diagrams for the SU(2) systems)

  2. 2.

    The maximum vertex element after each iteration of the flow

  3. 3.

    The final effective vertex \(V(\varLambda =1.0)\) at each discretization point of the Brillouin zone (and spin/site index for Rashba/Graphene)

The first and second set of data can be compared by calculating the corresponding values in the trial implementation. The definition of maximum used is the maximal absolute value of the complex numbers \(|z|=\sqrt{\Re (z)^2+\Im (z)^2}\). Discrepancies in these offer insight into possible faults in singular channels or prefactors.

The third and most important result to compare is the effective vertex at the final scale. Here, we offer an array of values (of datatype double complex). The recommended approach is to sort the reference array as well as the respective result from the trial code by some metric (i.e., \(\max [\Re (z)]\) or \(\max [\Im (z)]\)) and compare the sorted arrays. Note that equivalence can be reached only to computational accuracy (discrepancies from the resolution of double, rounding, compiler optimizations, etc. may occur).

While it is also possible to obtain element-wise reproduction, this is dependent on the order of the discretized momentum points. Because this stems from the mesh generation scheme as well as the choice of PZ, neither of which has physical implications, we recommend subverting this dependency.

6 Conclusion and outlook

This publication set out to rectify the missing link for internal consistency of momentum space functional renormalization group calculations. We have verified the validity of the implementations by proving agreement with established results for momentum space functional renormalization group calculations and uniformity to unprecedented levels between the three implementations. This gives us the confidence in the claim that the datasets obtained are “correct” in the scope of the specific approximation (i.e., treating only the four-point vertex in momentum space, while neglecting self-energies and frequency dependencies of the vertex) of FRG. We provide these results with the intent of their continued reproduction and verification by members of the FRG community. Because the realm of tests can be as vast as the scope of FRG calculations we invite a continued investment by the community. The obvious extensions include frequency and self-energy dependent calculations. Please engage with the authors for required assistance in the reproduction.

Furthermore, the authors are currently working to combine their codes under a single, versatile “community code” with a polished, common, easy-to-use interface. While this is a major undertaking it is necessary to make the resulting code accessible to both the FRG community and the more general audience of physicists interested in many-body phenomenæ.

Fig. 6
figure 6

Band structures of (a) square lattice tight binding model (Hubbard), (b) square lattice tight binding model with Rashba-SOC (Rashba) and (c) hexagonal lattice tight binding model (graphene), where the shorthand notation associates the band structures with the benchmark systems as defined in Eq. (5). We note for the Hubbard model the expected saddle point at the X-point. The square lattice Rashba band structure has band crossing points at X and M while for graphene we draw attention to Dirac cone around the K-point