Supercell Construction#

Constructing supercell for a general transformation matrix#

We describe a rigorous way to associate a supercell with its primitive cell. In what follows, we explain in a three-dimensional case.

We put a collection of point coordinates in a primitive cell as \(D\). Any point coordinates \(\mathbf{x}\) in the crystallographic pattern are uniquely decomposed as

(1)#\[\mathbf{x} = \mathbf{d} + \mathbf{m},\quad \mathbf{d} \in D,\, \mathbf{m} \in \mathbb{Z}^{3}\]

where \(\mathbf{m}\) indicates indices of a lattice point of a unit cell that the point coordinates \(\mathbf{x}\) belongs. When we consider translational symmetry of a sublattice \(L_{\mathbf{M}}\), two lattice points \(\mathbf{m}, \mathbf{m}'\) are equivalent if the distance between the two lattice points is a translation of \(L_{\mathbf{M}}\), that is,

(2)#\[\mathbf{m} - \mathbf{m}' \in \mathbf{M}\mathbb{Z}^{3}.\]

The Smith normal form (SNF) of the transformation matrix \(\mathbf{M}\) is useful to concretely write down Eq. (2). The SNF is one of the decomposition of an integer matrix \(\mathbf{M}\) as

(3)#\[\mathbf{S} = \mathbf{PMQ}\]

where \(\mathbf{P}\) and \(\mathbf{Q}\) are unimodular matrices, and \(\mathbf{S}\) is a diagonal integer matrix,

\[\begin{split}\mathbf{S} = \begin{pmatrix} S_{11} & 0 & 0 \\ 0 & S_{22} & 0 \\ 0 & 0 & S_{33} \end{pmatrix}.\end{split}\]

Here \(S_{11}\) is a divisor of \(S_{22}\), and \(S_{22}\) is a divisor of \(S_{33}\). We can rewrite Eq. (2) with Eq. (3) as

(4)#\[[\mathbf{Pm}]_{\mathbf{S}} = [\mathbf{Pm}']_{\mathbf{S}}\]

where \([\cdot]_{\mathbf{S}}\) indicates to take modulus for the \(i\)th row by \(S_{ii}\). We mention that the range of \([\cdot]_{\mathbf{S}}\) is \(\mathbb{Z}_{S_{11}} \oplus \mathbb{Z}_{S_{22}} \oplus \mathbb{Z}_{S_{33}}\) because a value of the \(i\)th row is a remainder by \(S_{ii}\). Using Eq. (4), the point coordinates \(\mathbf{x}\) are decomposed with the translation of the sublattice \(L_{\mathbf{M}}\) as

(5)#\[\mathbf{x} = \mathbf{d} + \mathbf{P}^{-1} \mathbf{f} + \mathbf{Ml} ,\, \quad \mathbf{f} \in \mathbb{Z}_{S_{11}} \oplus \mathbb{Z}_{S_{22}} \oplus \mathbb{Z}_{S_{33}},\, \mathbf{l} \in \mathbb{Z}^{3}.\]

In Eq. (5), the terms \(\mathbf{d} + \mathbf{P}^{-1}\mathbf{f}\) denote point coordinates in the supercell and \(\mathbf{l}\) stands for the indices of a supercell.

The collection of point coordinates in \(D_{\mathbf{M}}\) is the set of sites inside the parallelepiped spanned by the set of basis vectors \(\mathbf{AM}\),

\[D_{\mathbf{M}} = \left\{ \mathbf{d} + \mathbf{m} \mid \mathbf{d} \in D, \mathbf{m} \in \mathbb{Z}^{3} \right\} \cap \mathbf{M} [0, 1)^{3} .\]

Using Eq. (5), we have explicit point coordinates in the supercell:

(6)#\[D_{\mathbf{M}} = \left\{ \mathbf{d} + \mathbf{P}^{-1} \mathbf{f} + \mathbf{M} \mathbf{l}_{\mathbf{f}} \mid \mathbf{d} \in D,\, \mathbf{f} \in \mathbb{Z}_{S_{11}} \oplus \mathbb{Z}_{S_{22}} \oplus \mathbb{Z}_{S_{33}} \right\}\]

where \(\mathbf{l}_{\mathbf{f}}\) is an offset to locate each site in \(D_{\mathbf{M}}\) inside the parallelepiped.

Then we define a mapping that embeds any point coordinates \(\mathbf{x} = \mathbf{d} + \mathbf{m} \, (\mathbf{d} \in D, \mathbf{m} \in \mathbb{Z}^{3})\) in the supercell as

\[\pi_{\mathbf{M}}(\mathbf{d} + \mathbf{m}) = \mathbf{d} + \mathbf{P}^{-1} [\mathbf{Pm}]_{\mathbf{S}} + \mathbf{M} \mathbf{l}_{[\mathbf{Pm}]_{\mathbf{S}}} \in D_{\mathbf{M}}.\]

In what follows, we label the point coordinates in the supercell as \(D_{\mathbf{M}} = \left\{ \mathbf{d}_{1}, \dots, \mathbf{d}_{|D_{\mathbf{M}}|} \right\}\).

Putting a space group of the supercell \((\mathbf{AM}, D_{\mathbf{M}})\) as \(\mathcal{H}_{\mathbf{M}}\) and a space group of its primitive cell as \(\mathcal{G}\), the space group \(\mathcal{H}_{\mathbf{M}}\) is a subgroup of the space group \(\mathcal{G}\). When \(g = \{ \mathbf{R} \mid \mathbf{\tau} \} \in \mathcal{G}\) is contained in \(\mathcal{H}_{\mathbf{M}}\), it is required that the sublattice \(L_{\mathbf{M}}\) and the rotated one \(L_{\mathbf{RM}}\) are coincided, that is, \(\mathbf{M}^{-1} \mathbf{RM}\) is unimodular. By applying each symmetry operation \({ g = \{ \mathbf{R} \mid \mathbf{\tau} \} \in \mathcal{H}_{\mathbf{M}} }\), point coordinates \(\mathbf{d}_{i}\) are moved to \(g \mathbf{d}_{i} (= \mathbf{R}\mathbf{d}_{i} + \mathbf{\tau})\) and the latter point coordinates are equivalent to \(\pi_{\mathbf{M}} (g \mathbf{d}_{i})\) up to translations in the sublattice \(L_{\mathbf{M}}\). Thus a permutation representation \(\sigma_{g}\) of operation \(g\) is obtained by

\[\mathbf{d}_{\sigma_{g}(i)} = \pi_{\mathbf{M}} (g \mathbf{d}_{i}).\]

Although \(\mathcal{H}_{\mathbf{M}}\) is infinite group, its permutation group \(\Sigma_{\mathbf{M}} = \{ \sigma_{g} \mid g \in \mathcal{H}_{\mathbf{M}} \}\) is finite. Putting a translation subgroup obtained from a lattice \(L\) as

\[T_{L} = \left\{ \{ \mathbf{I} \mid \mathbf{t} \} \mid \mathbf{t} \in L \right\} \subseteq \mathcal{H}_{\mathbf{M}},\]

we only have to calculate the permutation representation for its factor group \(T_{L} / T_{L_{\mathbf{M}}}\) because translations from the sublattice \(L_{\mathbf{M}}\) trivially return the identity permutation for a collection of point coordinates \(D_{\mathbf{M}}\). We can construct one representative for \(T_{L} / T_{L_{\mathbf{M}}}\) in the same way as Eq. (6),

\[T_{L} / T_{L_{\mathbf{M}}} = \left\{ \{\mathbf{I} \mid \mathbf{P}^{-1} \mathbf{f} \} \mid \mathbf{f} \in \mathbb{Z}_{S_{11}} \oplus \mathbb{Z}_{S_{22}} \oplus \mathbb{Z}_{S_{33}} \right\}.\]

The permutation group \(\Sigma_{\mathbf{M}}\) is obtained from finite operations in \(\mathcal{H}_{\mathbf{M}} / T_{L}\) and \(T_{L} / T_{L_{\mathbf{M}}}\) as its generators.

Convention in dsenum#

dsenum.site.DerivativeSite represents a pair of \(\mathbf{d}\) and \(\mathbf{m}\) in Eq. (1).

The following instance of DerivativeSite

dsite = dsenum.site.DerivativeSite(site_index, jimage)

corresponds to

\[\mathbf{x} = \mathbf{d}_{\mathrm{site\_index}} + \mathrm{jimage}.\]

dsenum.site.CanonicalSite represents a pair of \(\mathbf{d}\) and \(\mathbf{f}\) in Eq. (5).

The following instance of CanonicalSite

csite = dsenum.site.CannonicalSite(site_index, f)

corresponds to

\[\mathbf{x} = \mathbf{d}_{\mathrm{site\_index}} + \mathbf{P}^{-1} \mathbf{f} + \mathbf{Ml}\]

References#

  • Gus L. W. Hart and Rodney W. Forcade, “Algorithm for generating derivative structures,” Phys. Rev. B 77 224115, (2008)

  • Gus L. W. Hart and Rodney W. Forcade, “Generating derivative structures from multilattices: Application to hcp alloys,” Phys. Rev. B 80 014120 (2009)

  • Lyuwen Fu, Mordechai Kornbluth, Zhengqian Cheng, and Chris A. Marianetti, “Group theoretical approach to computing phonons and their interactions”, Phys. Rev. B 100, 014303 (2019)