research papers\(\def\hfill{\hskip 5em}\def\hfil{\hskip 3em}\def\eqno#1{\hfil {#1}}\)

Journal logoJOURNAL OF
APPLIED
CRYSTALLOGRAPHY
ISSN: 1600-5767

Calculating temperature-dependent X-ray structure factors of α-quartz with an extensible Python 3 package

crossmark logo

aDiamond Light Source Ltd, Harwell Science and Innovation Campus, Chilton, Didcot, OX11 0DE, United Kingdom, bSchool of Physics, HH Wills Physics Laboratory, University of Bristol, Tyndall Avenue, Bristol, BS8 1TL, United Kingdom, and cMaterials Dynamics Laboratory, RIKEN SPring-8 Center, 1-1-1 Kouto, Sayo, Hyogo 679-5148, Japan
*Correspondence e-mail: john.sutter@diamond.ac.uk

Edited by S. Boutet, SLAC National Accelerator Laboratory, Menlo Park, USA (Received 1 February 2022; accepted 2 June 2022; online 28 July 2022)

The design of X-ray optics based on diffraction from crystals depends on the accurate calculation of the structure factors of their Bragg reflections over a wide range of temperatures. In general, the temperature dependence of the lattice parameters, the atomic positions and the atomic thermal vibrations is both anisotropic and nonlinear. Implemented here is a software package for precise and flexible calculation of structure factors for dynamical diffraction. α-Quartz is used as an example because it presents the challenges mentioned above and because it is being considered for use in high-resolution X-ray spectroscopy. The package is designed to be extended easily to other crystals by adding new material files, which are kept separate from the package's stable core. Python 3 was chosen as the language to allow the easy integration of this code into existing packages. The importance of a correct anisotropic treatment of the atomic thermal vibrations is demonstrated by comparison with an isotropic Debye model. Discrepancies between the two models can be as much as 5% for strong reflections and considerably larger (even to the level of 100%) for weak reflections. A script for finding Bragg reflections that backscatter X-rays of a given energy within a given temperature range is demonstrated. The package and example scripts are available on request. Also discussed, in detail, are the various conventions related to the proper description of chiral quartz.

1. Introduction

For decades, materials scientists, chemists and biologists have obtained valuable and detailed information on the electronic structure and phonon spectra of numerous materials by applying different types of inelastic X-ray scattering, including resonant inelastic X-ray scattering (RIXS) (Schülke, 2007[Schülke, W. (2007). Electron Dynamics by Inelastic X-ray Scattering, Oxford Series on Synchrotron Radiation, Vol. 7. Oxford University Press.]; Ament et al., 2011[Ament, L. J. P., van Veenendaal, M., Devereaux, T., Hill, J. & van den Brink, J. (2011). Rev. Mod. Phys. 83, 705-767.]), X-ray nuclear resonant scattering (Gerdau & de Waard, 1999[Gerdau, E. & de Waard, H. (1999). Editors. Hyperfine Interact. 123/124.], 2000[Gerdau, E. & de Waard, H. (2000). Editors. Hyperfine Interact. 125.]) and millielectronvolt-resolution non-resonant inelastic X-ray scattering (Baron, 2016[Baron, A. Q. R. (2016). Synchrotron Light Sources and Free-Electron Lasers, edited by E. J. Jaeschke, S. Khan, J. R. Schneider & J. B. Hastings, pp. 1643-1757. Cham: Springer International Publishing.]). Different approaches have been used to make the optics for these experiments. For hard X-rays (>5 keV), optics typically employ Bragg reflections in perfect crystals, as these have sufficient energy resolution for inelastic measurements. However, the acceptance of Bragg reflections in flat perfect crystals is typically ∼1–100 µrad, which limits the solid angle of scattered radiation that can be collected from a sample. Thus, to improve rates, most inelastic scattering measurements employ figured optics to increase the analyser acceptance. For experiments with roughly electronvolt resolution, crystal wafers can be directly bent into the desired shape (often either cylindrical or spherical) while, for better resolution, some sort of dicing is done, with many perfect crystallites attached to a figured substrate – the dicing avoids degradation of the resolution due to the strain caused by bending. However, more recently, it has also become possible to use a combination of a collimating optic with a flat crystal (e.g. Shvyd'ko et al., 2014[Shvyd'ko, Y., Stoupin, S., Shu, D., Collins, S. P., Mundboth, K., Sutter, J. & Tolkiehn, M. (2014). Nat. Commun. 5, 4219.]), also called a `post-sample collimation' or `PSC' geometry (Baron, 2016[Baron, A. Q. R. (2016). Synchrotron Light Sources and Free-Electron Lasers, edited by E. J. Jaeschke, S. Khan, J. R. Schneider & J. B. Hastings, pp. 1643-1757. Cham: Springer International Publishing.]). This potentially offers advantages, especially for high resolution, as one can avoid the difficulty of figuring an optic without distorting it unacceptably.

It is useful to have access to different perfect crystal materials. While the various geometries, including figured analysers or post-sample collimation, improve the angular acceptance, the efficiency for a given energy resolution is improved if one can work near Bragg angles of 90°, that is `backscattering'. The crystal must then diffract from a set of atomic planes whose spacing d is half the wavelength used in the experiment, with a usually small range of tunability before losses or spectral broadening become an issue. Therefore, it is very convenient to have computational tools that deal easily with different, and potentially complex, crystal types. In particular, the high symmetry of the cubic diamond structure's space group [Fd {\overline 3}m], in which silicon, the most common material for X-ray optics, also crystallizes, results in a rather limited number of possible d spacings and thus a restricted choice among only a few energies. The high symmetry also increases the chance that unwanted Bragg reflections can be simultaneously excited near backscattering and interfere with the backscattering reflection (Sutter et al., 2001[Sutter, J. P., Alp, E. E., Hu, M. Y., Lee, P. L., Sinn, H., Sturhahn, W., Toellner, T. S., Bortel, G. & Colella, R. (2001). Phys. Rev. B, 63, 094111.]; Huang et al., 2014[Huang, X.-R., Jia, Q., Wieczorek, M. & Assoufid, L. (2014). J. Appl. Cryst. 47, 1716-1721.]). These parasitic reflections (also sometimes called `umweg' or `multibeam' conditions) can be very numerous: the 12 4 0 reflection, which reaches backscattering at 14 438 eV, close to the Mössbauer resonance of the 57Fe nucleus, has 22 of them. Germanium and diamond crystallize in the same space group and therefore suffer from the same weaknesses as silicon.

Materials with lower-symmetry structures are considered for use in X-ray spectrometers, as they offer a better chance of having a backscattering Bragg reflection close to a desired energy. These materials must be available in large highly perfect ingots so that variations in lattice-plane spacing do not broaden the energy resolution. They must be able to be cut, polished and etched, to bend elastically without fracture, and to withstand intense radiation. Yavaş et al. (2017[Yavaş, H., Sutter, J. P., Gog, T., Wille, H.-C. & Baron, A. Q. R. (2017). MRS Bull. 42, 424-429.]) have reviewed some options, which all form trigonal crystal structures: α-quartz (SiO2), lithium niobate (LiNbO3) and sapphire (Al2O3). Of these three, α-quartz offers the best crystal quality, as well as the best choice of Bragg reflections when an energy resolution below 60 meV for X-rays of 5–10 keV energy is desired. α-Quartz wafers and ingots grown synthetically by the hydrothermal process (Brice, 1985[Brice, J. C. (1985). Rev. Mod. Phys. 57, 105-146.]; Laudise, 1987[Laudise, R. A. (1987). Chem. Eng. News, 65, 30-43.]) are commercially available. Sutter et al. (2005[Sutter, J. P., Baron, A. Q. R., Ishikawa, T. & Yamazaki, H. (2005). J. Phys. Chem. Solids, 66, 2306-2309.], 2006[Sutter, J. P., Baron, A. Q. R., Miwa, D., Nishino, Y., Tamasaku, K. & Ishikawa, T. (2006). J. Synchrotron Rad. 13, 278-280.]) were the first to demonstrate their high quality, with 4 meV resolution attained over 11 cm2 at 10 keV (ΔE/E = 4 × 10−7), and Imai et al. (2007[Imai, Y., Yoda, Y., Zhang, X. W. & Kikuta, S. (2007). AIP Conf. Proc. 879, 930-932.]) quickly added further confirmation. Hönnicke et al. (2013[Hönnicke, M. G., Huang, X., Cusatis, C., Koditwuakku, C. N. & Cai, Y. Q. (2013). J. Appl. Cryst. 46, 939-944.]) have shown similar quality (Δd/d = 5 × 10−7) over an area of 79 × 32 mm. α-Quartz crystals can therefore be a useful addition to the X-ray optics developer's toolbox.

The development of both bent-crystal and flat-crystal X-ray spectrometers that use α-quartz crystals has been actively pursued during the past decade. Honnicke et al. (2016[Honnicke, M. G., Bianco, L. M., Ceppi, S. A., Cusatis, C., Huang, X., Cai, Y. Q. & Stutz, G. E. (2016). J. Appl. Cryst. 49, 1443-1453.]) have constructed a diced quartz spherical analyser and used it to examine the Ni Kα emission spectrum around 7.47 keV. Their analyser was curved to a radius of 1 m and had 360 crystal blocks of area 1.5 × 1.5 mm, yielding a total collection area of 810 mm2. Said et al. (2018[Said, A. H., Gog, T., Wieczorek, M., Huang, X., Casa, D., Kasman, E., Divan, R. & Kim, J. H. (2018). J. Synchrotron Rad. 25, 373-377.]) used a similar quartz analyser to perform RIXS on the 11.215 keV Ir L3 emission line with an energy resolution of 10.53 meV. Their analyser was bent to a 2 m radius and was made from a quartz wafer of 25 mm diameter, yielding a total area of 490 mm2. Kim et al. (2018[Kim, J., Casa, D., Said, A., Krakora, R., Kim, B. J., Kasman, E., Huang, X. & Gog, T. (2018). Sci. Rep. 8, 1958.]) improved the resolution at the Ir L3 emission line to an estimated 3.9 meV by using a flat α-quartz crystal analyser with post-sample collimation; Pereira et al. (2015[Pereira, N. R., Macrander, A. T., Hill, K. W., Baronova, E. O., George, K. M. & Kotick, J. (2015). Rev. Sci. Instrum. 86, 103704.]) spherically bent an α-quartz crystal of ∼0.1 mm thickness and 40 × 60 mm cross section down to a radius of 672 mm. We note that α-quartz is more susceptible than silicon to distortion under thermal loads (having both lower thermal conductivity and higher thermal expansion), as has been demonstrated for flat-crystal high-resolution monochromators (Gog et al., 2018[Gog, T., Casa, D. M., Knopp, J., Kim, J., Upton, M. H., Krakora, R., Jaski, A., Said, A., Yavaş, H., Gretarsson, H. & Huang, X. R. (2018). J. Synchrotron Rad. 25, 1030-1035.]), but the analyser crystals in X-ray spectrometers generally have small or negligible thermal loads. Moreover, the large thermal expansion of quartz makes it tunable in energy over wider ranges than silicon can reach for the same temperature change. Quartz is thus an important material for such optics.

The performance of an X-ray optic, particularly the bandpass and the efficiency, depends sensitively on the structure factor of the crystal's Bragg reflection. When using backscattering Bragg reflections, it is also necessary to take the temperature of the crystal into account, because the temperature changes the interplanar spacing d and hence the selected X-ray energy. Therefore, accurate calculation of the structure factor for a wide range of Bragg reflections, X-ray energies and crystal temperatures is necessary for the optimal design of an X-ray spectrometer. This task is more complex for α-quartz than for silicon because the positions of the atoms of α-quartz within the unit cell depend on temperature, unlike those of silicon, and because the thermal vibrations of the atoms in α-quartz are strongly anisotropic. Moreover, α-quartz has a chiral structure, being able to crystallize in either left-handed or right-handed forms that are mirror images of each other. The variety of methods used in the literature to describe the crystal structures of α-quartz has led to confusion that persists to this day (Huang et al., 2018[Huang, X.-R., Gog, T., Kim, J., Kasman, E., Said, A. H., Casa, D. M., Wieczorek, M., Hönnicke, M. G. & Assoufid, L. (2018). J. Appl. Cryst. 51, 140-147.]; Glazer, 2018[Glazer, A. M. (2018). J. Appl. Cryst. 51, 915-918.]). A practical algorithm for calculating the structure factors of α-quartz not only must be able to accommodate this diversity of conventions but also should serve as a template for the rapid calculation of large numbers of structure factors of Bragg reflections from even more complex crystals.

We have written a new software package designed to calculate the structure factors of Bragg reflections in α-quartz at temperatures from 20 to 838 K while giving each user the freedom to choose the description of the crystal structure. The language used is Python 3, which permits both stand-alone operation and easy integration into widely used software packages such as OASYS (Sánchez del Río & Rebuffi, 2019[Sánchez del Rio, M. & Rebuffi, L. (2019). AIP Conf. Proc. 2054, 060081.]) and SRW (Chubar & Elleaume, 1998[Chubar, O. & Elleaume, P. (1998). Proceedings of EPAC '98, Sixth European Particle Accelerator Conference, 22-26 June 1998, Stockholm, Sweden, edited by S. Myers, L. Liljeby, C. Petit-Jean-Genaz, J. Poole & K.-G. Rensfelt, pp. 1177-1179. Bristol: Institute of Physics.]). The software is constructed so that all information about the diffracting crystal is contained in a material file separate from the code that calculates the structure factor. Users may write a different material file for any convention of α-quartz they wish. They may also write separate material files for different models of the thermal vibration in α-quartz (e.g. anisotropic displacement ellipsoids versus Debye temperature). Two examples will demonstrate the strong effect of the temperature dependence of the atomic positions and thermal vibrations on the structure factors, particularly on those of weak reflections. Even for strong reflections, a full anisotropic treatment of the atomic Debye–Waller factors can yield structure factors with magnitudes differing by as much as 5% from those calculated with an isotropic Debye model. A script for finding Bragg reflections that reach backscattering at a given energy within a given range of temperatures while providing suitable efficiency and bandpass is also provided. This software package can be extended to the calculation of structure factors of any other crystal simply by writing an appropriate material file. As a result, this software package is named PyCSFex (pronounced `pixfex') for `Python crystal structure factor extensible'.

2. Crystal structure of α-quartz

α-Quartz, also called low quartz, is one of the many forms that SiO2 can assume under various temperatures and pressures (Frondel, 1962[Frondel, C. (1962). The System of Mineralogy, 7th ed., Vol. III. New York: John Wiley & Sons.]; Johnson & Foise, 1996[Johnson, G. & Foise, J. (1996). Encyclopedia of Applied Physics, edited by G. L. Trigg, Vol. 15, Power Electronics to Raman Scattering, pp. 365-375. New York: Wiley.]), and it is the only crystalline form that is thermodynamically stable at room temperature and atmospheric pressure (although glass and some other crystalline forms are metastable under these conditions). At atmospheric pressure, SiO2 exists stably as α-quartz up to 846 K, at which it undergoes a phase transition to (high) β-quartz. On the way from there up to its melting point of 1996 K, SiO2 passes through several other crystalline phases (Brice, 1985[Brice, J. C. (1985). Rev. Mod. Phys. 57, 105-146.]).

Disagreements in the description of the α-quartz crystal structure involve conflicting definitions of the crystal's handedness, the choice of using right-handed or left-handed coordinate axes to describe the atomic positions, two different ways of labelling the diffracting planes, and finally the choice of coordinate origin. Donnay & Le Page (1978[Donnay, J. D. H. & Le Page, Y. (1978). Acta Cryst. A34, 584-594.]) reviewed the various options and gave the atomic positions in each. Their review may help improve currently available software packages such as XOP (Sánchez del Río & Dejus, 2004[Sánchez del Río, M. & Dejus, R. J. (2004). Proc. SPIE, 5536, 171-174.], 2011[Sánchez del Río, M. & Dejus, R. J. (2011). Proc. SPIE, 8141, 814115.]) and the APS X-ray Server (Stepanov, 1997[Stepanov, S. (1997). X-ray Server, https://x-server.gmca.aps.anl.gov.]). Gross errors in the structure factor calculation can occur if the software's conventions are not the ones that its users have in mind, as will be seen below. In the following section, we will summarize the various conventions that have been used to describe the crystal structure of α-quartz. We will explain our preferences but, as we wish to be inclusive, we will also explain how those who prefer other conventions can convert ours into theirs with minimal effort.

Crystals of α-quartz form a trigonal Bravais lattice in either of two space groups, P3121 and P3221, that are mirror images (enantiomorphs) of each other. They are composed of SiO4 tetrahedra that are linked together at their corners and are slightly distorted so that one long type (1.6145 Å) and one short type (1.6101 Å) of Si—O bond are present (Nuttall & Weil, 1981[Nuttall, R. H. D. & Weil, J. A. (1981). Can. J. Phys. 59, 1696-1708.]). In this paper as in most others, a hexagonal unit cell with three SiO2 formula units is used. The lattice coordinate vectors a and b are of equal length a and form an angle of 120°, and the lattice coordinate vector c has length c and is perpendicular to both a and b. The c axis is a threefold (not sixfold) screw axis, which may be left-handed or right-handed according to the following definition:

(i) Wrap the fingers of the right hand around the c axis while extending the right thumb along the positive c direction.

(ii) Rotate the crystal structure by 120° in the direction in which the fingers of the right hand curl.

(iii) If a translation of the rotated crystal structure by c/3 brings the crystal structure back to its original state, the screw axis is right-handed.

(iv) If a translation of the rotated crystal structure by −c/3 brings the crystal structure back to its original state, the screw axis is left-handed.

We repeat this definition to resolve the confusion that can be caused by the existence of both a slightly distorted sixfold helix of Si atoms and an exact threefold helix of Si atoms that have opposite handedness (Glazer, 2018[Glazer, A. M. (2018). J. Appl. Cryst. 51, 915-918.]). Application of these rules to either of these helices will yield the same result for the handedness of the screw axis. Perpendicular to the screw axis, there are three symmetrically related twofold axes that are separated in angle by 120° and in height by c/3. One Si atom lies on each of these three axes. The three Si atoms and six O atoms of the hexagonal unit cell are at Wyckoff positions (a) and (c), respectively.

Part of the confusion in the literature is that different communities define a chiral crystal's handedness in ways that for α-quartz (though not for all chiral crystals) are directly opposite.1 In this paper, we will therefore avoid the use of the terms `left-handed quartz' and `right-handed quartz,' which though simple are ambiguous. Instead, we will use the Latin terms `dextro' and `laevo,' which are common in the literature and are defined as follows (Donnay & Le Page, 1978[Donnay, J. D. H. & Le Page, Y. (1978). Acta Cryst. A34, 584-594.]):

Dextro: rotates the plane of polarization clockwise as seen by an observer looking upstream. The screw axis c is left handed. The space group as given by International Tables for Crystallography (2016[International Tables for Crystallography (2016). Vol. A, Space-Group Symmetry, 2nd online ed., edited by M. I. Aroyo. Chester: International Union of Crystallography.]) is No. 154, P3221.

Laevo: rotates the plane of polarization counterclockwise as seen by an observer looking upstream. The screw axis c is right handed. The space group as given by International Tables for Crystallography (2016[International Tables for Crystallography (2016). Vol. A, Space-Group Symmetry, 2nd online ed., edited by M. I. Aroyo. Chester: International Union of Crystallography.]) is No. 152, P3121.

The best choice of handedness for the coordinate axes has also been much discussed over the years. Donnay & Le Page (1978[Donnay, J. D. H. & Le Page, Y. (1978). Acta Cryst. A34, 584-594.]) cited numerous studies predating 1930 in which a left-handed coordinate system was used, but they stated that since then the right-handed coordinate system had become more common. However, they did support the idea of matching the handedness of the coordinates to that of the screw: that is, using a left-handed coordinate system for dextro quartz and a right-handed coordinate system for laevo quartz. α-Quartz crystals often appear in nature as mirror-imaged (Brazil) twins, and this proposal would permit consistent Miller indexing across both members of such a twin. This proposal would also allow the atomic positions in both dextro quartz and laevo quartz to be assigned the same set of values. According to Glazer (2018[Glazer, A. M. (2018). J. Appl. Cryst. 51, 915-918.]), crystal growers have in fact adopted this idea, but in the opposite sense, using a right-handed coordinate system for dextro quartz and a left-handed coordinate system for laevo quartz. However, Glazer himself uses a right-handed coordinate system for both dextro and laevo quartz, and we ourselves are accustomed to using right-handed coordinate systems in our daily work; therefore, we have chosen to use right-handed coordinate systems regardless of the quartz crystal's handedness.

Even after these choices have been made, the directions of the lattice vectors a and b remain to be determined. From the beginning, these axes have been chosen to be parallel to two of the three symmetrically equivalent twofold axes on which the Si atoms are located, but this still does not specify which way the positive a axis points. A crystal of α-quartz forms three main types of flat faces with distinctly different appearances, defined below. We will use the four-index Miller–Bravais indices (hkil), where i = −(h + k), to describe each set of atomic planes in the conventional hexagonal coordinate system. The third index is of course redundant but brings out the crystal symmetries more clearly.

(i) r faces: `major rhombohedra', large and often shiny.

(ii) z faces: `minor rhombohedra', smaller and duller than r faces.

(iii) m faces: `prismatic', Miller–Bravais indices [\{ 10\overline 10 \}] and [\{ 01\overline 10 \}].

Two settings exist for the assignment of Miller–Bravais indices to the atomic planes:

(i) r (obverse) setting: r faces are [\{ 10\overline 11 \}] and z faces are [\{ 01\overline 11 \}]. According to Glazer (2018[Glazer, A. M. (2018). J. Appl. Cryst. 51, 915-918.]), the [10\overline 11] reflection is stronger than the [10\overline 1\overline 1] reflection, and the [30\overline 31] reflection is much stronger than the [30 \overline {31}] reflection.

(ii) z (reverse) setting: r faces are [\{ 01\overline 11 \}] and z faces are [\{ 10\overline 11 \}]. The [10\overline 11] reflection is weaker than the [10\overline 1\overline 1] reflection, and the [30\overline 31] reflection is much weaker than the [30\overline {31}] reflection.

The two settings differ by a rotation of the a and b axes by 180° about the c axis.

Though Glazer (2018[Glazer, A. M. (2018). J. Appl. Cryst. 51, 915-918.]) views the obverse setting as the standard, and Donnay & Le Page (1978[Donnay, J. D. H. & Le Page, Y. (1978). Acta Cryst. A34, 584-594.]) cited several previous authors who used it, the reverse setting is widely used in the literature. Therefore, we have chosen the reverse setting for our program code. Fortunately, material files written for the reverse setting can be easily switched to the obverse setting, as will be shown below.

With a right-handed coordinate system and the reverse setting, laevo quartz is described by the z(−) setting and dextro quartz by the z(+) setting of Donnay & Le Page (1978[Donnay, J. D. H. & Le Page, Y. (1978). Acta Cryst. A34, 584-594.]). The plus and minus signs are those of the charge that develops on the positive end of the a axis when the crystal is stretched along that axis.

Finally, the literature contains multiple choices of the origin of the coordinate system, which can be classified by the height of the twofold axis that is parallel to the coordinate vector a. Many authors, including Donnay & Le Page (1978[Donnay, J. D. H. & Le Page, Y. (1978). Acta Cryst. A34, 584-594.]) and Glazer (2018[Glazer, A. M. (2018). J. Appl. Cryst. 51, 915-918.]), place the origin so that this height is zero; thus, the first Si atom is located at coordinates (u, 0, 0) in both dextro and laevo quartz. However, International Tables for Crystallography (2016[International Tables for Crystallography (2016). Vol. A, Space-Group Symmetry, 2nd online ed., edited by M. I. Aroyo. Chester: International Union of Crystallography.]) sets this Si atom at [(u,0,{2 \over 3})] in dextro quartz and [(u,0,{1 \over 3})] in laevo quartz. This is also the convention followed by Parthé & Gelato (1984[Parthé, E. & Gelato, L. M. (1984). Acta Cryst. A40, 169-183.]) in their standardized notation. The decisive factor here is that, as pointed out by Glazer (2018[Glazer, A. M. (2018). J. Appl. Cryst. 51, 915-918.]), dextro α-quartz of space group P3221 changes above the transition temperature of 846 K into left-screw β-quartz of space group P6222. This is No. 180 in International Tables for Crystallography (2016[International Tables for Crystallography (2016). Vol. A, Space-Group Symmetry, 2nd online ed., edited by M. I. Aroyo. Chester: International Union of Crystallography.]), in which the Si atoms are at Wyckoff position (c) and the first Si atom is at [({1 \over 2},0,0)]. Likewise, laevo α-quartz of space group P3121 changes above the transition temperature into right-screw β-quartz of space group P6422. This is No. 181 in International Tables for Crystallography (2016[International Tables for Crystallography (2016). Vol. A, Space-Group Symmetry, 2nd online ed., edited by M. I. Aroyo. Chester: International Union of Crystallography.]), where again the first Si atom is at [({1 \over 2},0,0)]. We follow Glazer (2018[Glazer, A. M. (2018). J. Appl. Cryst. 51, 915-918.]) in using the convention of Donnay & Le Page (1978[Donnay, J. D. H. & Le Page, Y. (1978). Acta Cryst. A34, 584-594.]) in order to maintain the continuity of the atomic positions across the transition from α-quartz to β-quartz.

Having now passed through the controversies surrounding the α-quartz structure, we conclude this section with a few uncontroversial statements. First, the interplanar spacing d of a set of planes with Miller–Bravais indices (hkil) in a hexagonal coordinate system is

[d = {1 \over {\left [ (4 / 3a^2) (h^2 + k^2 + hk) + (l^2 / c^2) \right ]^{1/2} }} . \eqno(1)]

Second, we consider sets of symmetrically equivalent planes. In silicon and germanium, the large number of symmetry operations permits the Miller indices to be permuted arbitrarily and changed individually in sign without altering the diffraction properties. A set of symmetrically equivalent planes {hkl} in these cubic materials therefore contains 48 planes (unless two or more of the Miller indices are equal). In α-quartz, on the other hand, a general set of symmetrically equivalent planes {hkil} contains at most only six planes, as pointed out by Huang et al. (2018[Huang, X.-R., Gog, T., Kim, J., Kasman, E., Said, A. H., Casa, D. M., Wieczorek, M., Hönnicke, M. G. & Assoufid, L. (2018). J. Appl. Cryst. 51, 140-147.]). These are listed in Table 1[link].

Table 1
Members of the set of symmetrically equivalent planes {hkil} in a hexagonal coordinate system

Miller–Bravais indices Generated by symmetry operation
(hkil) Identity
(ihkl) 120° right-handed rotation about c
(kihl) 240° right-handed rotation about c
[(hik\overline l)] 180° rotation about a
[(ikh\overline l)] 120° right-handed rotation about c, then 180° rotation about a
[(khi\overline l)] 240° right-handed rotation about c, then 180° rotation about a

Note that planes with the same spacing d need not always be symmetrically equivalent in α-quartz and therefore need not have the same structure factor. For example, {hkil} is not equivalent to {khil} if hk, and (hkil) is not equivalent to [(\overline {h k i l})] if h, k ≠ 0. The latter leads to violations of Friedel's law in cases where the form factors of the atoms have large imaginary parts due to anomalous dispersion. Huang et al. (2018[Huang, X.-R., Gog, T., Kim, J., Kasman, E., Said, A. H., Casa, D. M., Wieczorek, M., Hönnicke, M. G. & Assoufid, L. (2018). J. Appl. Cryst. 51, 140-147.]) listed many such cases in their supplementary information.

Finally, because of the low symmetry of the trigonal crystal, very few planes of α-quartz yield forbidden reflections. In International Tables for Crystallography (2016[International Tables for Crystallography (2016). Vol. A, Space-Group Symmetry, 2nd online ed., edited by M. I. Aroyo. Chester: International Union of Crystallography.]), it is shown that the only forbidden reflections are 000l if l ≠ 3n, where n is a non-zero integer.

3. Thermal treatment and Debye–Waller factors of α-quartz

For silicon and germanium, the amplitude of the thermal vibrations of the atoms is usually calculated under the assumption of an isotropic Debye model with Debye temperatures of 543 and 290 K, respectively (Batterman & Chipman, 1962[Batterman, B. W. & Chipman, D. R. (1962). Phys. Rev. 127, 690-693.]). A similar model has been tried for α-quartz, but different sources give widely different values for the Debye temperature. Gray (1957[Gray, D. E. (1957). American Institute of Physics Handbook. New York: McGraw-Hill.]) quotes a value of 470 K. Berreman & Chang (1959[Berreman, D. W. & Chang, T. (1959). J. Appl. Phys. 30, 963-966.]) obtained similar values that were dependent on direction: 508 ± 16 K along the c axis and 452 ± 15 K perpendicular to the c axis. On the other hand, using the measurements of Le Page et al. (1980[Le Page, Y., Calvert, L. D. & Gabe, E. J. (1980). J. Phys. Chem. Solids, 41, 721-725.]), Huang et al. (2018[Huang, X.-R., Gog, T., Kim, J., Kasman, E., Said, A. H., Casa, D. M., Wieczorek, M., Hönnicke, M. G. & Assoufid, L. (2018). J. Appl. Cryst. 51, 140-147.]) calculated entirely different Debye temperatures of 790.03 K for the Si atoms and 749.31 K for the O atoms. A close look at the original measurements, however, shows that the thermal vibrations are in fact strongly anisotropic. They also show that the Debye model provides a poor fit to the measured mean-square atomic displacements, even when different Debye temperatures are permitted for vibrations along different directions.

The strong anisotropy of the thermal vibrations of the atoms in α-quartz cannot be ignored if the Debye–Waller factors of the Bragg reflections are to be correctly calculated. One must use the full displacement ellipsoids for this purpose. Downs (2000[Downs, R. T. (2000). Rev. Mineral. Geochem. 41, 61-88.]) has provided a helpful review of this topic. The dimensions and orientation of the displacement ellipsoid of an atom are given in terms of the ellipsoid's symmetric 3 × 3 matrix β such that the atom's Debye–Waller factor D for a Bragg reflection hkl is given by

[\eqalignno{ & D = \cr & \exp { \left [ - \left ( \beta _{11} h^2 + \beta _{22} k^2 + \beta _{33} l^2 + 2\beta _{12} hk + 2\beta _{13} hl + 2 \beta _{23} kl \right ) \right ] } \cr &&(2)}]

and the mean-square displacement [\langle u_{\bf v}^2 \rangle] of the atom along some specified vector v = v1a + v2b + v3c in real space is given by

[\langle u_{\bf v}^2 \rangle = {{ {\bf v}^{\rm t} G \beta G {\bf v}} \over {2 \pi ^2 {\bf v}^{\rm t} G {\bf v}}} . \eqno(3)]

The superscript t denotes the transpose and G is the metric matrix, which is also symmetric:

[G = \left [ \matrix{ {\bf a} \cdot {\bf a} & {\bf a} \cdot {\bf b} & {\bf a} \cdot {\bf c} \cr {\bf b} \cdot {\bf a} & {\bf b} \cdot {\bf b} & {\bf b} \cdot {\bf c} \cr {\bf c} \cdot {\bf a} & {\bf c} \cdot {\bf b} & {\bf c} \cdot {\bf c} \cr } \right ] . \eqno(4)]

If the atomic thermal motion is isotropic, [\langle u_{\bf v}^2 \rangle] is the same for all real-space vectors v. This is fulfilled if β = σG−1, for which [\langle u_{\bf v}^2 \rangle = \sigma /2\pi ^2].

4. Definitions and values

In Tables 2, 3, 6 and 7, values at 298 K are provided from Kihara (1990[Kihara, K. (1990). Eur. J. Mineral. 2, 63-77.]) as examples. These measurements were made on natural clear α-quartz samples. The lattice parameters of other natural and synthetic α-quartz crystals in the literature fall either within or very nearly within the experimental error of Kihara's measurements (Brice, 1985[Brice, J. C. (1985). Rev. Mod. Phys. 57, 105-146.]; Kihara, 1990[Kihara, K. (1990). Eur. J. Mineral. 2, 63-77.]). This good agreement gives confidence that the data presented here are generally applicable. The lattice coordinate system is right-handed and hexagonal. Table 2[link] shows the lattice parameters and Table 3[link] shows the atomic positions in the lattice coordinate system. The prototype Si atom is located at coordinates (u, 0, 0) and the prototype O atom is located at coordinates (x, y, z).

Table 2
Lattice parameters of α-quartz

Symbol Meaning Value at 298 K
a Length of lattice vectors a and b 4.9137 Å
c Length of lattice vector c 5.4047 Å

Table 3
Atomic positions in α-quartz

D = dextro, z(+) setting. L = laevo, z(−) setting. The laevo values are equal to one minus the dextro values.

Symbol Meaning Value at 298 K (D) Value at 298 K (L)
u a coordinate of prototype Si atom 0.4697 0.5303
x a coordinate of prototype O atom 0.4133 0.5867
y b coordinate of prototype O atom 0.2672 0.7328
z c coordinate of prototype O atom 0.1188 0.8812

The lattice coordinates of the other Si and O atoms can be generated from those of the prototype atoms by the application of the following symmetry operations:

Dextro: `left screw about c'. This is a right-handed 120° rotation about c followed by a translation of −c/3. It transforms a point (x, y, z) into another point (x′, y′, z′) given by

[\left [ \matrix{ x' \cr y' \cr z'} \right ] \!=\! \left [ \matrix{ 0 & -1 & 0 \cr 1 & -1 & 0 \cr 0 & 0 & 1 } \right ] \, \left [ \matrix{ x \cr y \cr z } \right ]\! -\! \left [ \matrix{ 0 \cr 0 \cr 1/3 } \right ] = M_{3c} \left [ \matrix{ x \cr y \cr z } \right ] \!-\! \left [ \matrix{ 0 \cr 0 \cr 1/3 } \right ] . \eqno (5)]

Laevo: `right screw about c'. This is a right-handed 120° rotation about c followed by a translation of c/3. It transforms a point (x, y, z) into another point (x′, y′, z′) given by

[\left [ \matrix{ x' \cr y' \cr z' } \right ] \!=\! \left [ \matrix{ 0 & -1 & 0 \cr 1 & -1 & 0 \cr 0 & 0 & 1 } \right ] \, \left [ \matrix{ x \cr y \cr z } \right ] \!+\! \left [ \matrix{ 0 \cr 0 \cr 1/3 } \right ] = M_{3c} \left [ \matrix{ x \cr y \cr z } \right ] \!+\! \left [ \matrix{ 0 \cr 0 \cr 1/3 } \right ] . \eqno(6)]

Dextro and laevo: `180° rotation about a'. This transforms a point (x, y, z) into another point (x′, y′, z′) given by

[\left [ \matrix{ x' \cr y' \cr z' } \right ] = \left [ \matrix{ 1 & -1 & 0 \cr 0 & -1 & 0 \cr 0 & 0 & -1 } \right ] \, \left [ \matrix{ x \cr y \cr z } \right ] = M_{2a} \left [ \matrix{ x \cr y \cr z } \right ] . \eqno(7)]

For dextro α-quartz in the z(+) setting, the atomic positions and the sequence of symmetry operations by which each atom's coordinates are generated from those of the prototypes Si1 and O1 are shown in Table 4[link], while Table 5[link] shows the same information for laevo α-quartz in the z(−) setting. In both tables, the rotation matrix S, which is the product of all rotation matrices required to obtain each atom's coordinates from those of its prototype, is provided for the treatment of the displacement ellipsoids and hence the Debye–Waller factor.

Table 4
Full list of atomic positions for dextro α-quartz in the z(+) setting

Si1 and O1 are, respectively, the prototype Si and O atoms. u, x, y and z are given the dextro values in Table 3[link].

Atom Atomic positions Symmetry operations Rotation matrix S
Si1 (u, 0, 0) Identity I
Si2 (0, u, 2/3) Si1: 1 × left screw about c M3c
Si3 (−u, −u, 1/3) Si1: 2 × left screw about c M3c2
O1 (x, y, z) Identity I
O2 (−y, xy, z + 2/3) O1: 1 × left screw about c M3c
O3 (yx, −x, z + 1/3) O1: 2 × left screw about c M3c2
O4 (xy, −y, −z) O1: 180° rotation about a M2a
O5 (−x, yx, −z + 1/3) O2: 180° rotation about a M2aM3c
O6 (y, x, −z + 2/3) O3: 180° rotation about a M2a M3c2

Table 5
Full list of atomic positions for laevo α-quartz in the z(−) setting

Si1 and O1 are, respectively, the prototype Si and O atoms. u, x, y and z are given the laevo values in Table 3[link].

Atom Atomic positions Symmetry operations Rotation matrix S
Si1 (u, 0, 0) Identity I
Si2 (0, u, 1/3) Si1: 1 × right screw about c M3c
Si3 (−u, −u, 2/3) Si1: 2 × right screw about c M3c2
O1 (x, y, z) Identity I
O2 (−y, xy, z + 1/3) O1: 1 × right screw about c M3c
O3 (yx, −x, z + 2/3) O1: 2 × right screw about c M3c2
O4 (xy, −y, −z) O1: 180° rotation about a M2a
O5 (−x, yx, −z + 2/3) O2: 180° rotation about a M2aM3c
O6 (y, x, −z + 1/3) O3: 180° rotation about a M2a M3c2

The elements of the β matrices of the displacement ellipsoids of the prototype Si atom and the prototype O atom are shown in Tables 6[link] and 7[link], respectively. Because each Si atom is located on a twofold axis, only β11, β22, β33 and β23 are shown for the silicon prototype. The twofold symmetry imposes the relations β12 = β22/2 and β13 = β23/2. The elements of the β matrix of the prototype O atom are all independent except that this matrix is symmetric. These values are the same for both dextro α-quartz in the z(+) setting and laevo α-quartz in the z(−) setting.

Table 6
Elements of the β matrix of the displacement ellipsoid of the prototype Si atom and their values at 298 K as provided by Kihara (1990[Kihara, K. (1990). Eur. J. Mineral. 2, 63-77.]) for dextro α-quartz in the z(+) setting; also valid for laevo α-quartz in the z(−) setting

β11 80 × 10−4
β22 61 × 10−4
β33 45 × 10−4
β23 −3 × 10−4

Table 7
Elements of the β matrix of the displacement ellipsoid of the prototype O atom and their values at 298 K as provided by Kihara (1990[Kihara, K. (1990). Eur. J. Mineral. 2, 63-77.]) for dextro α-quartz in the z(+) setting; also valid for laevo α-quartz in the z(−) setting

β11 179 × 10−4
β22 130 × 10−4
β33 85 × 10−4
β12 102 × 10−4
β13 −26 × 10−4
β23 −41 × 10−4

To calculate the displacement ellipsoid matrix β′ of another atom from the displacement ellipsoid matrix of its prototype, one uses the equation

[\beta \,' = S \beta S^{\rm t} , \eqno(8)]

where the value of the rotation matrix S for each atom is given in Table 4[link] for dextro α-quartz and Table 5[link] for laevo α-quartz.

5. Conversions between obverse and reverse settings

If a right-handed lattice coordinate system is used, dextro α-quartz can be described in either the reverse z(+) setting or the obverse r(−) setting of Donnay & Le Page (1978[Donnay, J. D. H. & Le Page, Y. (1978). Acta Cryst. A34, 584-594.]). Similarly, laevo α-quartz can be described in either the reverse z(−) setting or the obverse r(+) setting. The switch between reverse and obverse settings is carried out by a 180° rotation of the lattice vectors a and b about the axis c. The parameters listed above must then be converted as in Table 8[link].

Table 8
Conversion table from the reverse setting to the obverse setting

For dextro α-quartz, this converts from the z(+) to the r(−) setting. For laevo α-quartz, this converts from the z(−) to the r(+) setting. The displacement ellipsoid matrix βij is converted in the same way for both the Si atoms and the O atoms.

(hkil)obverse = [({\overline {h k i}} l)_{\rm reverse}]
uobverse = ureverse
xobverse = xreverse
yobverse = yreverse
zobverse = zreverse
(β11)obverse = (β11)reverse
(β22)obverse = (β22)reverse
(β33)obverse = (β33)reverse
(β12)obverse = (β12)reverse
(β13)obverse = (−β13)reverse
(β23)obverse = (−β23)reverse

The importance of sticking to one particular setting when running design calculations for an α-quartz backscattering analyser should be clear from this discussion, since (hkil)obverse is not equivalent to [(\overline {h k i}l)_{\rm obverse}], nor is (hkil)reverse equivalent to [(\overline {h k i}l)_{\rm reverse}], even though these reflecting planes have the same spacing d.

As long as one is consistent in the choice of setting, the structure factor of a reflection hkil from dextro α-quartz is equal to the structure factor of the reflection [\overline {h k i l}] from laevo α-quartz:

[F (hkil)_{{\rm laevo}/z(-)} = F (\overline {h k i l})_{{\rm dextro}/z(+)} , \eqno(9a)]

[F (hkil)_{{\rm laevo}/r(+)} = F (\overline {h k i l})_{{\rm dextro}/r(-)} . \eqno(9b)]

6. Temperature dependence of the α-quartz structure

X-ray crystallographic data showing the temperature dependence of the lattice parameters, atomic positions and displacement ellipsoids of α-quartz are scattered across many papers. Table 9[link] shows the references selected for this article.

Table 9
Selected references for the temperature dependence of the α-quartz structure

Lattice parameters a and c, 5–298 K Integrated from thermal expansion coefficients of Barron et al. (1982[Barron, T. H. K., Collins, J. F., Smith, T. W. & White, G. K. (1982). J. Phys. C Solid State Phys. 15, 4311-4326.]), Table 1
Lattice parameters a and c, 298–838 K Kihara (1990[Kihara, K. (1990). Eur. J. Mineral. 2, 63-77.]), Table 1
Atomic positions and displacement ellipsoids, 94–298 K Le Page et al. (1980[Le Page, Y., Calvert, L. D. & Gabe, E. J. (1980). J. Phys. Chem. Solids, 41, 721-725.]), Table 1
Atomic positions and displacement ellipsoids, 298–838 K Kihara (1990[Kihara, K. (1990). Eur. J. Mineral. 2, 63-77.]), Table 3
Lattice parameters, atomic positions and displacement ellipsoids at 13, 78 and 296 K Lager et al. (1982[Lager, G. A., Jorgensen, J. D. & Rotella, F. J. (1982). J. Appl. Phys. 53, 6751-6756.]), Table I

Errors are not clearly given in the data of Barron et al. (1982[Barron, T. H. K., Collins, J. F., Smith, T. W. & White, G. K. (1982). J. Phys. C Solid State Phys. 15, 4311-4326.]) but have been estimated here as ±0.0005 Å, since the errors given by Kihara (1990[Kihara, K. (1990). Eur. J. Mineral. 2, 63-77.]) for high-temperature lattice parameters are at least this large.

All these experimentally measured temperature dependencies show a common pattern over the temperature range from 13 to 838 K:

(i) A low-temperature region of very small variation with temperature.

(ii) A mid-temperature region of approximately linear variation with temperature.

(iii) A high-temperature region in which the rate of variation with temperature increases rapidly up to the α-quartz → β-quartz transition.

It is desirable to fit the data in all these regions to a single function so that the lattice parameters, atomic positions and displacement ellipsoids can be accurately interpolated from the published data points to any required temperature. However, polynomials of fourth order or below, although they can provide good fits within limited temperature ranges, fail to fit the data well over the full range. Polynomials of fifth order or higher have unphysical oscillations between the data points. An exponential–logarithmic fit function, inspired by the idea of critical exponents, ultimately provided much better fits to the full range of measured data:

[f (T) = f_0 + P \exp { \left ( {{-Q} \over { \left \{ \ln {\left [ {{T_{\rm c}} / ({T_{\rm c} - T}}) \right ]} \right \}^n }} \right ) } ,\eqno(10)]

where T is the absolute temperature in kelvin and Tc = 846 K is the transition temperature from α-quartz to β-quartz. f(T) is the quantity to be fitted (lattice parameters a and c, Si atomic position u, O atomic position x, y, z, displacement ellipsoid β matrix components). The free parameters are f0, P, Q and n. The conditions Q > 0 and n > 0 are imposed. Note that the limits of this function are finite:

[\lim \limits_{T \to 0^+} f (T) = f_0 , \eqno (11a)]

[\lim \limits_{T \to T_{\rm c}^-} f (T ) = f_0 + P . \eqno(11b)]

Although this fitting function requires the use of a nonlinear curve-fitting algorithm to determine the optimal parameters, the least-squares Levenberg–Marquardt algorithm (Levenberg, 1944[Levenberg, K. (1944). Q. Appl. Math. 2, 164-168.]; Marquardt, 1963[Marquardt, D. W. (1963). J. Soc. Ind. Appl. Math. 11, 431-441.]) brings it to a rapid convergence with the measured data. The calculation of the best-fit free parameters was performed using the commercially available software program OriginPro (OriginLab, 2017[OriginLab (2017). OriginPro. OriginLab Corporation, One Roundhouse Plaza, Northampton, Massachusetts, USA. https://www.originlab.com.]).

The O-atom position x varies too little for a good fit to be made on it alone. More stable fits are achieved by fitting the dependence of the atomic position of the O atom with temperature to a line as follows. The values of x, y, z are converted to Cartesian coordinates using Kihara's values a = 4.9137 Å and c = 5.4047 Å at 298 K. The best-fit line to the measured positions of the O atom passes through their centroid C. The unit direction vector [\hat {\bf V}] of the best-fit line to the measured positions is determined using standard linear algebra. The equation of the line which gives the best-fit value r(T) of the O atom's position in Cartesian coordinates is therefore

[r (T) = {\bf C} + t (T) {\hat {\bf V}} . \eqno(12)]

The length t(T) from the centroid to the point on the best-fit line that is nearest to the O atom's position at temperature T is calculated. The values of t(T) are fitted using equation (10)[link] to generate an interpolating function that can be evaluated at any temperature within the chosen range. The resulting Cartesian coordinates of the O atom at any temperature are then converted back into the hexagonal coordinates of the α-quartz unit cell. It will be shown that this procedure yields good fits to the experimental values of x, y and z.

The optimal values of the fitting parameters for the lattice parameters, atomic positions and displacement ellipsoids are shown in Table 10[link] for dextro α-quartz in the z(+) setting. For laevo α-quartz in the z(−) setting, it is only necessary to change the signs of u for the Si atoms and of x, y and z for the O atoms. As mentioned before, a right-handed hexagonal lattice coordinate system is being used for both dextro and laevo α-quartz.

Table 10
Optimal values of the fitting parameters for the lattice parameters, the prototype atomic positions and the prototype displacement ellipsoids of dextro α-quartz in the z(+) setting over the temperature range 13–838 K

The fits were made to the measured data reported in the publications listed in Table 9[link].

Value f0 P Q n
a 4.90137 Å 0.19290 Å 1.80380 0.49873
c 5.39806 Å 0.10774 Å 1.72837 0.56369
Si u 0.46796 0.14030 3.34189 0.30790
O t −0.05454 2.09511 3.50034 0.28351
Si 104 × β11 33.80581 316.85367 1.15728 0.63590
Si 104 × β22 35.46433 234.81469 1.24881 0.70758
Si 104 × β33 16.72506 166.37647 1.07478 0.61059
Si 104 × β23 −1.98183 22.36979 3.52304 0.65136
O 104 × β11 80.23419 619.20673 1.00988 0.71444
O 104 × β22 55.09116 910.22226 1.66614 0.50506
O 104 × β33 29.84124 650.47191 1.75296 0.45406
O 104 × β12 43.81216 409.36732 1.13880 0.65112
O 104 × β13 −5.35134 −52.36748 0.43392 0.84086
O 104 × β23 −11.15409 −718.15015 2.39901 0.33189

Note that the zero-temperature values obtained from the best fit to the measured lattice parameters agree well with those estimated by Barron et al. (1982[Barron, T. H. K., Collins, J. F., Smith, T. W. & White, G. K. (1982). J. Phys. C Solid State Phys. 15, 4311-4326.]): a0 = 4.9006 ± 0.0005 Å and c0 = 5.3979 ± 0.0005 Å. The values measured for the lattice parameters by Lager et al. (1982[Lager, G. A., Jorgensen, J. D. & Rotella, F. J. (1982). J. Appl. Phys. 53, 6751-6756.]) have been compared with those determined from the best fit. Their relative deviations from the best fit are ≤2.1 × 10−4 for a and ≤3.1 × 10−4 for c.

The best-fit line along which the prototype O atom moves as the temperature varies is

[\eqalignno{(x, y, z) = & \, (0.414147, \, 0.263209, \, 0.122435) \cr & + t(T) \, (0.023053, -0.143842, \, 0.118118) , &(13)}]

where the best-fit parameters for t(T) are provided in Table 10[link].

The temperature fits over 13–838 K of the measured data cited in Table 9[link] to equation (10)[link] using the optimal free parameter values in Table 10[link] are shown in Fig. 1[link] (lattice parameters a and c), Fig. 2[link] (atomic positions), Fig. 3[link] (Si displacement ellipsoid) and Fig. 4[link] (O displacement ellipsoid). The deviation of the best-fit function from the measured data lies within twice the estimated errors provided by the references and is usually much less.

[Figure 1]
Figure 1
Temperature fits of the lattice parameters (a) a and (b) c of α-quartz over the temperature range 13–838 K.
[Figure 2]
Figure 2
Temperature fits over 13–838 K of the prototype atomic positions (a) Si u and (b) O x, (c) O y and (d) O z of dextro α-quartz in the z(+) setting. For laevo α-quartz in the z(−) setting, switch the signs of all these values. See Table 8[link] for conversion to the obverse settings r(−) for dextro α-quartz and r(+) for laevo α-quartz.
[Figure 3]
Figure 3
Temperature fits over 13–838 K of the independent displacement ellipsoid matrix elements of the prototype Si atom. They are the same for dextro α-quartz in the z(+) setting and for laevo α-quartz in the z(−) setting. Because of the twofold site symmetry, β12 = β22/2 and β13 = β23/2. To convert to the obverse r settings, switch the signs of β13 and β23 as shown in Table 8[link].
[Figure 4]
Figure 4
Temperature fits over 13–838 K of the displacement ellipsoid matrix elements of the prototype O atom. They are the same for dextro α-quartz in the z(+) setting and for laevo α-quartz in the z(−) setting. To convert to the obverse r settings, switch the sign of β13 and β23 as shown in Table 8[link].

7. Atomic form factors

The non-anomalous X-ray scattering factors f0 of the Si and O atoms were calculated as a function of s = sinθ/λ, where θ is the Bragg angle and λ is the X-ray wavelength, from the five-Gaussian neutral atom fits of Waasmaier & Kirfel (1995[Waasmaier, D. & Kirfel, A. (1995). Acta Cryst. A51, 416-431.]):2

[f_0 = C + \textstyle\sum \limits_{i=1}^5 A_i \exp { \left ( - B_i s^2 \right )} . \eqno(14)]

Ai, Bi and C are the fitting parameters, and s is in units of Å−1. This fitting function was chosen for high accuracy at large values of s up to 6.0 Å−1, which are especially important when backscattering Bragg reflections are being considered. Fig. 5[link] shows the values of f0 for Si and O.

[Figure 5]
Figure 5
Values of the non-anomalous atomic scattering factor f0 of Si and O as calculated from the fits of Waasmaier & Kirfel (1995[Waasmaier, D. & Kirfel, A. (1995). Acta Cryst. A51, 416-431.]).

The values for anomalous dispersion were calculated using the abs program of Brennan & Cowan (1992[Brennan, S. & Cowan, P. L. (1992). Rev. Sci. Instrum. 63, 850-853.]), which was originally written in Fortran77 but is now available in a public-domain Python 3 version that was provided by Brennan and is included with our software package. The method published by Cromer & Liberman (1981[Cromer, D. T. & Liberman, D. A. (1981). Acta Cryst. A37, 267-268.]) was used to determine the real part f′ and the imaginary part f′′, which is related to the photoelectric absorption cross section. The abs program was also used to determine the contribution to the imaginary part of the scattering factor that arises from Rayleigh and Compton scattering (McMaster et al., 1969[McMaster, W. H., Del Grande, N. K., Mallett, J. H. & Hubbell, J. H. (1969). Compilation of X-ray Cross Sections. Technical Report UCRL-50174, Sec. 2, Rev. 1. Lawrence Radiation Laboratory, University of California, Livermore, California, USA.]). These are labelled here as fR and fC, respectively. Note that the Compton scattering may not be negligible when X-ray diffraction from light atoms is treated, as is the case in α-quartz. The total atomic scattering factor f is therefore

[f = \left ( f_0 + f' \right ) + i \left ( f'' + f_{\rm R} + f_{\rm C} \right ) . \eqno(15)]

Note that the calculated anomalous dispersion will not be correct near an absorption edge and that the effects of crystal structure on absorption are neglected. This is not a serious problem for α-quartz or sapphire because the absorption edges of silicon, aluminium and oxygen are all far below the energies at which backscattering crystal spectrometers would normally be used. However, for other potentially useful crystals like lithium niobate that contain atoms of higher atomic number, more care might need to be taken if the selected X-ray energy is near an absorption edge of one of the atoms.

8. Calculation of the structure factor

In the following, we take the convention that the phase term of a plane wave is exp(−2πik·r), where k is the wavevector and r is a position. This convention is used in many standard texts on X-ray diffraction, such as Zachariasen (1945[Zachariasen, W. H. (1945). Theory of X-ray Diffraction in Crystals. New York: John Wiley & Sons.]), Batterman & Cole (1964[Batterman, B. W. & Cole, H. (1964). Rev. Mod. Phys. 36, 681-717.]) and Authier (2006[Authier, A. (2006). International Tables for Crystallography, Vol. B, Reciprocal Space, ch. 5.1, pp. 534-551, 1st online ed. Chester: International Union of Crystallography.]). It is also used in standard software packages such as XOP (Sánchez del Río & Dejus, 2004[Sánchez del Río, M. & Dejus, R. J. (2004). Proc. SPIE, 5536, 171-174.], 2011[Sánchez del Río, M. & Dejus, R. J. (2011). Proc. SPIE, 8141, 814115.]). However, other software packages such as the APS X-ray Server (Stepanov, 1997[Stepanov, S. (1997). X-ray Server, https://x-server.gmca.aps.anl.gov.]) and SRW (Chubar & Elleaume, 1998[Chubar, O. & Elleaume, P. (1998). Proceedings of EPAC '98, Sixth European Particle Accelerator Conference, 22-26 June 1998, Stockholm, Sweden, edited by S. Myers, L. Liljeby, C. Petit-Jean-Genaz, J. Poole & K.-G. Rensfelt, pp. 1177-1179. Bristol: Institute of Physics.]) define the phase term of a plane wave as exp(+2πik·r). Unfortunately, confusion can arise if a structure factor calculated under one of these conventions is input to a program that uses the other.

If the phase term of a plane wave is exp(−2πik·r) as we assume, the structure factor F(hkl) for diffraction from the (hkl) atomic planes of a crystal is determined by the formula

[F (hkl) = \textstyle\sum \limits_j f_j \, D_j \exp { \left [ 2\pi i \left ( h X_j + k Y_j + l Z_j \right ) \right ] } , \eqno(16)]

where the index j designates a particular atom within the unit cell. fj is the total atomic scattering factor of the jth atom. Dj is the Debye–Waller factor of the jth atom as given by equation (2)[link]. (Xj, Yj, Zj) are the coordinates of the jth atom in the lattice coordinate system (a, b, c). The atomic coordinates in the reverse z setting are given in Table 4[link] for dextro α-quartz and in Table 5[link] for laevo α-quartz. See Table 8[link] for conversion to the obverse r setting.

If the phase term of a plane wave is exp(+2πik·r), the scattering factors fj and the exponential terms exp[2πi(hXj + kYj + lZj)] are replaced by their complex conjugates.

9. Structure of the program

9.1. Requirements

The package requires a Python 3 interpreter with the modules __future__, abc, h5py, importlib, math, matplotlib, numpy, os, pandas, pkgutil, re, sys and xlrd.

9.2. Code structure and use

9.2.1. Directories

The code is contained within the directory SFC and contains the Python packages general_crystals and Structure_Factor_Calculator. Note that each of these packages contains its own file __init__.py as Python programming rules require.

The directory also contains the following files:

(i) An Excel spreadsheet Form_factor_coefficients.xlsx, which contains the fitting parameters for the atomic scattering factors of Waasmaier & Kirfel (1995[Waasmaier, D. & Kirfel, A. (1995). Acta Cryst. A51, 416-431.]) [see equation (14)[link]].

(ii) Any Python 3 scripts written by the user that apply the modules above.

9.2.2. Definition of the crystal

The crystal is defined in the Python package general_crystals, which contains the module general_crystal.py and all material files. The material files may be named according to each user's wishes.

For maximum flexibility, an abstract base class called GeneralCrystal is defined in the module general_crystal.py. This includes a basic set of attributes and methods that are useful for any type of crystal:

(i) Crystal system (cubic, tetragonal, orthorhombic, hexagonal, rhombohedral/trigonal, monoclinic, triclinic).

(ii) Unit-cell parameters (sides and angles).

(iii) Determination of lattice vectors (module latt_vec_A).

(iv) Determination of the metric matrix defined in equation (4)[link] (module G_matrix_A2).

(v) Determination of the wavelength, interplanar spacing and Bragg angle for Bragg reflection of X-rays of a given energy from atomic planes of given Miller indices (hkl) (module angle_finder).

GeneralCrystal also includes a set of abstract methods that are named but not implemented:

(i) information: to print out important details about the crystal.

(ii) lattice_unit_cell_params: to set the lattice parameters of the crystal.

(iii) refatom_coordinates: to set the position of the prototype atom in the crystal.

(iv) atoms_init_and_update: to set the element types and determine the positions and thermal vibrations of all the atoms in the crystal.

Instances of an abstract base class cannot be produced, but each material file in the Python package general_crystals defines a subclass of GeneralCrystal from which instances can be created. For example, in the file alphaqua­rtz_dextro_zp.py that defines dextro α-quartz in the z(+) setting, we define class AlphaQuartz_Dextro_zp(GeneralCrystal).

In each material file, an implementation for the abstract methods in GeneralCrystal must be provided, but users are free to decide what implementation best suits them. Users may also use the material file to add new model-dependent attributes and methods not provided by GeneralCrystal. Each material file should include the lines

import numpy as np

from .general_crystal import GeneralCrystal

and should also access the modules in Structure_Factor_Calculator as follows:

from Structure_Factor_Calculator.checks import Check

from Structure_Factor_Calculator.atom import Atom

from Structure_Factor_Calculator.diffraction_environment import Diff_Environment

from Structure_Factor_Calculator.tools import Tools

The module general_crystal.py also includes a class CrystalFactory. The module __init__.py in the Python package general_crystals imports this class so that all material files in general_crystals can be read. Each module of user-written code in the main directory SFC must include the line

from general_crystals import CrystalFactory

and must also import the definition of the crystal. For example, in our case, the user-written code in SFC contains the line

from general_crystals.alphaqua­rtz_dextro_zp import AlphaQuartz_Dextro_zp

In order to minimize confusion between dextro and laevo α-quartz, we chose to define them in separate material files. Additionally, for quartz of either handedness, we made one material file that includes the full treatment of the displacement ellipsoids, and another material file that treats the thermal vibrations using an isotropic Debye model with a Debye temperature of 470 K for both Si and O atoms. The full list of material files provided for α-quartz is therefore as follows:

(i) alphaqua­rtz_dextro_zp.py: dextro α-quartz in the z(+) setting with displacement ellipsoids. Defines class AlphaQuartz_Dextro_zp(GeneralCrystal).

(ii) alphaqua­rtz_dextro_zp_isodwf.py: dextro α-quartz in the z(+) setting with the isotropic Debye model. Defines class AlphaQuartz_Dextro_zp_isodwf(GeneralCrystal).

(iii) alphaqua­rtz_laevo_zm.py: laevo α-quartz in the z(−) setting with displacement ellipsoids. Defines class AlphaQuartz_Laevo_zm(GeneralCrystal).

(iv) alphaqua­rtz_laevo_zm_isodwf.py: laevo α-quartz in the z(−) setting with the isotropic Debye model. Defines class AlphaQuartz_Laevo_zm_isodwf(GeneralCrystal).

Those who prefer the r settings will have little difficulty modifying the files above using the conversions in Table 8[link].

The class attributes defined in the material files for α-quartz are listed in Table 11[link]. Other attributes may be added for data checking at the user's discretion.

Table 11
Attributes of Python 3 classes that describe α-quartz

Attribute Definition
description Brief definition of the class
TminK Minimum temperature in kelvin at which the model for the crystal is valid
TmaxK Maximum temperature in kelvin at which the model for the crystal is valid
temperature_K Temperature of the crystal in kelvin
crystal_system Defined here as hexagonal to match the coordinate system
element_list List showing the element and order of each atom in the crystal's unit cell
environment Object of class Diff_Environment describing diffraction parameters (see text)
atoms List of objects of class Atom describing each atom in the unit cell (see text)
fit_coefficients Dictionary containing the temperature fitting parameters in Table 10[link]
Tc_K Temperature of the phase transition from α-quartz to β-quartz
O_Reference_Line_Start Starting point of the prototype O atom's position in equation (13)[link]
O_Reference_Line_Vector Vector in equation (13)[link] along which the prototype O atom moves with temperature
Si_T_Debye_K, O_T_Debye_K (isodwf material files only) Debye temperatures for vibrations of Si and O atoms, respectively

Objects of these classes are initialized with the arguments in Table 12[link].

Table 12
Arguments used to initialize Python classes that define α-quartz crystals in the material files

Argument Definition
temperature_K Temperature of the crystal in kelvin
hkl Miller indices of the desired Bragg reflection
energy_eV Photon energy of the X-rays in electronvolts

When an object of these classes is initialized, the class method set_temp_miller_energy(self, temperature_K, hkl, energy_eV) is called to set the crystal's temperature and then to determine the unit-cell parameters, the atomic positions, the diffraction parameters, and the atomic species and scattering factors. This method must subsequently be called whenever the crystal's temperature is changed. When the temperature is unchanged but a different diffracting plane or photon energy is desired, a simpler updating method set_miller_energy(self, hkl, energy_eV) can be called so that temperature-dependent parameters do not need to be recalculated, thus saving time if a large number of Bragg reflections are calculated at the same temperature.

The next set of class methods are specific to our model of α-quartz and may be replaced by more suitable methods for other crystals. The fitting equation (10)[link] is implemented in the class method fitting_equation(self, temp_K, f0, P, Q, n). The symmetry operations of α-quartz are implemented in the class methods screw_matrix(self, atom_coord), two_fold_matrix(self) and three_fold_matrix(self). When displacement ellipsoids are used, the class method beta_matrix_gen(self, element, beta_list = None) organizes the ellipsoid parameters into the full symmetric 3 × 3 matrix for later processing.

The remaining class methods are implementations of the abstract methods of the abstract base class GeneralCrystal. In our material files, these implementations are supported by the set of crystal-specific class methods defined above.

9.2.3. Structure factor code

The structure factor code is contained in the Python package Structure_Factor_Calculator, which consists of the following:

(i) atom.py: defines the class Atom that contains the atomic properties.

(ii) checks.py: defines a simple class Check containing a set of methods for input checking.

(iii) diffraction_environment.py: defines the class Diff_Environment that contains the diffraction parameters.

(iv) physical_constants.py: defines a set of physical constants.

(v) structure_factor_calc.py: defines the class Structure_Factor, which contains the methods for calculating the structure factor.

(vi) tools.py: defines a set of miscellaneous methods that are useful for the other files.

(vii) xrpy: the Python package that contains the methods of Brennan & Cowan (1992[Brennan, S. & Cowan, P. L. (1992). Rev. Sci. Instrum. 63, 850-853.]) for calculating the anomalous terms of the atomic scattering factors. This includes anomalous dispersion, Compton scattering and Rayleigh scattering.

Especially important are the treatment of the atom, the environment and the structure factor calculation, which are as follows.

9.2.4. Definition of the atom

Each atom is treated as an object of class Atom, which has the attributes in Table 13[link]. Note that the thermal atomic vibration is treated by inputting either beta_matrix for a displacement ellipsoid or M_and_TD for an isotropic Debye model, but not both.

Table 13
Attributes of class Atom

Attribute Definition
element Element of atom (e.g. Si or O)
coordinates Fractional coordinates of atom in unit cell
cartesian_coordinates Coordinates in a Cartesian system in ångströms
Environment Object of class Diff_Environment describing diffraction parameters (see text)
form_factor_coefficients Fitting parameters for the atomic scattering factor excluding anomalous dispersion, Compton scattering, Rayleigh scattering and Debye–Waller factor; read from the provided Excel spreadsheet Form_factor_coefficients.xlsx
form_factor Total atomic scattering factor for scattering into the diffracted beam (without Debye–Waller factor)
f0 Atomic scattering factor for scattering into the diffracted beam, excluding anomalous dispersion, Compton scattering, Rayleigh scattering and Debye–Waller factor
form_factor_fwd Total atomic scattering factor for scattering into the forward direction
beta_matrix Matrix β of displacement ellipsoid if given
M_and_TD Atomic mass in atomic mass units and Debye temperature in kelvin if given

Objects of class Atom are initialized with the arguments in Table 14[link]. beta_matrix and M_and_TD are keyword arguments whose default values are None. One but not both of these arguments must be supplied by the user.

Table 14
Arguments used to initialize objects of class Atom

Argument Definition
element Element of atom (e.g. Si or O)
coord Fractional coordinates of atom in unit cell
environment_obj Object of class Diff_Environment describing diffraction parameters (see text)
latt_vec_A Lattice vectors given in Cartesian coordinates in ångströms
beta_matrix Matrix β of displacement ellipsoid if given
M_and_TD Atomic mass in atomic mass units and Debye temperature in kelvin if given

An already existing object of class Atom may be updated with the method update, which saves time by skipping the element definition and the reading of the fitting parameters form_factor_coefficients. Class Atom also includes a method information, which prints out the values of the object's attributes. data_selecter is the method that reads the values of form_factor_coefficients from the provided Excel spreadsheet Form_factor_coefficients.xlsx. The method scattering_factor calculates form_factor, f0 and form_factor_fwd for the atom described.

9.2.5. Definition of the environment

The environment includes the parameters that describe the Bragg reflection of X-rays from the crystal at a specified temperature. Class Diff_Environment contains the attributes in Table 15[link]. Objects of this class are initialized by the arguments in Table 16[link].

Table 15
Attributes of class Diff_Environment

Attribute Definition
temp_K Crystal temperature in kelvin
angle_rad Bragg angle in radians
angle_deg Bragg angle in degrees
hkl Miller indices of Bragg reflection
wavelength_A Wavelength of X-rays in ångströms
d_A Interplanar spacing of (hkl) atomic planes

Table 16
Arguments used to initialize objects of class Diff_Environment

Argument Definition
temperature_K Crystal temperature in kelvin
crystal_system Type of unit cell (`Hexagonal' for α-quartz)
unit_cell_params Lattice parameters (sides and angles of the unit cell)
angle_plane_wavelength List containing the Bragg angle in radians, the Miller indices and the X-ray wavelength in ångströms

An existing object of class Diff_Environment can be updated by calling its method update with the current values of these arguments. Method information prints out the current values of the object's attributes. Method d_hkl calculates the interplanar spacing for the given Miller indices hkl, and method cell_volume calculates the volume of the unit cell. Note that these methods have been written with all types of crystal structures in mind and not just that of α-quartz.

9.2.6. Structure factor calculation

Class Structure_Factor contains several methods used for determining the structure factor from the description of the crystal, the atoms and the environment:

(i) debye_waller: calculates the Debye–Waller factor of a particular atom in the given crystal for the specified Bragg reflection using displacement ellipsoids.

(ii) isotropic_debye_waller: calculates the Debye–Waller factor of a particular atom in the given crystal for the specified Bragg reflection using an isotropic Debye model.

(iii) atom_scat_phase_DW: multiplies an atom's atomic scattering factor by the Debye–Waller factor and the phase term in equation (16)[link]. This includes a check to avoid un­necessary repetition of calculations for identical atoms.

(iv) F_hkl: calculates the structure factor of the specified Bragg reflection hkl, for the Bragg reflection [ {\tt {\overline h\overline k\overline l}}] and for forward scattering. Dynamical diffraction calculations of reflectivity generally require all these quantities as inputs, and therefore it is convenient to calculate them all at once.

(v) SF_output: prints out the value of the structure factor along with accompanying information.

10. Results

Three examples will show how the structure factor code can provide large numbers of structure factors of α-quartz with minimal effort.

10.1. Comparison of [\bf (10\overline 11)_{{\bf dextro}{\hbox{-}}z(+)}] and [\bf(10\overline 1 \overline 1)_{{\bf dextro}{\hbox{-}}z(+)}]

A Python 3 script SF-vs-T_Dextro-z+_101.py was saved in the main directory SFC. Its first purpose is to calculate the structure factors of [(10\overline 11)_{{\rm dextro}{\hbox{-}}z(+)}] and [(10\overline 1 \overline 1)_{{\rm dextro}{\hbox{-}}z(+)}] over the entire range of valid temperatures 20–838 K in steps of 1 K. Its second purpose is to compare the structure factors obtained from the full anisotropic displacement ellipsoids with those obtained by assuming an isotropic Debye model of Debye temperature 470 K for both Si and O atoms. An X-ray energy of 10 000 eV was chosen. At each temperature, the script writes the following in a text file:

(i) The Bragg angle θB = arcsin(λ/2d) in degrees (λ is the wavelength of the X-rays and d is the spacing of the diffracting atomic planes).

(ii) The squared magnitude and the phase of the structure factor F(hkl) of the given Bragg reflection.

(iii) The squared magnitude and the phase of the structure factor [F({\overline h\overline k\overline l} )] of the negative of the given Bragg reflection.

(iv) The squared magnitude and the phase of the structure factor F0 for forward scattering.

The script is given in the supporting information.

The Bragg angle is 10.707° at 20 K and decreases to 10.556° at 838 K. The properties of the structure factors are shown in Fig. 6[link]. The plot in Fig. 6[link](a) correctly shows that the [(10\overline 11)_{{\rm dextro}{\hbox{-}}z(+)}] reflection is weaker than the [(10\overline 1\overline 1)_{{\rm dextro}{\hbox{-}}z(+)}] reflection, as pointed out by Glazer (2018[Glazer, A. M. (2018). J. Appl. Cryst. 51, 915-918.]). It also shows, however, that the magnitudes of the two structure factors approach each other as the transition from α-quartz to β-quartz is approached. This is to be expected because, at the transition, the threefold screw axis becomes a sixfold screw axis and these two Bragg reflections therefore become symmetrically equivalent. The isotropic thermal model consistently yields larger squared magnitudes of the structure factors than the anisotropic model, but the two models remain within 1% up to 530 K for [(10\overline 11)_{{\rm dextro}{\hbox{-}}z(+)}] and up to 412 K for [(10\overline 1\overline 1)_{{\rm dextro}{\hbox{-}}z(+)}]. However, above these temperatures, the isotropic thermal model deviates progressively more from the anisotropic model as the transition is approached. At 838 K, the squared magnitudes of the structure factors calculated by the isotropic model are 5.3% greater than those calculated by the anisotropic model. The phase angles of the structure factors calculated by both thermal models agree to within 0.014%, as shown in Figs. 6[link](b) and 6[link](c).

[Figure 6]
Figure 6
Plots over temperature from 20 to 838 K for α-quartz using both anisotropic displacement ellipsoids (`anisotropic DW') and an isotropic Debye model with Debye temperature 470 K for all atoms (`isotropic DW'). DW stands for Debye–Waller. X-rays of 10 000 eV energy are used. (a) The squared magnitude of the structure factors of [(10\overline 11)_{{\rm dextro}{\hbox{-}}z(+)}] and [(10\overline 1\overline 1)_{{\rm dextro}{\hbox{-}}z(+)}]. (b) The phase angle in radians of the structure factor of [(10\overline 1\overline 1)_{{\rm dextro}{\hbox{-}}z(+)}]. (c) The phase angle in radians of the structure factor of [(10\overline 11)_{{\rm dextro}{\hbox{-}}z(+)}].

10.2. Comparison of [\bf (30\overline 31)_{{\bf dextro}{\hbox-}z(+)}] and [\bf (30\overline 3\overline 1)_{{\bf dextro}{\hbox{-}}z(+)}]

A Python 3 script SF-vs-T_Dextro-z+_301.py was saved in the main directory SFC. Its first purpose is to calculate the structure factors of [(30\overline 31)_{{\rm dextro}{\hbox{-}}z(+)}] and [(30\overline {31})_{{\rm dextro}{\hbox{-}}z(+)}] over the entire range of valid temperatures 20–838 K in steps of 1 K. Its second purpose is to compare the structure factors obtained from the full anisotropic displacement ellipsoids with those obtained by assuming an isotropic Debye model of Debye temperature 470 K for both Si and O atoms. An X-ray energy of 10 000 eV was chosen. At each temperature, the script writes the following in a text file:

(i) The Bragg angle in degrees as defined in the previous example.

(ii) The squared magnitude and the phase of the structure factor F(hkl) of the given Bragg reflection.

(iii) The squared magnitude and the phase of the structure factor [F({\overline h\overline k\overline l})] of the negative of the given Bragg reflection.

(iv) The squared magnitude and the phase of the structure factor F0 for forward scattering.

This script is exactly the same as SF-vs-T_Dextro-z+_101.py except that the Miller indices and the names of the output text files have been updated.

The Bragg angle is 26.932° at 20 K and decreases to 26.459° at 838 K. The properties of the structure factors are shown in Fig. 7[link]. The plot in Fig. 7[link](a) correctly shows that the [(30\overline 31)_{{\rm dextro}{\hbox{-}}z(+)}] reflection is much weaker than the [(30\overline {31})_{{\rm dextro}{\hbox{-}}z(+)}] reflection, as pointed out by Glazer (2018[Glazer, A. M. (2018). J. Appl. Cryst. 51, 915-918.]). As in the previous example, these two reflections become symmetrically equivalent in β-quartz; therefore, it is not surprising that the squared magnitudes of their structure factors approach each other just below the transition temperature. With increasing temperature, the squared magnitude of the structure factor of the very weak [(30\overline 31)_{{\rm dextro}{\hbox{-}}z(+)}] reflection falls almost to zero before re­covering, as seen in Fig. 7[link](b). This occurs because the total scattering from the three Si atoms very nearly cancels out the total scattering from the six O atoms. At lower temperatures the scattering from the O atoms dominates, while at higher temperatures the scattering from the Si atoms dominates. The minimum value is 0.02533 at 536 K if the anisotropic thermal model is used and 0.02424 at 562 K if the isotropic model is used. In Fig. 7[link](d), one sees that the minimum in the squared magnitude of this structure factor is accompanied by a change in the phase angle of 3.02 rad, which amounts to almost a complete phase reversal. Finally, Fig. 7[link](c) shows the phase angle of the stronger reflection [(30\overline {31})_{{\rm dextro}{\hbox{-}}z(+)}], which is very similar in both the anisotropic model and the isotropic model. The deviation of the isotropic model from the anisotropic model behaves very differently with temperature from that observed in the previous example. For the stronger reflection [(30\overline {31})_{{\rm dextro}{\hbox{-}}z(+)}], the isotropic model yields a consistently weaker structure factor than the anisotropic model, with the largest deviation being 4.26% at 643 K. The phase angle of the structure factor of this reflection is the same in both thermal models to within 0.006%. For the very weak reflection [(30\overline 31)_{{\rm dextro}{\hbox{-}}z(+)}], the disagreement between the two thermal models is very large. This example demonstrates the importance of accurate models of the temperature dependence of a crystal's atomic positions and thermal vibrations when calculating structure factors of weak reflections.

[Figure 7]
Figure 7
Plots over temperature from 20 to 838 K for α-quartz using both anisotropic displacement ellipsoids (`anisotropic DW') and an isotropic Debye model with Debye temperature 470 K for all atoms (`isotropic DW'). DW stands for Debye–Waller. X-rays of 10 000 eV energy are used. (a) The squared magnitude of the structure factors of [(30\overline 31)_{{\rm dextro}{\hbox{-}}z(+)}] and [(30\overline 3\overline 1)_{{\rm dextro}{\hbox{-}}z(+)}]. (b) The squared magnitude of the structure factor of [(30\overline 31)_{{\rm dextro}{\hbox{-}}z(+)}], plotted alone to show where it drops almost to zero and then recovers. (c) The phase angle in radians of the structure factor of [(30\overline 3\overline 1)_{{\rm dextro}{\hbox{-}}z(+)}]. (d) The phase angle in radians of the structure factor of [(30\overline 31)_{{\rm dextro}{\hbox{-}}z(+)}].

For three of these four reflections, the isotropic Debye model agrees well with the anisotropic model of thermal vibrations for temperatures below about 450 K, but matches less well as the temperature increases from there to the αβ transition. The only exception is the strong reflection [(30\overline {31})_{{\rm dextro}{\hbox{-}}z(+)}], where the two models agree within less than 5% throughout.

10.3. Finding Bragg reflections of α-quartz that backscatter X-rays of a specified energy

This last example, given in the Python script find_back_ref_Search.py, shows that backscattering Bragg reflections suitable for X-rays of a specified energy can be found and selected. Dextro α-quartz in the z(+) setting at temperatures between 20 and 600 K is assumed. When a backscattering Bragg reflection hkl is found, the following parameters are evaluated:

(i) The temperature at which the spacing of the diffracting atomic planes (hkl) becomes equal to half the X-ray wavelength.

(ii) The peak reflectivity of the rocking curve in energy.

(iii) The FWHM of the rocking curve in energy.

(iv) The temperature change required to shift the backscattered X-ray energy by 1 meV.

Items (ii) and (iii) are calculated from F(hkl), [F({\overline h\overline k\overline l})] and F0 using the dynamical diffraction formulas of Batterman & Cole (1964[Batterman, B. W. & Cole, H. (1964). Rev. Mod. Phys. 36, 681-717.]). Duplicate Bragg reflections related by symmetry are excluded. The results are displayed in Table 17[link] for 10 keV X-rays, in Table 18[link] for 8.048 keV X-rays (Cu Kα1) and in Table 19[link] for 17.479 keV X-rays (Mo Kα1).

Table 17
Backscattering reflections hkil of dextro α-quartz in the z(+) setting for 10 keV X-rays

Tback is the temperature at which each set of diffracting atomic planes has a spacing equal to half the X-ray wavelength. Rpk is the peak reflectivity. FWHM is the full width at half-maximum in terms of energy. mK/meV is the change in temperature in millikelvin required to change the backscattered energy by 1 meV.

hkil Tback (K) Rpk FWHM (meV) mK/meV
[\overline 7 3 4 \overline 4] 77 0.86 10.88 −24.8
[\overline 7 3 4 4] 77 0.57 3.07 −24.8
[\overline 4 \overline 3 7 4] 77 0.45 3.07 −24.8
[\overline 5 0 5 \overline 6] 459 0.18 1.40 −7.2

Table 18
Backscattering reflections hkil of dextro α-quartz in the z(+) setting for 8.048 keV X-rays

Tback is the temperature at which each set of diffracting atomic planes has a spacing equal to half the X-ray wavelength. Rpk is the peak reflectivity. FWHM is the full width at half-maximum in terms of energy. mK/meV is the change in temperature in millikelvin required to change the backscattered energy by 1 meV.

hkil Tback (K) Rpk FWHM (meV) mK/meV
[\overline 6 2 4 \overline 2] 246 0.61 8.48 −9.5
[\overline 6 2 4 2] 246 0.83 17.96 −9.5
[\overline 4 \overline 2 6 \overline 2] 246 0.67 8.48 −9.5
[\overline 5 0 5 \overline 3] 364 0.40 4.34 −8.6

Table 19
Backscattering reflections hkil of dextro α-quartz in the z(+) setting for 17.479 keV X-rays

Tback is the temperature at which each set of diffracting atomic planes has a spacing equal to half the X-ray wavelength. Rpk is the peak reflectivity. FWHM is the full width at half-maximum in terms of energy. mK/meV is the change in temperature in millikelvin required to change the backscattered energy by 1 meV.

hkil Tback (K) Rpk FWHM (meV) mK/meV
[\overline {11} \,\, 0 \,\, 11 \,\, \overline 6] 70 0.85 2.29 −15.9
[\overline {11} \,\, 0 \,\, 11 \,\, 6] 70 0.79 1.64 −15.9
[\overline 7 \, \,2 \,\, 5 \,\, \overline {13}] 222 0.63 0.89 −6.7
[\overline 7 \,\, 2 \,\, 5 \,\, 13] 222 0.70 1.08 −6.7
[\overline {12} \,\, 0 \,\, 12 \,\, 0] 304 0.15 0.26 −3.9
[\overline {13} \,\, 5 \,\, 8 \,\, \overline 5] 420 0.52 0.63 −3.6
[\overline {13} \,\, 5 \,\, 8 \,\, 5] 420 0.29 0.36 −3.6
[\overline 8 \,\, \overline 5 \,\, 13 \,\, 5] 420 0.32 0.36 −3.6
[\overline {13} \,\, 3 \,\, 10 \,\, \overline 3] 434 0.32 0.38 −3.5
[\overline {13} \,\, 3 \,\, 10 \,\, 3] 434 0.27 0.34 −3.5
[\overline {10} \,\, \overline 3 \,\, 13 \,\, \overline 3] 434 0.34 0.38 −3.5
[\overline {10} \,\ \overline 3 \,\, 13 \,\, 3] 434 0.28 0.34 −3.5
[\overline {12} \,\, 0 \,\, 12 \,\, \overline 1] 441 0.71 1.16 −3.4

11. Conclusion

α-Quartz is one of the most promising alternatives to silicon and germanium for the manufacture of X-ray optics. Although α-quartz has a relatively low thermal conductivity compared with silicon, it has already been used successfully in applications where a high heat load is not imposed, particularly as a material for X-ray spectrometers that are operated near backscattering for high energy resolution. Because the trigonal lattice of α-quartz has lower symmetry than the face-centred cubic lattice of silicon, germanium and diamond, α-quartz offers a greater density of backscattering reflections within a given energy range and thus a better match to X-rays of specified energy, such as an emission line. Recent measurements have shown that synthetic α-quartz crystals with a high degree of crystalline perfection can be obtained.

The design of a diffracting crystal X-ray optic requires accurate knowledge of the crystal's structure factors because these determine its efficiency and bandwidth. For high-resolution X-ray spectrometers, where temperature is used as a tuning parameter, it is important to have a full understanding of its effect on the crystal structure, atomic vibrations and lattice parameters. The temperature dependence of the α-quartz crystal structure is more complex than that of silicon, germanium or diamond because of the anisotropic thermal expansion, the atoms' movement within the unit cell and their strongly anisotropic thermal vibration. Furthermore, multiple incompatible conventions exist for describing the α-quartz structure.

Building on the careful work of many previous researchers, we have treated the calculation of the structure factors of α-quartz. This treatment includes a full temperature dependence from 20 to 838 K, just short of the 846 K transition to β-quartz. It also accounts for the anisotropy of both the crystal structure and the thermal vibrations of the atoms. For the calculation of large numbers of structure factors, a small set of Python 3 modules has been provided. Python 3 was chosen as the coding language because of its widespread use in X-ray optics software packages and the variety of functionalities offered by its libraries. Different ways of describing and modelling α-quartz can be handled by separate material files, also written in Python 3. Thus, the unresolved question of which convention is best for describing α-quartz is avoided. Tables are provided to convert one convention into another.

Several examples have been provided to illustrate the utility of this code for α-quartz. First, two comparisons of two closely related Bragg reflections, one strong and one weak, as a function of temperature serve to check that the results make sense. In both examples, the full anisotropic treatment of the atomic Debye–Waller factors was compared with an isotropic Debye model. It was shown that the relative discrepancy in the calculated intensity can be significant – several percent if the reflection is strong, and even more if it is weak. The third example was motivated by the intended design of X-ray spectrometers. Here, a desired energy is input, and a list of α-quartz Bragg reflections that reach backscattering at that energy within a given temperature range is printed out, along with their peak reflectivities and FWHM bandpasses. Scripts for the performance of these calculations for backscattering Bragg reflections are shown as models for users and are included in the source distribution (the names of the example scripts and the package containing them may differ slightly from what is described in the paper).

New crystal materials, including the already mentioned sapphire and lithium niobate, can be accommodated with new material files; no change in the basic package is required. Material files for silicon, germanium and diamond are also included in the source distribution. The code can be downloaded from https://github.com/DiamondLightSource/PyCSFex.

Supporting information


Footnotes

1In general, the direction in which a chiral crystal rotates the polarization of light is determined by the handedness of the helix that contains the most strongly polarizable atoms, which may or may not match the handedness of the screw axis. See Glazer & Stadnicka (1986[Glazer, A. M. & Stadnicka, K. (1986). J. Appl. Cryst. 19, 108-122.]) for details.

2We distinguish s = sinθ/λ from the also frequently used quantity q = 4πsinθ/λ.

Acknowledgements

We thank Diamond Light Source Ltd for the summer placement of one of our authors (JP). We are also grateful to Kawal Sawhney, head of Diamond's Optics and Metrology Group, for his support. We thank Sean Brennan for giving us his Python 3 version of his originally Fortran77 program abs for the calculation of anomalous dispersion and Rayleigh and Compton corrections to X-ray atomic scattering factors. Finally, we thank Taishun Manjo of the RIKEN SPring-8 Center Precision Spectroscopy Division for providing material files for silicon, germanium and diamond in collaboration with AQRB.

Funding information

This work was carried out with the support of Diamond Light Source Ltd.

References

First citationAment, L. J. P., van Veenendaal, M., Devereaux, T., Hill, J. & van den Brink, J. (2011). Rev. Mod. Phys. 83, 705–767.  Web of Science CrossRef CAS Google Scholar
First citationAuthier, A. (2006). International Tables for Crystallography, Vol. B, Reciprocal Space, ch. 5.1, pp. 534–551, 1st online ed. Chester: International Union of Crystallography.  Google Scholar
First citationBaron, A. Q. R. (2016). Synchrotron Light Sources and Free-Electron Lasers, edited by E. J. Jaeschke, S. Khan, J. R. Schneider & J. B. Hastings, pp. 1643–1757. Cham: Springer International Publishing.  Google Scholar
First citationBarron, T. H. K., Collins, J. F., Smith, T. W. & White, G. K. (1982). J. Phys. C Solid State Phys. 15, 4311–4326.  CrossRef CAS Google Scholar
First citationBatterman, B. W. & Chipman, D. R. (1962). Phys. Rev. 127, 690–693.  CrossRef CAS Web of Science Google Scholar
First citationBatterman, B. W. & Cole, H. (1964). Rev. Mod. Phys. 36, 681–717.  CrossRef CAS Web of Science Google Scholar
First citationBerreman, D. W. & Chang, T. (1959). J. Appl. Phys. 30, 963–966.  CrossRef CAS Google Scholar
First citationBrennan, S. & Cowan, P. L. (1992). Rev. Sci. Instrum. 63, 850–853.  CrossRef Web of Science Google Scholar
First citationBrice, J. C. (1985). Rev. Mod. Phys. 57, 105–146.  CrossRef CAS Web of Science Google Scholar
First citationChubar, O. & Elleaume, P. (1998). Proceedings of EPAC '98, Sixth European Particle Accelerator Conference, 22–26 June 1998, Stockholm, Sweden, edited by S. Myers, L. Liljeby, C. Petit-Jean-Genaz, J. Poole & K.-G. Rensfelt, pp. 1177–1179. Bristol: Institute of Physics.  Google Scholar
First citationCromer, D. T. & Liberman, D. A. (1981). Acta Cryst. A37, 267–268.  CrossRef CAS IUCr Journals Web of Science Google Scholar
First citationDonnay, J. D. H. & Le Page, Y. (1978). Acta Cryst. A34, 584–594.  CrossRef CAS IUCr Journals Web of Science Google Scholar
First citationDowns, R. T. (2000). Rev. Mineral. Geochem. 41, 61–88.  Web of Science CrossRef Google Scholar
First citationFrondel, C. (1962). The System of Mineralogy, 7th ed., Vol. III. New York: John Wiley & Sons.  Google Scholar
First citationGerdau, E. & de Waard, H. (1999). Editors. Hyperfine Interact. 123/124Google Scholar
First citationGerdau, E. & de Waard, H. (2000). Editors. Hyperfine Interact. 125Google Scholar
First citationGlazer, A. M. (2018). J. Appl. Cryst. 51, 915–918.  Web of Science CrossRef CAS IUCr Journals Google Scholar
First citationGlazer, A. M. & Stadnicka, K. (1986). J. Appl. Cryst. 19, 108–122.  CrossRef CAS Web of Science IUCr Journals Google Scholar
First citationGog, T., Casa, D. M., Knopp, J., Kim, J., Upton, M. H., Krakora, R., Jaski, A., Said, A., Yavaş, H., Gretarsson, H. & Huang, X. R. (2018). J. Synchrotron Rad. 25, 1030–1035.  Web of Science CrossRef CAS IUCr Journals Google Scholar
First citationGray, D. E. (1957). American Institute of Physics Handbook. New York: McGraw-Hill.  Google Scholar
First citationHonnicke, M. G., Bianco, L. M., Ceppi, S. A., Cusatis, C., Huang, X., Cai, Y. Q. & Stutz, G. E. (2016). J. Appl. Cryst. 49, 1443–1453.  Web of Science CrossRef CAS IUCr Journals Google Scholar
First citationHönnicke, M. G., Huang, X., Cusatis, C., Koditwuakku, C. N. & Cai, Y. Q. (2013). J. Appl. Cryst. 46, 939–944.  Web of Science CrossRef IUCr Journals Google Scholar
First citationHuang, X.-R., Gog, T., Kim, J., Kasman, E., Said, A. H., Casa, D. M., Wieczorek, M., Hönnicke, M. G. & Assoufid, L. (2018). J. Appl. Cryst. 51, 140–147.  Web of Science CrossRef CAS IUCr Journals Google Scholar
First citationHuang, X.-R., Jia, Q., Wieczorek, M. & Assoufid, L. (2014). J. Appl. Cryst. 47, 1716–1721.  Web of Science CrossRef CAS IUCr Journals Google Scholar
First citationImai, Y., Yoda, Y., Zhang, X. W. & Kikuta, S. (2007). AIP Conf. Proc. 879, 930–932.  CrossRef CAS Google Scholar
First citationInternational Tables for Crystallography (2016). Vol. A, Space-Group Symmetry, 2nd online ed., edited by M. I. Aroyo. Chester: International Union of Crystallography.  Google Scholar
First citationJohnson, G. & Foise, J. (1996). Encyclopedia of Applied Physics, edited by G. L. Trigg, Vol. 15, Power Electronics to Raman Scattering, pp. 365–375. New York: Wiley.  Google Scholar
First citationKihara, K. (1990). Eur. J. Mineral. 2, 63–77.  CrossRef ICSD CAS Google Scholar
First citationKim, J., Casa, D., Said, A., Krakora, R., Kim, B. J., Kasman, E., Huang, X. & Gog, T. (2018). Sci. Rep. 8, 1958.  Web of Science CrossRef PubMed Google Scholar
First citationLager, G. A., Jorgensen, J. D. & Rotella, F. J. (1982). J. Appl. Phys. 53, 6751–6756.  CrossRef ICSD CAS Web of Science Google Scholar
First citationLaudise, R. A. (1987). Chem. Eng. News, 65, 30–43.  CrossRef CAS Google Scholar
First citationLe Page, Y., Calvert, L. D. & Gabe, E. J. (1980). J. Phys. Chem. Solids, 41, 721–725.  CrossRef CAS Web of Science Google Scholar
First citationLevenberg, K. (1944). Q. Appl. Math. 2, 164–168.  CrossRef Google Scholar
First citationMarquardt, D. W. (1963). J. Soc. Ind. Appl. Math. 11, 431–441.  CrossRef Web of Science Google Scholar
First citationMcMaster, W. H., Del Grande, N. K., Mallett, J. H. & Hubbell, J. H. (1969). Compilation of X-ray Cross Sections. Technical Report UCRL-50174, Sec. 2, Rev. 1. Lawrence Radiation Laboratory, University of California, Livermore, California, USA.  Google Scholar
First citationNuttall, R. H. D. & Weil, J. A. (1981). Can. J. Phys. 59, 1696–1708.  CrossRef CAS Google Scholar
First citationOriginLab (2017). OriginPro. OriginLab Corporation, One Roundhouse Plaza, Northampton, Massachusetts, USA. https://www.originlab.comGoogle Scholar
First citationParthé, E. & Gelato, L. M. (1984). Acta Cryst. A40, 169–183.  CrossRef Web of Science IUCr Journals Google Scholar
First citationPereira, N. R., Macrander, A. T., Hill, K. W., Baronova, E. O., George, K. M. & Kotick, J. (2015). Rev. Sci. Instrum. 86, 103704.  Web of Science CrossRef PubMed Google Scholar
First citationSaid, A. H., Gog, T., Wieczorek, M., Huang, X., Casa, D., Kasman, E., Divan, R. & Kim, J. H. (2018). J. Synchrotron Rad. 25, 373–377.  Web of Science CrossRef CAS IUCr Journals Google Scholar
First citationSánchez del Río, M. & Dejus, R. J. (2004). Proc. SPIE, 5536, 171–174.  Google Scholar
First citationSánchez del Río, M. & Dejus, R. J. (2011). Proc. SPIE, 8141, 814115.  Google Scholar
First citationSánchez del Rio, M. & Rebuffi, L. (2019). AIP Conf. Proc. 2054, 060081.  Google Scholar
First citationSchülke, W. (2007). Electron Dynamics by Inelastic X-ray Scattering, Oxford Series on Synchrotron Radiation, Vol. 7. Oxford University Press.  Google Scholar
First citationShvyd'ko, Y., Stoupin, S., Shu, D., Collins, S. P., Mundboth, K., Sutter, J. & Tolkiehn, M. (2014). Nat. Commun. 5, 4219.  Web of Science PubMed Google Scholar
First citationStepanov, S. (1997). X-ray Server, https://x-server.gmca.aps.anl.govGoogle Scholar
First citationSutter, J. P., Alp, E. E., Hu, M. Y., Lee, P. L., Sinn, H., Sturhahn, W., Toellner, T. S., Bortel, G. & Colella, R. (2001). Phys. Rev. B, 63, 094111.  Web of Science CrossRef Google Scholar
First citationSutter, J. P., Baron, A. Q. R., Ishikawa, T. & Yamazaki, H. (2005). J. Phys. Chem. Solids, 66, 2306–2309.  Web of Science CrossRef CAS Google Scholar
First citationSutter, J. P., Baron, A. Q. R., Miwa, D., Nishino, Y., Tamasaku, K. & Ishikawa, T. (2006). J. Synchrotron Rad. 13, 278–280.  Web of Science CrossRef CAS IUCr Journals Google Scholar
First citationWaasmaier, D. & Kirfel, A. (1995). Acta Cryst. A51, 416–431.  CrossRef CAS Web of Science IUCr Journals Google Scholar
First citationYavaş, H., Sutter, J. P., Gog, T., Wille, H.-C. & Baron, A. Q. R. (2017). MRS Bull. 42, 424–429.  Google Scholar
First citationZachariasen, W. H. (1945). Theory of X-ray Diffraction in Crystals. New York: John Wiley & Sons.  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