Calculating temperature‐dependent X‐ray structure factors of α‐quartz with an extensible Python 3 package. Issue 4 (28th July 2022) - Sutter, John P.; Pittard, James; Filik, Jacob; Baron, Alfred Q. R.
Abstract : A Python 3 software package for precise calculation of X‐ray structure factors of α‐quartz over a wide temperature range is presented. α‐Quartz was chosen because of its practical application in high‐resolution X‐ray spectroscopy, but this software package can be easily extended to other crystals. Abstract : 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.