computer programs\(\def\hfill{\hskip 5em}\def\hfil{\hskip 3em}\def\eqno#1{\hfil {#1}}\)

Journal logoJOURNAL OF
APPLIED
CRYSTALLOGRAPHY
ISSN: 1600-5767

PyQCstrc.ico: a computing package for structural modelling of icosahedral quasicrystals

crossmark logo

aFaculty of Science, Department of Applied Physics, Tokyo University of Science, 6-3-1 Niijuku, Katsushika-ku, Tokyo 125-8585, Japan
*Correspondence e-mail: tsunetomo.yamada@rs.tus.ac.jp

Edited by T. J. Sato, Tohoku University, Japan (Received 1 April 2021; accepted 8 June 2021; online 16 July 2021)

The atomic structure of quasicrystals (QCs) is described as a section of a higher-dimensional structure that consists of a periodic arrangement of occupation domains (ODs). Determination of the shape of ODs and their partitioning is crucial in the structural analysis of QCs. However, owing to the complicated shape of ODs, building the initial structure model requires a great deal of time and effort. Thus, a computer program for building structure models of QCs is needed. Presented here is a Python3 package for structure modelling of icosahedral QCs.

1. Introduction

Quasicrystals (QCs) are long-range-ordered materials that generate self-similar diffraction patterns related to their scale incompatible with translational symmetry (Shechtman et al., 1984[Shechtman, D., Blech, I., Gratias, D. & Cahn, J. W. (1984). Phys. Rev. Lett. 53, 1951-1953.]; Levine & Steinhardt, 1984[Levine, D. & Steinhardt, P. J. (1984). Phys. Rev. Lett. 53, 2477-2480.]). The atomic structure of QCs can be described as a 3D section of n-dimensional (nD) periodic structures (n > 3). The nD structure consists of `occupation domains' (ODs) or atomic surfaces whose geometrical shapes are defined in the (n − 3)D complementary space called perpendicular space ([{\bf E}_{\perp}]), perpendicular to the 3D real space, called parallel space ([{\bf E}_{\|}]) (see e.g. Yamamoto, 1996[Yamamoto, A. (1996). Acta Cryst. A52, 509-560.]; Janssen et al., 2007[Janssen, T., Chapuis, G. & De Boissieu, M. (2007). Aperiodic Crystals: From Modulated Phases to Quasicrystals. Oxford University Press.]). The ODs form 2D surfaces or 3D solids for dihedral (n = 5) or icosahedral (n = 6) QCs, respectively.

Structural analysis of QCs can be executed by utilizing the software package QUASI developed by Yamamoto (2008[Yamamoto, A. (2008). Sci. Technol. Adv. Mater. 9, 013001.]). This contains several programs which can be utilized for the direct method (lodemac) (Takakura et al., 2001[Takakura, H., Shiono, M., Sato, T. J., Yamamoto, A. & Tsai, A. P. (2001). Phys. Rev. Lett. 86, 236-239.]), structure refinement (qcdiff), generation of atomic positions in [{\bf E}_{\|}] (qcstrc), and generation of Fourier and maximum entropy method (MEM) maps (qcmem) etc. However, a tool for building the initial structure model in the nD space has been lacking, which means scientists have to put a great deal of work into building the initial models. To overcome this difficulty, the PyQCstrc library for the Python3 programming language was developed, with the aim of providing a tool for building nD models. In this article, I present the PyQCstrc.ico package in the library, which is dedicated to QCs with an icosahedral symmetry.

This article is organized as follows. In Section 2[link] I briefly describe the ODs in the 6D models for two 3D quasiperiodic tilings. In Section 3[link] I describe the Python package PyQCstrc.ico, which can be used to build and arrange the ODs in a 6D icosahedral lattice. In Section 4[link] an example is given, and a summary is provided in Section 5[link].

2. Occupation domains

In the higher-dimensional description of icosahedral quasicrystals (iQCs), the 6D model is described by a 6D icosahedral lattice which is decorated by 3D ODs embedded in [{\bf E}_{\perp}]. The 6D positional vector [{\bf x} = (x_{1},x_{2},x_{3},x_{4},x_{5},x_{6})] can be represented by using the unit vectors of the 6D icosahedral lattice, [{\bf d}_{i}] ([i = 1,2,\ldots ,6]) (see Appendix A[link]). Note that the choice of the unit vectors is arbitrary, and there are several conventions. The most frequently used are the conventions proposed by Cahn et al. (1986[Cahn, J. W., Shechtman, D. & Gratias, D. (1986). J. Mater. Res. 1, 13-26.]), Elser (1985[Elser, V. (1985). Phys. Rev. B, 32, 4892-4898.]) and Yamamoto (1996[Yamamoto, A. (1996). Acta Cryst. A52, 509-560.]), and Yamamoto's is used in the package. The atomic positions are obtained from periodically arranged ODs by taking the intersections with [{\bf E}_{\|}]. Thus, the shape of ODs and their positions in the 6D space must be derived to build the initial model of the iQCs.

Fig. 1[link](a) shows the OD that generates the vertices of the 3D Amman–Kramer–Neri (AKN) tiling (Kramer & Neri, 1984[Kramer, P. & Neri, R. (1984). Acta Cryst. A40, 580-587.]; Duneau & Katz, 1985[Duneau, M. & Katz, A. (1985). Phys. Rev. Lett. 54, 2688-2691.]; Elser, 1985[Elser, V. (1985). Phys. Rev. B, 32, 4892-4898.], 1986[Elser, V. (1986). Acta Cryst. A42, 36-43.]; Kalugin et al., 1985[Kalugin, P., Kitaev, A. & Levitov, L. (1985). JETP Lett. 41, 145-149.]). The OD forms a rhombic triacontahedron (RT), which corresponds to the projection of the unit cell of the 6D icosahedral lattice onto [{\bf E}_{\perp}], and it is centred at either the origin (0,0,0,0,0,0) or the body centre (1,1,1,1,1,1)/2, as shown in Fig. 1[link](b). Since the site symmetry of these positions is [m\bar{3}\bar{5}], the RT OD can be generated from its asymmetric unit by applying the 120 symmetry elements of [m\bar{3}\bar{5}]. Here, the asymmetric unit forms a tetrahedron, and its Cartesian coordinates in [{\bf E}_{\|}] and [{\bf E}_{\perp}] are obtained from 6D vectors (0,0,0,0,0,0), [(1,\bar{1},\bar{1},\bar{1},\bar{1},\bar{1})/2], [(1,\bar{1},\bar{1},1,\bar{1},\bar{1})/2] and [(1,\bar{1},\bar{1},0,\bar{1},0)/2] by the projection operator (see Appendix A[link]). The AKN tiling is composed of two building units, obtuse and acute rhombohedra, shown in Figs. 1[link](c) and 1[link](d), respectively.

[Figure 1]
Figure 1
6D structure model of the AKN tiling. (a) The rhombic triacontahedron (RT) OD that generates the vertices of the tiling. (b) A fivefold section of the 6D structure. Blue bars and black thick lines indicate projection of the RT ODs and 6D unit cell onto the section, and the horizontal and the vertical of the figure are parallel to [{\bf E}_{\|}] and [{\bf E}_{\perp}], respectively. Two building units of the AKN tiling, (c) obtuse and (d) acute rhombohedra.

To decorate the 3D quasiperiodic tiling with atoms, a new OD must be introduced and arranged in the 6D icosahedral lattice. The shape and position of the OD can be derived by utilizing the basic OD for the 3D quasiperiodic tiling. More details about the atomic decorations can be found in the literature (Yamamoto, 1992[Yamamoto, A. (1992). Phys. Rev. B, 45, 5217-5227.], 1996[Yamamoto, A. (1996). Acta Cryst. A52, 509-560.]; Quiquandon et al., 2014[Quiquandon, M., Portier, R. & Gratias, D. (2014). Acta Cryst. A70, 229-238.]). For example, the edge centre position of the AKN tiling is generated by the rhombic icosahedron (RI) shown in Fig. 2[link](a), centred at (1,0,0,0,0,0)/2. The RI OD is obtained as a common part of two RT ODs at (0,0,0,0,0,0) and (1,0,0,0,0,0), when they are projected onto [{\bf E}_{\perp}] (Yamamoto, 1992[Yamamoto, A. (1992). Phys. Rev. B, 45, 5217-5227.]).

[Figure 2]
Figure 2
(a) Rhombic icosahedron OD that generates the edge centre position of the AKN tiling. (b) A truncated RT OD that generates the 12-fold packing sites of the AKN tiling. The truncated RT OD in (b) is enlarged by [1+\tau], where τ is the golden ratio equal to (1+5 1/2)/2.

The basic OD that is used for a realistic model becomes more complicated. For example, in the cluster-based model of primitive iQCs, the atomic clusters are arranged at the 12-fold packing sites of the AKN tiling (Yamamoto & Hiraga, 1988[Yamamoto, A. & Hiraga, K. (1988). Phys. Rev. B, 37, 6207-6214.]; Yamamoto, 1992[Yamamoto, A. (1992). Phys. Rev. B, 45, 5217-5227.]; Takakura et al., 2007[Takakura, H., Gómez, C. P., Yamamoto, A., De Boissieu, M. & Tsai, A. P. (2007). Nat. Mater. 6, 58-63.]; Quiquandon et al., 2014[Quiquandon, M., Portier, R. & Gratias, D. (2014). Acta Cryst. A70, 229-238.]). The cluster centre positions are generated by the truncated RT OD proposed by Henley (1986[Henley, C. L. (1986). Phys. Rev. B, 34, 797-816.]), shown in Fig. 2[link](b), centred at either (0,0,0,0,0,0) or (1,1,1,1,1,1)/2, and the relationship between local configurations of the clusters and the partitioning of the OD can be found in the literature (Takakura, 2008[Takakura, H. (2008). Philos. Mag. 88, 1905-1912. ]; Takakura & Strzałka, 2017[Takakura, H. & Strzałka, R. (2017). J. Phys. Conf. Ser. 809, 012002.]). The truncated RT can be generated from its asymmetric unit. The atomic decoration of the clusters can be obtained by arranging the basic truncated RT OD in the 6D icosahedral lattice. When the ODs projected onto [{\bf E}_{\perp}] intersect, in many cases the common part forms a concave polyhedron. One of the most difficult parts in building the initial model is related to the calculation of the common part.

3. Implementation and availability

In order to use QUASI for structural analysis, each OD must be defined as a set of tetrahedra, and the 6D positional vector x whose perpendicular components assign each vertex of the constituent tetrahedra must be known. In the PyQCstrc.ico package, all vertices of a tetrahedron forming an OD are defined by 6D coordinates ( x1,x2,x3,x4,x5,x6), and the value of xj ([j = 1,2,\ldots ,6]) is expressed as [(k_{1}+\tau{k_{2}})/k_{3}], where k1,k2,k3 are integers and τ is the golden ratio equal to (1+5 1/2)/2.

The Cartesian coordinates in [{\bf E}_{\perp}] are given by [\tilde{Q}_{\perp}X], where [\tilde{Q}_{\perp}] is the lower 3×6 part of the transposed matrix of Q [equation (2)[link]] and X is a transposed matrix of (x1,x2,x3,x4,x5,x6). The resulting Cartesian coordinates are represented by a list with integer components when the unit is taken to be [a(\tau+2)^{-1/2}]. This representation allows one to perform numerical computation free from the influence of rounding error.

The package provides tools commonly used to build the initial structure of iQCs, which include translation and symmetry operations in the 6D space, and intersection operations on ODs in [{\bf E}_{\perp}]. In addition, export and import of the ODs are supported: the ODs can be exported in VESTA format (.vesta) and XYZ format (.xyz), and these can be visualized by utilizing VESTA (Momma & Izumi, 2011[Momma, K. & Izumi, F. (2011). J. Appl. Cryst. 44, 1272-1276.]). The latter can be imported so that users can recall their ODs in Python scripts. Moreover, the package supports the QUASI formats (.pod and .atm) (Yamamoto, 2008[Yamamoto, A. (2008). Sci. Technol. Adv. Mater. 9, 013001.]), as described in the supporting information.

In realistic models of iQCs, the ODs may be concave polyhedra, and their tetrahedralization is not straightforward. In the package, the intersection operation of such ODs is performed by considering every pair of two tetrahedra included in each OD. Because the intersection of two tetrahedra forms a convex polyhedron, its tetrahedralization can be achieved by 3D Delaunay triangulation. Then, the common part is obtained as the union of the resulting tetrahedra. In the case where the common part forms a convex polyhedron, such as the intersection of two convex polyhedra, the above process can be shortened, and the solution is obtained by 3D Delaunay triangulation.

The package is distributed in the Python Package Index (PyPI) software repository (https://pypi.org/project/pyqcstrc/) and is freely available via pip install pyqcstrc. The package requires two libraries, numpy (https://numpy.org/) and scipy (https://www.scipy.org/), and the Cython programming language (https://cython.org/). Moreover, it is recommended that one uses Python3.7 or greater built with the SSL module, OpenSSL (https://www.openssl.org/). The package was developed and tested under macOS (10.14), and it was also tested on other operating systems, including Linux (Ubuntu20.04, Fedora32 and CentOS8) and Windows 10.

4. Example

In this section, the basic usage of the PyQCstrc.ico package is described by providing a procedure in a Python script to obtain the RI OD [Fig. 1[link](b)]. We start with the asymmetric unit of the basic RT OD [Fig. 1[link](a)]. This forms a tetrahedron whose vertices are assigned 6D coordinates as mentioned before. As seen below, the jth component of the 6D coordinates ([j = 1,2,\ldots,6]), [(k_{1}+\tau{k_{2}})/k_{3}], is expressed by utilizing a list [ k1,k2,k3]. The RI OD can be calculated in the following way:

(i) Creating the asymmetric unit of the basic RT OD:[link]

[Scheme 1]

Alternatively, the asymmetric part predefined in a file (rt_asymmetric.xyz) provided in the supporting information can be loaded as od0:[link]

[Scheme 2]

Here, '/dir/of/xyz' indicates a directory where the rt_asymmetric.xyz file is located.

(ii) Creating the RT OD from its asymmetric unit by applying the symmetry elements of [m\bar{3}\bar{5}] around the origin:[link]

[Scheme 3]

(iii) Creating the RT OD centred at (1,0,0,0,0,0):[link]

[Scheme 4]

(iv) Intersection operation on od1 and od2:[link]

[Scheme 5]

(v) Export the resulting RI OD (od3) in VESTA and XYZ formats:[link]

[Scheme 6]

Here, '/dir/of/work' indicates a working directory.

(vi) od3 can be imported from the od3.xyz file:[link]

[Scheme 7]

The calculation takes several minutes. To output the progress on the terminal, users can turn on verbose output by specifying an argument `verbose' set to be 1 (verbose = 1) or larger.

Since the RI OD (od3) forms a convex polyhedron, it is tetrahedralizable by 3D Delaunay triangulation. In this case, ods.intersection_convex() can be used, instead of (iv), as follows:[link]

[Scheme 8]

Moreover, the calculation cost can be greatly reduced by considering the asymmetric unit of the position where the solution is located. Here, a portion of od1 inside the asymmetric unit of [\bar{5}m] at (1,0,0,0,0,0)/2 is considered, and obtained as below:[link]

[Scheme 9]

Then, the asymmetric unit of od3 can be obtained by the following:[link]

[Scheme 10]

In the above expression, the asymmetric unit of [\bar{5}m] is defined by three vectors [{\bf w}_{1}], [{\bf w}_{2}] and [{\bf w}_{3}]. The projection of [{\bf w}_{1}] onto [{\bf E}_{\perp}] is parallel to a fivefold axis given by the projection of (1,0,0,0,0,0)/2, while the projections of [{\bf w}_{2}] and [{\bf w}_{3}] are orthogonal to the fivefold axis. They are on different mirror planes which make an angle of 36°.

5. Summary and perspectives

The PyQCstrc.ico package provides tools commonly used to build the initial structure models of iQCs in the Python3 programing language. This is particularly crucial for realistic structure models where the overall shape of ODs is quite complicated. In addition, the package is useful to check the closeness conditions of the ODs and to specify atomic pairs related to phason flips. The latter can be used to compute the short-range-order diffuse scattering, based on the theory proposed by Yamamoto (2010a[Yamamoto, A. (2010a). Acta Cryst. A66, 384-393.],b[Yamamoto, A. (2010b). Acta Cryst. A66, 372-383.]).

The PyQCstrc.ico package is part of the PyQCstrc library. Two other packages dedicated to decagonal and dodecagonal QCs are scheduled to be included in the future.

APPENDIX A

Coordinate system

The coordinate system used in this study is based on the one described in the literature (Yamamoto, 1996[Yamamoto, A. (1996). Acta Cryst. A52, 509-560.]). The unit vectors of the 6D icosahedral lattice, [{\bf d}_{i}] ([i = 1,2,\ldots,6]), are written using unit vectors in 3D [{\bf E}_{\|}], [{\bf a}_{1}], [{\bf a}_{2}], [{\bf a}_{3}], and 3D [{\bf E}_{\perp}], [{\bf a}_{4}], [{\bf a}_{5}], [{\bf a}_{6}], as

[{\bf d}_{i} = \textstyle\sum\limits^{6}_{j = 1}Q_{ij}{\bf a}_{j} \eqno(1)]

with

[Q_{ij} = {{a} \over {(\tau+2)^{1/2}}}\left[\matrix{1&\tau&0&\tau&-1&0 \cr \tau&0&1&-1&0&\tau\cr \tau&0&-1&-1&0&-\tau\cr 0&1&-\tau&0&\tau&1\cr -1&\tau&0&-\tau&-1&0\cr 0&1&\tau&0&\tau&-1}\right],\eqno(2)]

where a is the lattice parameter of the icosahedral lattice.

Supporting information


Acknowledgements

The author is grateful to A. Yamamoto for comments on the manuscript and for testing the PyQCstrc.ico package, and to H. Takakura for testing the package.

Funding information

Funding for this research was provided by Japan Society for the Promotion of Science (grant No. JP18K13987; grant No. JP19H05818).

References

First citationCahn, J. W., Shechtman, D. & Gratias, D. (1986). J. Mater. Res. 1, 13–26.  Web of Science CrossRef CAS Google Scholar
First citationDuneau, M. & Katz, A. (1985). Phys. Rev. Lett. 54, 2688–2691.  CrossRef PubMed CAS Web of Science Google Scholar
First citationElser, V. (1985). Phys. Rev. B, 32, 4892–4898.  CrossRef CAS Web of Science Google Scholar
First citationElser, V. (1986). Acta Cryst. A42, 36–43.  CrossRef CAS Web of Science IUCr Journals Google Scholar
First citationHenley, C. L. (1986). Phys. Rev. B, 34, 797–816.  CrossRef CAS Web of Science Google Scholar
First citationJanssen, T., Chapuis, G. & De Boissieu, M. (2007). Aperiodic Crystals: From Modulated Phases to Quasicrystals. Oxford University Press.  Google Scholar
First citationKalugin, P., Kitaev, A. & Levitov, L. (1985). JETP Lett. 41, 145–149.  Google Scholar
First citationKramer, P. & Neri, R. (1984). Acta Cryst. A40, 580–587.  CrossRef Web of Science IUCr Journals Google Scholar
First citationLevine, D. & Steinhardt, P. J. (1984). Phys. Rev. Lett. 53, 2477–2480.  CrossRef CAS Web of Science Google Scholar
First citationMomma, K. & Izumi, F. (2011). J. Appl. Cryst. 44, 1272–1276.  Web of Science CrossRef CAS IUCr Journals Google Scholar
First citationQuiquandon, M., Portier, R. & Gratias, D. (2014). Acta Cryst. A70, 229–238.  Web of Science CrossRef CAS IUCr Journals Google Scholar
First citationShechtman, D., Blech, I., Gratias, D. & Cahn, J. W. (1984). Phys. Rev. Lett. 53, 1951–1953.  CrossRef CAS Web of Science Google Scholar
First citationTakakura, H. (2008). Philos. Mag. 88, 1905–1912.   Web of Science CrossRef CAS Google Scholar
First citationTakakura, H., Gómez, C. P., Yamamoto, A., De Boissieu, M. & Tsai, A. P. (2007). Nat. Mater. 6, 58–63.  Web of Science CrossRef PubMed CAS Google Scholar
First citationTakakura, H., Shiono, M., Sato, T. J., Yamamoto, A. & Tsai, A. P. (2001). Phys. Rev. Lett. 86, 236–239.  Web of Science CrossRef PubMed CAS Google Scholar
First citationTakakura, H. & Strzałka, R. (2017). J. Phys. Conf. Ser. 809, 012002.  CrossRef Google Scholar
First citationYamamoto, A. (1992). Phys. Rev. B, 45, 5217–5227.  CrossRef CAS Web of Science Google Scholar
First citationYamamoto, A. (1996). Acta Cryst. A52, 509–560.  CrossRef CAS Web of Science IUCr Journals Google Scholar
First citationYamamoto, A. (2008). Sci. Technol. Adv. Mater. 9, 013001.  Web of Science CrossRef PubMed Google Scholar
First citationYamamoto, A. (2010a). Acta Cryst. A66, 384–393.  Web of Science CrossRef IUCr Journals Google Scholar
First citationYamamoto, A. (2010b). Acta Cryst. A66, 372–383.  Web of Science CrossRef IUCr Journals Google Scholar
First citationYamamoto, A. & Hiraga, K. (1988). Phys. Rev. B, 37, 6207–6214.  CrossRef CAS Web of Science Google Scholar

This is an open-access article distributed under the terms of the Creative Commons Attribution (CC-BY) Licence, which permits unrestricted use, distribution, and reproduction in any medium, provided the original authors and source are cited.

Journal logoJOURNAL OF
APPLIED
CRYSTALLOGRAPHY
ISSN: 1600-5767
Follow J. Appl. Cryst.
Sign up for e-alerts
Follow J. Appl. Cryst. on Twitter
Follow us on facebook
Sign up for RSS feeds