I have calculated the band structure of some material where the unit cell was the conventional one (i.e. the lattice vectors are orthogonal). I'm trying now to calculate the same band structure only now the unit cell is the primitive one.

My question is how do I convert the fractional k-points i.e. $$x_1\vec{b}_1 + x_2\vec{b}_2 + x_3\vec{b}_3$$ in the first Brillouin from the conventional cell to the primitive cell?

The conventional cell is:

    3.3132998943         0.0000000000         0.0000000000
    0.0000000000        10.4729995728         0.0000000000
    0.0000000000         0.0000000000         4.3740000725

and the primitive is:

    1.6566492265        -5.2364998440         0.0000000000
    1.6566492265         5.2364998440         0.0000000000
    0.0000000000        -0.0000000000         4.3740000725

for example, what will be the equivalent of (1/2, 0, 0) in the primitive cell?

  • $\begingroup$ +1 Welcome to our new community and thank you so much for contributing your question here! We hope to see much more of you in the future !!! $\endgroup$ Commented Jun 13, 2021 at 20:47
  • $\begingroup$ I think that if you have a "new" cell, you need to generate the new k-point path for the new Brillouin zone. $\endgroup$
    – Camps
    Commented Jun 14, 2021 at 22:06
  • $\begingroup$ did you get your answer ?? did you get your solution with this ?? $\endgroup$
    – Alpha_Roy
    Commented May 30, 2022 at 12:56
  • $\begingroup$ @AbdulMuhaymin I clicked "approve" on your edit, then noticed that it was a tag belonging to only 1 question (which was also added today by yourself). There's some Meta threads that provide some reasons to avoid making edits on older questions like this: mattermodeling.meta.stackexchange.com/q/404/5 , mattermodeling.meta.stackexchange.com/q/401/5. $\endgroup$ Commented Mar 28, 2023 at 21:33
  • 1
    $\begingroup$ @AbdulMuhaymin It's mainly because older questions that already have answers, don't need to be bumped to the front of the page and steal visibility from newer questions for which the askers are still desperately waiting for an answer. To create the "unit-cell" tag, in the tags chatroom you can provide a list of questions that you think are appropriate for it, and make a case for it this way :) $\endgroup$ Commented Mar 28, 2023 at 22:28

2 Answers 2


I've never done this before but here is my guess of how you can do it.

If the numbers you posted are the unit cell axes vectors with a vector for each column then their direct matrices are.

$$\tag{1}\mathbf{A} = \begin{bmatrix}3.31 & 0.00 & 0.00 \\ 0.00 & 10.47 & 0.00 \\ 0.00 & 0.00 & 4.37\end{bmatrix}, \qquad\qquad \mathbf{A}' = \begin{bmatrix}1.65 & -5.24 & 0.00 \\ 1.66 & 5.23 & 0.00 \\ 0.00 & 0.00 & 4.37\end{bmatrix}$$

From this you can get the reciprocal space vectors with

$$\mathbf{B} = 2\pi(\mathbf{A}^{-1})^{T}, \qquad\qquad \mathbf{B}' = 2\pi(\mathbf{A}^{-1})^{T}\tag{2}$$

where I have included the $2\pi$ to stick with the physicist definition. Then you can convert your example fractional $k$-point,

$$\vec{x} = \begin{bmatrix}0.50 \\ 0.00 \\ 0.00\end{bmatrix}\tag{3}$$

to a point in reciprocal space $\vec{G}$ with:

$$\vec{G} = \mathbf{B}\vec{x}\tag{4}$$

then convert that point $\vec{G}$ in reciprocal space to the fractional $k$-point in your other reciprocal lattice.

$$\vec{x}' = (\mathbf{B}')^{-1}\vec{G}\tag{5}$$

Then you'll need to adjust $\vec{x}'$ so it is in the first Brillouin zone. I think you can do something like this.

\begin{eqnarray} x^{1\mathrm{st}}_{1} &= x'_{1} - \mathrm{round}(x'_{1})\tag{6}\\ x^{1\mathrm{st}}_{2} &= x'_{2} - \mathrm{round}(x'_{2})\tag{7}\\ x^{1\mathrm{st}}_{3} &= x'_{3} - \mathrm{round}(x'_{3})\tag{8} \end{eqnarray}

Hopefully that is right.


Background. Let $(\mathbf{a}_{p_1},\mathbf{a}_{p_2},\mathbf{a}_{p_3})$ be your primitive cell lattice vectors, and let $(\mathbf{a}_{s_1},\mathbf{a}_{s_2},\mathbf{a}_{s_3})$ be your supercell lattice vectors. We can then define a supercell matrix $\mathbf{S}$ relating the two as: \begin{equation}\tag{1} \begin{pmatrix} \mathbf{a}_{\text{s}_1}\\ \mathbf{a}_{\text{s}_2}\\ \mathbf{a}_{\text{s}_3} \end{pmatrix} = \begin{pmatrix} S_{11}&S_{12}&S_{13}\\ S_{21}&S_{22}&S_{23}\\ S_{31}&S_{32}&S_{33} \end{pmatrix} \begin{pmatrix} \mathbf{a}_{\text{p}_1}\\ \mathbf{a}_{\text{p}_2}\\ \mathbf{a}_{\text{p}_3} \end{pmatrix}. \end{equation} Note that $S_{ij}\in\mathbb{Z}$.

The reciprocal primitive lattice has basis vectors: \begin{equation}\tag{2} \begin{pmatrix} \mathbf{b}_{\text{p}_1}\\ \mathbf{b}_{\text{p}_2}\\ \mathbf{b}_{\text{p}_3} \end{pmatrix} =2\pi \begin{pmatrix} \mathbf{a}_{\text{p}_1}\\ \mathbf{a}_{\text{p}_2}\\ \mathbf{a}_{\text{p}_3} \end{pmatrix}^{-\text{T}}, \end{equation} while the reciprocal superlattice has basis vectors: \begin{equation} \begin{pmatrix}\tag{3} \mathbf{b}_{\text{s}_1}\\ \mathbf{b}_{\text{s}_2}\\ \mathbf{b}_{\text{s}_3} \end{pmatrix} = \begin{pmatrix} \bar{S}_{11}&\bar{S}_{12}&\bar{S}_{13}\\ \bar{S}_{21}&\bar{S}_{22}&\bar{S}_{23}\\ \bar{S}_{31}&\bar{S}_{32}&\bar{S}_{33} \end{pmatrix} \begin{pmatrix} \mathbf{b}_{\text{p}_1}\\ \mathbf{b}_{\text{p}_2}\\ \mathbf{b}_{\text{p}_3} \end{pmatrix}, \end{equation} where $\bar{S}_{ij}=(S^{-1})_{ji}$. A $\mathbf{k}$ point can be written in fractional coordinates in terms of either the reciprocal primitive or reciprocal supercell basis vectors, and these two options are related by: \begin{equation}\tag{4} \begin{pmatrix} k_{\text{s}_1}\\ k_{\text{s}_2}\\ k_{\text{s}_3} \end{pmatrix} = \begin{pmatrix} S_{11}&S_{12}&S_{13}\\ S_{21}&S_{22}&S_{23}\\ S_{31}&S_{32}&S_{33} \end{pmatrix} \begin{pmatrix} k_{\text{p}_1}\\ k_{\text{p}_2}\\ k_{\text{p}_3} \end{pmatrix}. \end{equation}

Your case. The first step is always to determine what the supercell matrix is. In your case, you can easily confirm that: \begin{equation}\tag{5} \mathbf{S}= \begin{pmatrix} 1&1&0\\ -1&1&0\\ 0&0&1 \end{pmatrix}. \end{equation} It then follows that, if $(k_{\text{p}_1},k_{\text{p}_2},k_{\text{p}_3})=(\frac{1}{2},0,0)$, we get: \begin{equation} \begin{pmatrix} k_{\text{s}_1}\\ k_{\text{s}_2}\\ k_{\text{s}_3} \end{pmatrix} = \begin{pmatrix} 1&1&0\\ -1&1&0\\ 0&0&1 \end{pmatrix} \begin{pmatrix} \frac{1}{2}\\ 0\\ 0 \end{pmatrix} = \begin{pmatrix} \frac{1}{2}\\ -\frac{1}{2}\\ 0 \end{pmatrix} \,.\tag{6} \end{equation}


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .