rietx manual¶
Release 1.4.0. The manual is in two parts.
Part 1, Using rietx, is the task-ordered guide to the package and its public API: install it, run a fit, understand what the fit did, read the report it hands back, and drive it from a program. It assumes you know powder diffraction and not this package.
Part 2, Theory, is the equations behind that machinery, numbered and cross-referenced, with the conventions that decide whether a number transfers between Rietveld codes.
How this manual was written
Claude (Opus 5 and Fable 5) wrote this manual from the source code, its
docstrings and the project’s design records, under the direction of Yue Wu, who
wrote and maintains rietx.
Documentation written that way can go stale or describe something the code does not do, so this one is tested like code. Every rietx name and parameter path in Part 1 resolves against the installed package, every example runs in the test suite, and every threshold quoted in Part 2 is injected from the live package when the manual builds. Those guards catch names and numbers. They cannot catch a paragraph that explains the wrong thing, so if a page misleads you, please open an issue and say which page.
Who this is written for¶
This manual is written for a person to read, but parts of the package are built
for a program: the FitReport and its three layers, capabilities(), the JSON
every answer type dumps to, the streaming event ladder, and the diagnostic
codes. They are documented here because a person has to understand them to
trust, debug or extend what a machine does with them. FitReport also answers
the question anyone looking at a plot has: where is this model wrong, and how
much of that will the package stand behind?
Notes for agents are marked like this:
For agents
Read the agent skill first, then come back here for the object model.
rietx skill --path prints it, and The agent skill is the same text
rendered. The skill says what to do in what order, what to check before
believing a number, and which measured findings should change what you do. This
manual describes the surface and does not restate it.
How to read this manual¶
Believe a docstring over this manual. Every physics function in rietx cites
its reference (author, year, journal) in its docstring, and the long derivations
live in the module docstrings. This manual organises that material into numbered
equations in Part 2 and into a task order in Part 1; it does not replace it. If
the two disagree, please
report it.
Both parts are guarded against drifting from the code, by different mechanisms.
In Part 2 every threshold and fenced constant is injected from the live package
when the manual builds, so a renamed constant breaks the build; each displayed
equation carries a Source line naming the symbol it was transcribed from, and
a test imports every one of them. In Part 1 every dotted name and every
parameter dot-path resolves against the live package, every fenced example
either runs or states why it cannot, and the walkthroughs are scripts from
examples/ included verbatim and executed by the test suite.
Names follow Python’s convention: CapWords for classes, lower case for
functions and modules, UPPER_CASE for module-level constants. So
Refinement, RefinementResult and FitReport are classes, refine,
read_pattern and capabilities are functions, rietx.viz.compare is a
module, and PLAN_INFO is a constant.
A method or a field is written under the class that defines it, not under the
variable you would hold it in. RefinementResult.plot is the plot method of a
RefinementResult, and in your own code that line reads result.plot(...).
Written this way the name resolves, so the test suite can check every name in
Part 1 against the live package.
Parameter dot-paths are the other dotted thing here, and they are never
capitalised. phases.0.cell.a and instrument.profile.w are data: addresses
into the parameter table, not attributes of a class.
The two parts set a fit statistic differently, on purpose. Part 2 sets it as
mathematics (\(R_{wp}\), \(\chi^2_{\mathrm{red}}\), \(\Delta d/d\)), because there it
is a symbol in an equation, defined by one. Part 1 writes the same statistics as
plain text (Rwp, χ², GoF), because that is the word on the GUI’s own header and
in a console line, and Part 1 is about driving the package rather than deriving
it. In either part a name in code font is the field and not the statistic:
Statistics.rwp is where the number lives.
Part 1: Using rietx¶
The chapters run in the order a first session with the package runs: install it, get one fit to the end, learn what the objects hold and how their parameters are addressed, run a staged refinement and control it, read the numbers and the report, go back to any state the fit passed through, then the specialised jobs (indexing, series, quantitative phase analysis, exports, the CLI) and the API a program drives. The closing chapter is the stability promise.
Part 1: Using rietx
- Installation
- A first refinement
- Patterns, structures and instruments
- The parameter table
- How a refinement works
- Constraints and restraints
- Running a refinement
- Two entry points, and where the settings live
- Modes: what the intensities are allowed to do
- Choosing a plan at run time
- How hard each stage is converged
- What a stage carries
- Persisting a plan
- Running one stage at a time
- What each stage reports
- Guards
- Watching a run
- Stopping a run
- What the result records about the run
- Reading the numbers
- Fit statistics
- Structure agreement indices
- The bonding geometry
- The size and the strain, in physical units
- How many observations there are
- Which parameters the data could not separate
- How finely the peaks were sampled
- What the restraints did
- What the statistics cannot tell you
- What the absorption correction did
- Diagnostics
- Printing a result
- Progress
- The fit report
- The refinement history
- Files and projects
- Indexing an unknown cell
- Refining many patterns
- How much of each phase
- Exports and derived tables
- The PowderLine recipe
- The command line
- The GUI: a first fit
- The GUI panel by panel
- The GUI as a text document and a wire
- Calling rietx from a program
- The agent skill
- Getting it
- The protocol
- Reference: 4/4b. The evidence behind the judging rules
- Reference: 5. Read numbers, not pixels
- Reference: 6. Abstention is a result. Do not convert it into a number
- Reference: 7. The diagnostics are the channel for “your answer is wrong although Rwp is fine”
- Reference: 7b-7f. Indexing: peak picking, the answer, the closed loop, the extinction screen
- Reference: 7g. The project and recipe readers: what an imported file does not carry
- Reference: 7h. The GSAS and GSAS-II readers and writers: what their files do not carry
- Reference: 8. Twenty-four things that will surprise you, all measured
- Reference: 9. The trajectory, and the history DAG as a search structure
- Reference: 9b. Series: refine a ramp as a chain, and check it both ways
- Reference: 9c. Many fits as one job: deciding an answer across fits
- Reference: 9c. Many fits as one job: operating the run
- Reference: 9d. A human is watching: run directories, and the window onto a long fit
- Reference: The API index
- Compatibility
- Glossary
Part 2: Theory¶
Part 2 states every convention by its physics rather than by its letter, because Rietveld codes disagree on the letters. They swap the size and strain terms X and Y (GSAS and FullProf), sign March-Dollase \(r\) differently, normalise Stephens \(S_{HKL}\) in three independent ways, and print either a transmission \(A\) or its reciprocal \(A^*\). Wherever a number could be transferred from the literature or from another code, the convention warning sits beside the equation. Match the θ-law, the limit and the sign of the effect, not the symbol.
Scope¶
Constant-wavelength X-ray powder data. Fundamental-parameters profiles, neutron and time-of-flight data, and spherical-harmonics texture are not implemented today. They are planned for v2, behind seams the forward model already carries, and nothing in Part 2 describes them.
Symbols and units¶
A quantity in Part 2 is in the unit rietx stores it in, and that is one of these
unless the equation says otherwise. Anything else is written in brackets at the
right of the equation that introduces it ([rad] on a derivation done in
radians, [barn], [fm]), or stated in the sentence beside it.
quantity |
unit |
|---|---|
every angle |
degrees; |
a position on the pattern axis |
deg 2θ |
a peak width |
deg 2θ, as FWHM (never a standard deviation, never an integral breadth) |
a Gaussian width coefficient |
deg² 2θ, because it is a variance |
a length |
Å: cell edges, d-spacings, wavelengths, crystallite sizes |
a reciprocal length |
Å⁻¹: \(k = \sin\theta/\lambda\) and \(Q = 4\pi\sin\theta/\lambda\) |
a displacement parameter |
Ų, with \(B_{\mathrm{iso}} = 8\pi^2 U_{\mathrm{iso}}\) |
an observed or calculated intensity |
counts |
a reflection intensity |
counts·deg 2θ, an area, because every profile here is normalised to unit area |
a linear attenuation coefficient |
cm⁻¹ |
a distance in the diffractometer |
mm: goniometer radius, specimen displacement, capillary offsets |
a magnetic moment |
\(\mu_B\) |
Ratios of two of these are dimensionless and are not marked: a transmission coefficient, a mixing fraction, a weight fraction, a scale, an occupancy, a Miller index, a multiplicity.
Part 2 names quantities by their physics. The unit, default and typical range
of a named parameter (what phases.0.cell.a or instrument.profile.w holds) is
in Glossary, which is generated from the package itself.
Part 2: Theory
- 1. The forward model
- 2. Peak positions
- 3. Peak profiles
- 4. Intensities
- 5. Intensity corrections
- 6. Microstructure
- 7. Background
- 8. Estimation
- 8.1. Objective and weights
- 8.2. Agreement statistics
- 8.3. Structure agreement indices
- 8.4. The effective observation count
- 8.5. Esds and the Bérar-Lelann inflation
- 8.6. Esds of derived quantities
- 8.7. Staged strategy and series
- 8.8. Solvers
- 8.9. Convergence
- 8.10. The fp64 floor
- 8.11. From fit to report
- 8.12. Which parameter to free next
- 9. Parameterisation and constraints
- 10. Indexing
- 11. Search engines
- 12. Reading a paper against its own numbers
Citing rietx¶
If rietx contributed to published work, cite [Wu and Gaultois, 2026]. The
repository carries the same record as CITATION.cff, which reference
managers and GitHub’s “cite this repository” button read directly.
Bibliography¶
M. Abramowitz and I. A. Stegun, editors. Handbook of Mathematical Functions. Applied Mathematics Series 55. National Bureau of Standards, Washington, 1964.
A. Altomare, G. Cascarano, C. Giacovazzo, A. Guagliardi, A. G. G. Moliterni, M. C. Burla, and G. Polidori. On the number of statistically independent observations in a powder diffraction pattern. Journal of Applied Crystallography, 28:738–744, 1995. doi:10.1107/s0021889895005747.
A. Altomare, C. Cuocci, A. Moliterni, and R. Rizzi. Indexing a powder diffraction pattern. In International Tables for Crystallography Volume H: Powder Diffraction, chapter 3.4, pages 270–281. Wiley, 2019.
Yu. G. Andreev. The use of the serial-correlations concept in the figure-of-merit function for powder diffraction profile fitting. Journal of Applied Crystallography, 27:288, 1994. doi:10.1107/s002188989300891x.
B. H. Armstrong. Spectrum line profiles: the Voigt function. Journal of Quantitative Spectroscopy and Radiative Transfer, 7:61–88, 1967. doi:10.1016/0022-4073(67)90057-x.
L. V. Azaroff. Polarization correction for crystal-monochromatized X-radiation. Acta Crystallographica, 8:701–704, 1955. doi:10.1107/s0365110x55002156.
S.-J. Baek, A. Park, Y.-J. Ahn, and J. Choo. Baseline correction using asymmetrically reweighted penalized least squares smoothing. Analyst, 140:250–257, 2015. doi:10.1039/c4an01061b.
J. A. Bearden. X-ray wavelengths. Reviews of Modern Physics, 39:78–124, 1967. doi:10.1103/revmodphys.39.78.
J. Bergmann, A. Le Bail, R. Shirley, and V. Zlokazov. Renewed interest in powder diffraction data indexing. Zeitschrift für Kristallographie, 219:783–790, 2004. doi:10.1524/zkri.219.12.783.55873.
D. L. Bish and S. A. Howard. Quantitative phase analysis using the Rietveld method. Journal of Applied Crystallography, 21:86–91, 1988. doi:10.1107/s0021889887009415.
A. Boultif and D. Louër. Indexing of powder diffraction patterns for low-symmetry lattices by the successive dichotomy method. Journal of Applied Crystallography, 24:987–993, 1991. doi:10.1107/s0021889891006441.
A. Boultif and D. Louër. Powder pattern indexing with the dichotomy method. Journal of Applied Crystallography, 37:724–731, 2004. doi:10.1107/s0021889804014876.
G. W. Brindley. The effect of grain or particle size on X-ray reflections from mixed powders and alloys. Philosophical Magazine, 36:347–369, 1945. doi:10.1080/14786444508520918.
J.-F. Bérar and P. Lelann. E.s.d.'s and estimated probable error obtained in Rietveld refinements with local correlations. Journal of Applied Crystallography, 24:1–5, 1991. doi:10.1107/s0021889890008391.
G. Caglioti, A. Paoletti, and F. P. Ricci. Choice of collimators for a crystal spectrometer for neutron diffraction. Nuclear Instruments, 3:223–228, 1958. doi:10.1016/0369-643x(58)90029-x.
A. A. Coelho. A bound constrained conjugate gradient solution method as applied to crystallographic refinement problems. Journal of Applied Crystallography, 38:455–461, 2005. doi:10.1107/s0021889805006096.
A. A. Coelho. Optimum Levenberg–Marquardt constant determination for nonlinear least-squares. Journal of Applied Crystallography, 51:428–435, 2018. doi:10.1107/s1600576718001784.
A. A. Coelho. TOPAS and TOPAS-Academic: an optimization program integrating computer algebra and crystallographic objects written in C++. Journal of Applied Crystallography, 51:210–218, 2018. doi:10.1107/s1600576718000183.
D. T. Cromer and D. Liberman. Relativistic calculation of anomalous scattering factors for X rays. Journal of Chemical Physics, 53:1891–1898, 1970. doi:10.1063/1.1674266.
D. T. Cromer and D. Liberman. Anomalous dispersion calculations near to and on the long-wavelength side of an absorption edge. Acta Crystallographica Section A, 37:267–268, 1981. doi:10.1107/s0567739481000600.
W. I. F. David. Powder diffraction: least-squares and beyond. Journal of Research of the National Institute of Standards and Technology, 109:107–123, 2004. doi:10.6028/jres.109.008.
P. M. de Wolff. A simplified criterion for the reliability of a powder pattern indexing. Journal of Applied Crystallography, 1:108–113, 1968. doi:10.1107/s002188986800508x.
R. D. Deslattes and E. G. Kessler. Experimental evaluation of inner-vacancy level energies for comparison with theory. In B. Crasemann, editor, Atomic Inner-Shell Physics, chapter 5, pages 181. Plenum Press, New York, 1985.
R. D. Deslattes, E. G. Kessler, P. Indelicato, L. de Billy, E. Lindroth, and J. Anton. X-ray transition energies: new approach to a comprehensive evaluation. Reviews of Modern Physics, 75:35–99, 2003. doi:10.1103/revmodphys.75.35.
W. A. Dollase. Correction of intensities for preferred orientation in powder diffractometry: application of the March model. Journal of Applied Crystallography, 19:267–272, 1986. doi:10.1107/s0021889886089458.
C. Dong, F. Wu, and H. Chen. Correction of zero shift in powder diffraction patterns using the reflection-pair method. Journal of Applied Crystallography, 32:850–853, 1999. doi:10.1107/s0021889899007396.
J. Durbin and G. S. Watson. Testing for serial correlation in least squares regression. I. Biometrika, 37:409–428, 1950. doi:10.2307/2332391.
P. H. C. Eilers. A perfect smoother. Analytical Chemistry, 75:3631–3636, 2003. doi:10.1021/ac034173t.
P. H. C. Eilers and B. D. Marx. Flexible smoothing with B-splines and penalties. Statistical Science, 11:89–121, 1996. doi:10.1214/ss/1038425655.
L. W. Finger, D. E. Cox, and A. P. Jephcoat. A correction for powder diffraction peak asymmetry due to axial divergence. Journal of Applied Crystallography, 27:892–900, 1994. doi:10.1107/s0021889894004218.
R. X. Fischer and E. Tillmanns. The equivalent isotropic displacement factor. Acta Crystallographica Section C, 44:775–776, 1988. doi:10.1107/s0108270187012745.
R. Frisch and F. V. Waugh. Partial time regressions as compared with individual trends. Econometrica, 1:387–401, 1933. doi:10.2307/1907330.
R. W. Grosse-Kunstleve and P. D. Adams. On the handling of atomic anisotropic displacement parameters. Journal of Applied Crystallography, 35:477–480, 2002. doi:10.1107/s0021889802008580.
R. W. Grosse-Kunstleve, N. K. Sauter, and P. D. Adams. Numerically stable algorithms for the computation of reduced unit cells. Acta Crystallographica Section A, 60:1–6, 2004. doi:10.1107/s010876730302186x.
Th. Hahn, editor. International Tables for Crystallography, Volume A: Space-Group Symmetry. Kluwer Academic Publishers, Dordrecht, 2002.
O. Halpern and M. H. Johnson. On the magnetic scattering of neutrons. Physical Review, 55:898–923, 1939. doi:10.1103/physrev.55.898.
W. C. Hamilton. Significance tests on the crystallographic R factor. Acta Crystallographica, 18:502–510, 1965. doi:10.1107/s0365110x65001081.
J. B. Hastings, W. Thomlinson, and D. E. Cox. Synchrotron X-ray powder diffraction. Journal of Applied Crystallography, 17:85–95, 1984. doi:10.1107/s0021889884011043.
M. R. Hestenes and E. Stiefel. Methods of conjugate gradients for solving linear systems. Journal of Research of the National Bureau of Standards, 49:409–436, 1952. doi:10.6028/jres.049.044.
N. J. Higham. Accuracy and Stability of Numerical Algorithms. SIAM, Philadelphia, 2nd edition, 2002.
R. J. Hill and H. D. Flack. The use of the Durbin–Watson d statistic in Rietveld analysis. Journal of Applied Crystallography, 20:356–361, 1987. doi:10.1107/s0021889887086485.
R. J. Hill and C. J. Howard. Quantitative phase analysis from neutron powder diffraction data using the Rietveld method. Journal of Applied Crystallography, 20:467–474, 1987. doi:10.1107/s0021889887086199.
J. H. Hubbell and S. M. Seltzer. Tables of X-ray mass attenuation coefficients and mass energy-absorption coefficients. Technical Report NISTIR 5632, National Institute of Standards and Technology, 1995.
J. Humlíček. Optimized computation of the Voigt and complex probability functions. Journal of Quantitative Spectroscopy and Radiative Transfer, 27:437–444, 1982. doi:10.1016/0022-4073(82)90078-4.
G. Hölzer, M. Fritsch, M. Deutsch, J. Härtwig, and E. Förster. Kα₁,₂ and Kβ₁,₃ x-ray emission lines of the 3d transition metals. Physical Review A, 56:4554–4568, 1997. doi:10.1103/physreva.56.4554.
L. Kissel and R. H. Pratt. Corrections to tabulated anomalous-scattering factors. Acta Crystallographica Section A, 46:170–175, 1990. doi:10.1107/s0108767389010718.
H. P. Klug and L. E. Alexander. X-ray Diffraction Procedures for Polycrystalline and Amorphous Materials. Wiley, New York, 2nd edition, 1974.
I. Křivý and B. Gruber. A unified algorithm for determining the reduced (Niggli) cell. Acta Crystallographica Section A, 32:297–298, 1976. doi:10.1107/s0567739476000636.
J. I. Langford and A. J. C. Wilson. Scherrer after sixty years: A survey and some new results in the determination of crystallite size. Journal of Applied Crystallography, 11:102–113, 1978. doi:10.1107/s0021889878012844.
A. C. Larson and R. B. Von Dreele. General Structure Analysis System (GSAS). Technical Report LAUR 86-748, Los Alamos National Laboratory, 2004.
A. Le Bail, H. Duroy, and J. L. Fourquet. Ab-initio structure determination of LiSbWO₆ by X-ray powder diffraction. Materials Research Bulletin, 23:447–452, 1988. doi:10.1016/0025-5408(88)90019-0.
Y. Le Page. The derivation of the axes of the conventional unit cell from the dimensions of the Buerger-reduced cell. Journal of Applied Crystallography, 15:255–259, 1982. doi:10.1107/s0021889882011959.
D. Louër and M. Louër. Méthode d'essais et erreurs pour l'indexation automatique des diagrammes de poudre. Journal of Applied Crystallography, 5:271–275, 1972. doi:10.1107/s0021889872009483.
M. C. Lovell. Seasonal adjustment of economic time series and multiple regression analysis. Journal of the American Statistical Association, 58:993–1010, 1963. doi:10.1080/01621459.1963.10480682.
A. March. Mathematische Theorie der Regelung nach der Korngestalt bei affiner Deformation. Zeitschrift für Kristallographie, 81:285–297, 1932. doi:10.1524/zkri.1932.81.1.285.
L. B. McCusker, R. B. Von Dreele, D. E. Cox, D. Louër, and P. Scardi. Rietveld refinement guidelines. Journal of Applied Crystallography, 32:36–50, 1999. doi:10.1107/s0021889898009856.
W. H. McMaster, N. Kerr Del Grande, J. H. Mallett, and J. H. Hubbell. Compilation of X-ray cross sections. Technical Report UCRL-50174 Sec. II Rev. 1, Lawrence Radiation Laboratory, 1969.
A. D. Mighell and A. Santoro. Geometrical ambiguities in the indexing of powder patterns. Journal of Applied Crystallography, 8:372–374, 1975. doi:10.1107/s0021889875010801.
J. Nocedal and S. J. Wright. Numerical Optimization. Springer, New York, 2nd edition, 2006.
R. Oishi-Tomiyasu. Reversed de Wolff figure of merit and its application to powder indexing. Journal of Applied Crystallography, 46:1277–1282, 2013. doi:10.1107/s0021889813019833.
R. Oishi-Tomiyasu. Robust powder auto-indexing using many peaks. Journal of Applied Crystallography, 47:593–598, 2014. doi:10.1107/s1600576714000922.
G. S. Pawley. Unit-cell refinement from powder diffraction scans. Journal of Applied Crystallography, 14:357–361, 1981. doi:10.1107/s0021889881009618.
J. M. Perez-Mato, S. V. Gallego, E. S. Tasci, L. Elcoro, G. de la Flor, and M. I. Aroyo. Symmetry-based computational tools for magnetic crystallography. Annual Review of Materials Research, 45:217–248, 2015. doi:10.1146/annurev-matsci-070214-021008.
W. J. A. M. Peterse and J. H. Palm. The anisotropic temperature factor of atoms in special positions. Acta Crystallographica, 20:147–150, 1966. doi:10.1107/s0365110x66000318.
V. K. Peterson. Lattice parameter measurement using Le Bail versus structural (Rietveld) refinement: A caution for complex, low symmetry systems. Powder Diffraction, 20:14–17, 2005. doi:10.1154/1.1810156.
W. Pitschke, H. Hermann, and N. Mattern. The influence of surface roughness on diffracted X-ray intensities in Bragg–Brentano geometry and its effect on the structure determination by means of Rietveld analysis. Powder Diffraction, 8:74–83, 1993. doi:10.1017/s0885715600017875.
E. Polak. Computational Methods in Optimization: A Unified Approach. Academic Press, New York, 1971.
E. Prince, editor. International Tables for Crystallography, Volume C: Mathematical, Physical and Chemical Tables. Kluwer Academic Publishers, Dordrecht, 2004.
C. R. Rao. Large sample tests of statistical hypotheses concerning several parameters with applications to problems of estimation. Mathematical Proceedings of the Cambridge Philosophical Society, 44:50–57, 1948. doi:10.1017/s0305004100023987.
H. M. Rietveld. A profile refinement method for nuclear and magnetic structures. Journal of Applied Crystallography, 2:65–71, 1969. doi:10.1107/s0021889869006558.
K. D. Rouse, M. J. Cooper, E. J. York, and A. Chakera. Absorption corrections for neutron diffraction. Acta Crystallographica Section A, 26:682–691, 1970. doi:10.1107/s0567739470001687.
C. G. Ryan, E. Clayton, W. L. Griffin, S. H. Sie, and D. R. Cousens. SNIP, a statistics-sensitive background treatment for the quantitative analysis of PIXE spectra in geoscience applications. Nuclear Instruments and Methods in Physics Research Section B, 34:396–402, 1988. doi:10.1016/0168-583x(88)90063-8.
T. M. Sabine. Extinction in polycrystalline materials. Australian Journal of Physics, 38:507–518, 1985. doi:10.1071/ph850507.
T. M. Sabine. A reconciliation of extinction theories. Acta Crystallographica Section A, 44:368–373, 1988. doi:10.1107/s0108767388000613.
T. M. Sabine, R. B. Von Dreele, and J.-E. Jørgensen. Extinction in time-of-flight neutron powder diffractometry. Acta Crystallographica Section A, 44:374–379, 1988. doi:10.1107/s0108767388000625.
P. Scherrer. Bestimmung der Größe und der inneren Struktur von Kolloidteilchen mittels Röntgenstrahlen. Nachrichten von der Gesellschaft der Wissenschaften zu Göttingen, Mathematisch-Physikalische Klasse, 1918:98–100, 1918.
G. Schwarz. Estimating the dimension of a model. Annals of Statistics, 6:461–464, 1978. doi:10.1214/aos/1176344136.
D. Schwarzenbach, S. C. Abrahams, H. D. Flack, W. Gonschorek, Th. Hahn, K. Huml, R. E. Marsh, E. Prince, B. E. Robertson, J. S. Rollett, and A. J. C. Wilson. Statistical descriptors in crystallography. Acta Crystallographica Section A, 45:63–75, 1989. doi:10.1107/s0108767388009596.
V. F. Sears. Neutron scattering lengths and cross sections. Neutron News, 3(3):26–37, 1992. doi:10.1080/10448639208218770.
U. Shmueli, editor. International Tables for Crystallography, Volume B: Reciprocal Space. Kluwer Academic Publishers, Dordrecht, 2001.
G. S. Smith. Estimating the unit-cell volume from one line in a powder diffraction pattern. Journal of Applied Crystallography, 10:252–255, 1977. doi:10.1107/s0021889877013478.
G. S. Smith and R. L. Snyder. F_N: a criterion for rating powder diffraction patterns and evaluating the reliability of powder-pattern indexing. Journal of Applied Crystallography, 12:60–65, 1979. doi:10.1107/s002188987901178x.
P. W. Stephens. Phenomenological model of anisotropic peak broadening in powder diffraction. Journal of Applied Crystallography, 32:281–289, 1999. doi:10.1107/s0021889898006001.
G. W. Stinton and J. S. O. Evans. Parametric Rietveld refinement. Journal of Applied Crystallography, 40:87–95, 2007. doi:10.1107/s0021889806043275.
A. R. Stokes and A. J. C. Wilson. The diffraction of X rays by distorted crystal aggregates – I. Proceedings of the Physical Society, 56(3):174–181, 1944. doi:10.1088/0959-5309/56/3/303.
P. Suortti. Effects of porosity and surface roughness on the X-ray intensity reflected from a powder specimen. Journal of Applied Crystallography, 5:325–331, 1972. doi:10.1107/s0021889872009707.
J. C. Taylor and C. E. Matulis. Absorption contrast effects in the quantitative XRD analysis of powders by full multiphase profile refinement. Journal of Applied Crystallography, 24:14–17, 1991. doi:10.1107/s002188989000841x.
P. Thompson, D. E. Cox, and J. B. Hastings. Rietveld refinement of Debye–Scherrer synchrotron X-ray data from Al₂O₃. Journal of Applied Crystallography, 20:79–83, 1987. doi:10.1107/s0021889887087090.
B. H. Toby. R factors in Rietveld analysis: how good is good enough? Powder Diffraction, 21:67–70, 2006. doi:10.1154/1.2179804.
B. H. Toby. A simple solution to the Rietveld refinement recipe problem. Journal of Applied Crystallography, 57:175–180, 2024. doi:10.1107/s1600576723011032.
B. H. Toby and R. B. Von Dreele. GSAS-II: the genesis of a modern open-source all purpose crystallography software package. Journal of Applied Crystallography, 46:544–549, 2013. doi:10.1107/s0021889813003531.
A. Togo, K. Shinohara, and I. Tanaka. Spglib: a software library for crystal symmetry search. Science and Technology of Advanced Materials: Methods, 4:2384822, 2024. doi:10.1080/27660400.2024.2384822.
K. N. Trueblood, H.-B. Bürgi, H. Burzlaff, J. D. Dunitz, C. M. Gramaccioli, H. H. Schulz, U. Shmueli, and S. C. Abrahams. Atomic displacement parameter nomenclature. Acta Crystallographica Section A, 52:770–781, 1996. doi:10.1107/s0108767396005697.
J. W. Visser. A fully automatic program for finding the unit cell from powder data. Journal of Applied Crystallography, 2:89–95, 1969. doi:10.1107/s0021889869006649.
R. B. Von Dreele. Quantitative texture analysis by Rietveld refinement. Journal of Applied Crystallography, 30:517–525, 1997. doi:10.1107/s0021889897005918.
D. Waasmaier and A. Kirfel. New analytical scattering-factor functions for free atoms and ions. Acta Crystallographica Section A, 51:416–431, 1995. doi:10.1107/s0108767394013292.
J. Waser. Least-squares refinement with subsidiary conditions. Acta Crystallographica, 16:1091–1094, 1963. doi:10.1107/s0365110x63002929.
D. Watkin. The control of difficult refinements. Acta Crystallographica Section A, 50:411–437, 1994. doi:10.1107/s0108767393012784.
J. A. C. Weideman. Computation of the complex error function. SIAM Journal on Numerical Analysis, 31:1497–1518, 1994. doi:10.1137/0731077.
P.-E. Werner. Trial-and-error computer methods for the indexing of unknown powder patterns. Zeitschrift für Kristallographie, 120:375–387, 1964. doi:10.1524/zkri.1964.120.16.375.
P.-E. Werner, L. Eriksson, and M. Westdahl. TREOR, a semi-exhaustive trial-and-error powder indexing program for all symmetries. Journal of Applied Crystallography, 18:367–370, 1985. doi:10.1107/s0021889885010512.
G. K. Wertheim, M. A. Butler, K. W. West, and D. N. E. Buchanan. Determination of the Gaussian and Lorentzian content of experimental line shapes. Review of Scientific Instruments, 45:1369–1371, 1974. doi:10.1063/1.1686503.
A. J. C. Wilson. Mathematical Theory of X-ray Powder Diffractometry. Philips Technical Library, Eindhoven, 1963.
Yue Wu and Michael W. Gaultois. rietx: Python-API-first analysis and Rietveld refinement of powder diffraction data. 2026. URL: https://github.com/yue-here/rietx.
M. R. Zaghloul and A. N. Ali. Algorithm 916: computing the Faddeyeva and Voigt functions. ACM Transactions on Mathematical Software, 38(2):15, 2011. doi:10.1145/2049673.2049679.
NIST. X-ray Transition Energies Database, Standard Reference Database 128. 2005. https://physics.nist.gov/PhysRefData/XrayTrans/.