# How to determine the concrete value for the wavenumber in tight-binding approximation

As a simple problem setting, consider a one-dimensional linear crystal of NaCl with only 1s orbitals, where the atomic distance between Na and Cl is also assumed to be 0.5 Å for simplicity (Fig. 1). In this problem setting, I would like to calculate the tight-binding approximation (TBA) of the 1s orbitals of Na and Cl.

First, for example, if I use the 6-31G(d,p) basis set, the 1s orbitals of Na and Cl can be easily constructed using the contraction coefficients and orbital exponents. I write each atomic orbital as follows: $$\begin{eqnarray} \text{Na}: \phi_{\text{1s}} (r, R) = \sum_{n=1}^6 \alpha_n e^{-\zeta_n ||r - R||^2}, (1) \\ \text{Cl}: \psi_{\text{1s}} (r, R) = \sum_{n=1}^6 \beta_n e^{-\gamma_n ||r - R||^2}, (2) \end{eqnarray}$$ where $$||r - R||$$ is the distance between $$r$$ and $$R$$, $$\alpha$$ or $$\beta$$ is the contraction coefficient, and $$\zeta$$ or $$\gamma$$ is the orbital exponent. The concrete values for these coefficients and exponents can be obtained from the BasisSetExchange website (https://www.basissetexchange.org/).

Next, I write the Bloch sum of the above atomic orbitals as follows: $$\begin{eqnarray} \text{Na}: \Phi_k (r) = e^{-ik R_1} \phi_{\text{1s}} (r, R_1) + e^{-ik R_2} \phi_{\text{1s}} (r, R_2) + \cdots + e^{-ik R_N} \phi_{\text{1s}} (r, R_N), (3) \\ \text{Cl}: \Psi_k (r) = e^{-ik R_1} \psi_{\text{1s}} (r, R_1) + e^{-ik R_2} \psi_{\text{1s}} (r, R_2) + \cdots + e^{-ik R_N} \psi_{\text{1s}} (r, R_N), (4) \end{eqnarray}$$ where $$k$$ is the wavenumber and $$N$$ is the number of atomic positions considered in the Bloch sum.

Finally, I consider the coefficients as the same as the linear combination of atomic orbitals (LCAO) for molecules as follows: $$\begin{eqnarray} \text{NaCl}: \Omega_k (r) = c_\text{Na} \Phi_k (r) + c_\text{Cl} \Psi_k (r), (5) \end{eqnarray}$$ where $$c_\text{Na}$$ and $$c_\text{Cl}$$ are the coefficient values in TBA, which can be found by minimizing the energy as the same as LCAO.

Here, I have a question. In the above three processes, I know the concrete values of the contraction coefficient and orbital exponent in Eqs. (1) and (2) thanks to the BasisSetExchange, and also know how to find the coefficient in TBA/LCAO in Eq. (5); however, I do not know the concrete value of the wave number $$k$$ in Eqs. (3) and (4) and how to determine it. Is this $$k$$ value arbitrarily determined (e.g., $$\pi$$, 1/2$$\pi$$, and 3$$\pi$$)? For example, in the actual DFT calculation based on TBA, do we have the best (or better) $$k$$ value for Na, Cl, and other atoms?

(I am already familiar with the LCAO calculation for organic molecules, but not familiar with inorganic crystals, so I have the above question. The molecular LCAO does not have the $$k$$ value in the actual calculation and requires only $$\alpha$$, $$\beta$$, $$\zeta$$, $$\gamma$$, and $$c$$.)

• "k-point sampling" is the magic term you want to look into. And note you will also need to perform the appropriate Fourier Transform on your TB Hamiltonian and possibly other associated quantities. Jul 22, 2022 at 10:55
• Yes, I saw the word of k-sampling and k-mesh in the textbook. However, in the first place, I would like to know the concrete values and how to determine it in the above one-dimensional NaCl structure. Is this so difficult?
– neco
Jul 22, 2022 at 13:57
• Actually, I have not been able to find the textbooks that calculate TBA with the concrete values with the concrete crystal structure. The textbooks often begin with the formulas and equations, but these are too abstract for the beginners like me. For organic molecules, Mcquarrie and Simon's famous textbook, "Physical Chemistry a Molecular Approach", was very informative in terms of the concrete calculations with the concrete molecule. However, for solid state physics, I have not been able to find such a good and useful textbook.
– neco
Jul 22, 2022 at 13:58
• N.B. 6-31G(d,p) is not a generally contracted basis set, and the individual basis functions may not correspond to true atomic orbitals. Jul 22, 2022 at 18:53
• Yes, I understand that "the individual basis functions may not correspond to true atomic orbitals" and I believe that this is the same as the actual calculation for organic molecules. But, is this different between organic molecules and inorganic crystals?
– neco
Jul 22, 2022 at 23:24

It depends what you are trying to calculate. The possible k points that you care about are those in the first Brillouin zone. You can find a definition of that in a solid state physics textbook. In 1D it will be between pi/a and -pi/a. In 1D you don’t have to worry about a path through the Brillouin zone in the same way that you would in higher dimensions (since there’s only one path possible), so you should just sample the points from -pi/a to pi/a uniformly.

So what you want to do is plug in values of k for k in the range -pi/a to pi/a, and then if you have a dense enough number of points, then you will see something that looks like the bands in your system. You can look at the part of solid state physics textbooks that do tight binding in 1D to see the sort of plot that you should expect to get. In textbook examples, they usually pick ones that are analytically solvable with simple functional forms, so you just get the energy as a function of k, and then you can plot it in Mathematica or something like you would with any other function, but if you instead have more complicated functional forms that you might get out of an actual tight binding calculation with more complex forms for the orbitals where they have a bunch of coefficients, you can instead just plug in values for k on some regular interval to generate your plot.

• Thank you very much for the detailed answer. It is OK with the uniform sampling -pi/a to pi/a uniformly, that is, if a = 1, for example I have -π, -3π/4, -π/2, -π/4, 0, π/4, π/2, 3π/4, and π. I see, many k sampling points, i.e., ψ1(r), ψ2(r), ..., ψk(r), correspond to the bands of NaCl system.
– neco
Jul 24, 2022 at 23:47
• It primarily depends one what you want to calculate. If you want to generate a band structure, you might want more points than that so you can more easily see the shape of the curves. Uniformly sampling is a fine way to do it though. If you want to do this with a real material, I suggest doing it for a 2D material like graphene since the pz orbital derived bands will correspond to the actual bands of interest in the system, and you can compare with the model Hamiltonian solution.
– AGS
Jul 25, 2022 at 7:11
• Also, more generally, pythtb might be helpful for you to try, and for “production calculations” people often use quantum espresso and Wannier90, which are both free and for simple examples should run on a laptop.
– AGS
Jul 25, 2022 at 7:12
• I didn't know pythtb, it seems to be very good for my study. I will try the simple system like 2D graphene in the first place. Thank you very much!
– neco
Jul 26, 2022 at 1:45