Powder Indexing
https://xraytools.com/indexing
Indexing reads a powder pattern as a list of peak positions and uses nothing else — the intensities and the line widths are there too and carry their own information, and this step touches none of it. It turns those positions into a lattice: find the cell that puts a reflection at every one of them, and name the reflection at each. The search is exhaustive for the three systems where exhaustive is possible — cubic, one unknown, and tetragonal and hexagonal, two — so within the axis range, the peak list and the tolerance you give it, it finds every cell that works or shows there is none inside those bounds. That is not the same as the sample having no cell.
- Before this
- Every line in a pattern is a Bragg angle, so the thing being fitted is a set of d-spacings. You need to be comfortable turning one into the other before the search makes sense.
- You supply
- A wavelength and a list of peak positions in degrees 2θ, one per line. No intensities and no widths: indexing uses positions alone. Three lines are the minimum the page will accept and eight or more is where the answer starts to be worth something — the panel on the floor says why.
- Reading it
- Finding a cell is not the same as being right, and past one free parameter it is barely evidence at all: given eight random angles, a tetragonal cell accounting for every one of them turns up 385 times in 400, and an orthorhombic one 328 times in 400. What separates a real lattice from an accidental fit is completeness — of the lines the cell predicts inside the range you measured, how many you actually saw. The best accidental fit measured here reached 0.131, while no real pattern on this site falls below 0.50: a real lattice need not reach 1.00, because space-group absences remove lines the lattice allows — the rutile example here comes out at 0.706 and is correct. And every cell edge scales with the wavelength: index a Cu Kα pattern as Mo Kα and the whole cell is wrong by a factor of 2.169 with a perfect completeness.
Worked examples: quartz, twelve lines – two cells, and symmetry chooses · α-iron, three lines – six cells, and no way to choose · NaCl – one lattice, four descriptions · aragonite, twelve lines – three edges, none of them equal
Earlier on the path: Peak Finding Next on the path: Line Broadening On From a measured scan to sample information, step 2 of 4
Notation here: d — what each one means here
See also: Bragg Calculator · HKL Calculator · Peak Finding · Line Broadening · Reduced Cell and Bravais Lattice · Space Group from Absences
What each input changes
- The peaks
- The evidence. Every line you add is another constraint the cell has to satisfy, so a longer list is what turns several candidate cells into one — three lines are almost never enough.
- Crystal system
- How large the search is and how many unknowns it has. Restricting it is not a hint about the answer: a cubic search cannot report a tetragonal cell however well one would fit.
Teaching with this page
- Objective
- After this page a learner can index a powder pattern and say why a cell that accounts for every line may still be wrong.
- Start from
- this worked example
- Ask first
- A cell is found that accounts for every line in the pattern. Is it the right cell?
- Watch for
- “Yes — nothing is left unexplained”
- Then
- Line Broadening
Check yourself: A cell is found that accounts for every line in the pattern. Is it the right cell?
Not established — other cells may account for them too Yes — nothing is left unexplained
Accounting for every line is a necessary condition and not a sufficient one. Work the three-line example on this page: six cells account for the data equally well and the page refuses to choose between them, which is the honest answer. What settles it is more lines, the intensities, and the chemistry — none of which indexing uses.
Input
These positions are simulated
Nothing was submitted, so the box holds a pattern this site generated rather than measured: the twelve lowest-angle lines of rutile, TiO2, at Cu Kα, computed from the cell the powder simulator ships for it. So the answer is known before you read it — a = 4.5941 Å, c = 2.9589 Å, tetragonal — and the interesting part is what else the same twelve angles are consistent with. Paste your own list over them.
What came back
One cell accounts for every line: tetragonal P, a = 4.5941 Å, c = 2.9589 Å. It predicts 17 lines in the range you measured and you gave 12 of them, which is 70.6 per cent.
12 lines is enough for the number below to mean something. Over 400 random lists at each of 8, 10, 12 and 15 angles, no accidental fit in any of the three systems reached a completeness above 0.074.
tetragonal P, a = 4.5941 Å, c = 2.9589 Å
Every line tetragonal P, a = 4.5941 Å, c = 2.9589 Å predicts in this range is drawn above the axis and every line you gave below it. Hover any tick to see which reflection it is — the indices are the one thing the drawing cannot show, and on a touch screen the assignment table below carries them. The 5 longer ticks above the axis are reflections this cell says should be there and your list does not contain.
| Completeness | 0.706 | 12 of the 17 lines it predicts in this range |
|---|---|---|
| Worst residual | 0.0004 | ° 2θ, against the 0.030° allowed |
| Cell volume | 62.45 | Å3, a = b ≠ c, all angles 90° |
| M12 | 7267.4 | Not meaningful here — de Wolff’s figure of merit, Q12 ÷ (2 × mean |ΔQ| × Nposs), with Nposs = 17 lines possible out to the 12th observed one |
| F12 | 3567.0 | Not meaningful here — Smith and Snyder’s, conventionally written F12 = 3567.0(0.0002, 17) — the value, the mean |Δ2θ| in degrees, and the same Nposs |
This cell predicts 5 lines inside your range that are not in your list. They are not a lattice centring. The body-centred reading of this same cell was tried against these lines and refused, because at least one line you gave is a reflection it removes. A missing line is not by itself a mistake: glide planes and screw axes remove reflections too, and from a list of positions they are indistinguishable from a centring — both are just a line that is not there. Weak reflections and a structure factor that happens to vanish do the same. What a page of positions can say stops here; the reflection conditions are where it goes on.
Both figures divide the fit by the number of lines the cell is entitled to produce, which is what stops a large cell scoring well simply by accounting for everything. Neither is meaningful here. The mean residual is 0.00020°, below half of the 0.001° these angles were typed to — so what the figures are measuring is the rounding of the last digit, not the agreement between a cell and a measurement. That is what happens whenever a pattern is computed from a cell rather than recorded from a sample, which is true of every list this page ships. Paste a measured pattern to get figures that mean anything.
| # | 2θ obs / ° | h k l | 2θ calc / ° | Δ2θ / ° |
|---|---|---|---|---|
| 1 | 27.456 | 1 1 0 | 27.456 | −0.0001 |
| 2 | 36.107 | 1 0 1 | 36.107 | −0.0001 |
| 3 | 39.220 | 2 0 0 | 39.220 | 0.0004 |
| 4 | 41.271 | 1 1 1 | 41.271 | 0.0001 |
| 5 | 44.077 | 2 1 0 | 44.077 | 0.0004 |
| 6 | 54.363 | 2 1 1 | 54.363 | −0.0002 |
| 7 | 56.670 | 2 2 0 | 56.670 | −0.0003 |
| 8 | 62.810 | 0 0 2 | 62.810 | −0.0002 |
| 9 | 64.099 | 3 1 0 | 64.099 | 0.0002 |
| 10 | 65.563 | 2 2 1 | 65.563 | −0.0001 |
| 11 | 69.061 | 3 0 1 | 69.061 | −0.0001 |
| 12 | 69.861 | 1 1 2 | 69.861 | 0.0003 |
The lines, converted
| # | 2θ / ° | d / Å | sin2θ | Q / Å−2 | sin2θ ÷ first |
|---|---|---|---|---|---|
| 1 | 27.456 | 3.2485 | 0.05632 | 0.09476 | 1.0000 |
| 2 | 36.107 | 2.4876 | 0.09604 | 0.16160 | 1.7054 |
| 3 | 39.220 | 2.2970 | 0.11264 | 0.18953 | 2.0001 |
| 4 | 41.271 | 2.1875 | 0.12420 | 0.20898 | 2.2054 |
| 5 | 44.077 | 2.0545 | 0.14080 | 0.23691 | 2.5001 |
| 6 | 54.363 | 1.6876 | 0.20868 | 0.35112 | 3.7054 |
| 7 | 56.670 | 1.6243 | 0.22527 | 0.37904 | 4.0000 |
| 8 | 62.810 | 1.4795 | 0.27153 | 0.45688 | 4.8214 |
| 9 | 64.099 | 1.4528 | 0.28159 | 0.47381 | 5.0001 |
| 10 | 65.563 | 1.4238 | 0.29315 | 0.49326 | 5.2054 |
| 11 | 69.061 | 1.3600 | 0.32131 | 0.54064 | 5.7054 |
| 12 | 69.861 | 1.3464 | 0.32785 | 0.55164 | 5.8215 |
The last column is the ratio a hand calculation starts from. In a cubic cell it is a ratio of whole numbers — and the gaps in that series are the point: no reflection has h2 + k2 + l2 equal to 7, 15, 23 or 28, so a series that reaches one of those has not been indexed.
How often does nonsense index?
Fitting a cell to a list of angles is easy, and that is the problem. Given eight peak positions drawn at random between 10 and 80°, a tetragonal cell accounting for every one of them is found 385 times in 400, and a hexagonal one 365. A cubic cell — one free parameter instead of two — is found 17 times, and an orthorhombic one 328 in 400 — fewer than the tetragonal case despite having a third free parameter, because the search for it is deliberately narrower. So “a cell was found” is close to worthless on its own anywhere but the cubic case. What separates a real answer from an accidental one is completeness: those accidental cells are enormous, so they predict hundreds of lines where eight were seen, and the best completeness any of them reached was 0.131. No real pattern on this site falls below 0.50. Nothing had to be chosen to tell those apart. A real lattice need not reach 1.00: systematic absences take out lines the lattice permits, so a correct cell on a real pattern lands below it without being any less correct.
Two things make an accidental fit harder, and one of them matters far more than the other. The tolerance is the lever: the real patterns of this site’s monoclinic, triclinic and orthorhombic structures all index on something at 0.030°, and none of them indexes at all at 0.010° — at any length from 12 to 25 lines. So state a tolerance close to how well you can really place a peak rather than a comfortable one, because a comfortable tolerance is what buys the wrong cell its fit. More lines helps too and helps less: zirconia still indexed at 0.030° on 18 lines and stopped only at 25.
Six ways this goes wrong with the arithmetic right
| The wavelength | Every cell edge here scales with λ. Index a Cu Kα pattern as if it were Mo Kα and every constant comes back too small by 1.541838/0.710730 = 2.169 — a perfectly self-consistent answer with a perfect completeness, wrong by a factor nothing on this page can detect. |
|---|---|
| 2θ, not θ | A list of θ values pasted into this box usually indexes on nothing at all, which is the good outcome. Sometimes it indexes on something, and the answer is meaningless. |
| Kα2 | An unstripped doublet puts a second peak beside every real one, at a fixed ratio in sin θ rather than at any lattice spacing. No cell accounts for both members of every pair, so the usual symptom is that nothing indexes at all — and the fix is to strip the doublet, not to widen the tolerance. The peak finder will do it, by Rachinger’s method, and hand the stripped list back here — at the Kα1 wavelength, which is the first trap in this table arriving by the back door. |
| A second phase | One line from an impurity is enough to make a correct cell fail, because this page requires every line to be accounted for. That is deliberate: a search that quietly drops the lines it cannot fit will always find something. |
| Zero-point error | A diffractometer whose zero is out shifts every 2θ by a constant, which is not a constant in Q — so no one cell fits the whole list. On this page that reads as nothing indexes, not as a poor fit: half a hundredth of a degree is enough to lose a textbook pattern, and widening the tolerance does not bring it back, because the error grows across the list rather than sitting inside a band. The residual column only exists once a cell has been found, so it cannot be the thing that tells you. Refine the zero against a standard, or subtract the offset before pasting. |
| The cell is not the structure | Indexing gives a lattice. Which space group sits in it needs the reflections that are missing, and those are what the conditions on /absences are about. |
Where this comes from
- A simplified criterion for the reliability of a powder pattern indexing
P. M. de Wolff, J. Appl. Crystallogr. 1968, 1, 108–113 · doi:10.1107/S002188986800508X
The paper that made this page’s central point first: a cell that accounts for every observed line is not thereby right, because a large enough cell accounts for anything. De Wolff’s M20 divides the fit by the number of lines the cell says should be there — the same quantity this page calls completeness, arrived at from the other side. - F_N: A criterion for rating powder diffraction patterns and evaluating the reliability of powder-pattern indexing
G. S. Smith and R. L. Snyder, J. Appl. Crystallogr. 1979, 12, 60–65 · doi:10.1107/S002188987901178X
The other figure of merit in common use, and the one whose second factor is exactly Nobs/Nposs. Worth reading for why the residual alone is not enough: a wrong cell can fit every line to any precision you like if it is allowed enough reflections to choose from. - A fully automatic program for finding the unit cell from powder data
J. W. Visser, J. Appl. Crystallogr. 1969, 2, 89–95 · doi:10.1107/S0021889869006649
ITO, the zone-search method, and the reason this page stops at three crystal systems: below monoclinic the search is a real program with a real convergence question, where cubic, tetragonal and hexagonal are one and two unknowns and can be enumerated exhaustively.