untethered atom · TEM

SAED Pattern Simulator

Pick a crystal, point the beam down a zone axis, and read the pattern off the screen before you go near the microscope.

Pick one of 604 built-in structures or load a CIF, set the zone axis, the voltage and the camera length, and read the indexed pattern straight off the screen: spot positions from the camera equation, intensities kinematical or from a many-beam Bloch-wave calculation with thermal-diffuse absorption and a thickness slider, precession and convergent-beam modes with HOLZ lines, Kikuchi lines, Laue-zone rings, the Ewald-sphere section, the reflection table, your own pattern underneath with a residual fit and an off-zone estimate, the symmetry readout, a contrast-transfer function and partially coherent HRTEM tableau, and STEM images with Z contrast for the same crystal, from a Bloch-wave calculation or from a frozen-phonon multislice of a supercell with a defect, run on the graphics card.

Move the pointer over a spot.

Click a row to highlight that spot on the screen; click a spot to pin its row. Kinematical intensities are |F|2 (with the thin-foil shape factor in the thin-foil mode) relative to the strongest reflection of the crystal; dynamical intensities are fractions of the incident beam.

Crystal

Orientation zone axis and tilt

On axis
 
Nearest zone
 
Bunge Euler
 
tilt

Drag on the pattern to tilt the crystal (the optic axis stays at the centre); Shift-drag rotates the pattern in its plane. Arrow keys tilt in steps when the pattern has focus, + and change the camera length, 0 resets the view. Euler angles are Bunge's (Z-X-Z) from the lab frame (x right, y down, z along the beam) to the crystal's Cartesian frame (a along x, b in the xy plane).

Beam and camera what sets the scale

mmmm
20 nm

The zone-axis net draws every allowed reflection of the nearest zone at |F|², the picture an indexed pattern is compared against. The thin-foil mode keeps what the Ewald sphere reaches through a foil of thickness t. The dynamical mode solves the many-beam problem for the beams near the sphere (settings under Dynamical intensities) and reports fractions of the incident beam, so tilting, thickness and voltage all change the pattern the way they do at the microscope. Beam tilt moves the incident beam, not the crystal: centring a reflection excites 2g from the zone axis or 3g from the two-beam condition, which is the weak-beam geometry.

Dynamical intensities Bloch wave, CBED

nm-1
0 = room-temperature value per element

Choose the dynamical mode under Beam and camera, or the CBED tab, to run a calculation.

Beams are ranked by |Ug| / (|Ug| + 2K|sg|), the Bethe perturbation strength, and the strongest N within the |s| limit are kept; raise N until the pattern stops changing (the convergence check). The scattering matrix exp(iπtA/K) is built once per orientation by scaling and squaring, so the thickness slider costs nothing afterwards. Absorption is either the thermal-diffuse absorptive potential of the Einstein model, computed from the same scattering factors with a Debye-Waller factor per element (the default), or the phenomenological fraction U'g = (ξg/ξ'g) Ug with Hirsch's mean absorption. The convergent-beam discs sample the incident cone on a hexagonal grid and run the same calculation once per direction; with WebGPU those directions run together on the graphics card as one compute shader (the same exponential, in double-single arithmetic, agreeing with the worker to a part in a million), otherwise in a worker, where they take seconds. HOLZ lines are traced geometrically on the exact Ewald sphere (with refraction when the box above is ticked) and darkened by the two-beam estimate sin²(πt/ξg) times the gain, because resolving them dynamically would need a grid a hundred times finer.

Your pattern overlay, residual, off-zone

Å·px (sets pixels per mm)

Load a PNG, JPEG or an uncompressed TIFF of your pattern; it is drawn under the simulation. Put the transmitted beam on the centre, set the camera constant or drag to scale, and the spots should land on yours.

px
refine:

Spots come as the simulator's JSON, an indexer-style JSON (x, y in pixels, optional centre and camera constant), or plain x, y lines. The residual is measured spot minus nearest simulated spot after the camera model (scale, rotation, first-order ellipse, centre). The tilt is not fitted here: perturb it with the arrows and watch the RMS and the matched count.

How far off the zone?

offsetmm, ±

Laue circle: the ring of bright ZOLZ spots passes through 000 with its centre L tan(τ) from it; a tilt of a degree at 1 m moves the centre 17 mm. Asymmetry: the shape-factor ratio of a ±g pair gives the tilt component along g, kinematically, so it needs a thin foil and a thickness estimate. Kikuchi: a band's centre line is displaced by L tan(τn) along its normal, the most precise of the three.

Display layers and labels

nm-1

Labels are placed brightest first and skip any position already taken; the rest fill in as you shorten the camera length. Kikuchi rendering: line pairs are the geometry; filled bands shade the excess region between the lines by |F|; excess-and-deficient follows the rule that the line nearer 000 is deficient (dark) and the farther one excess (bright), growing with the band's distance from the centre. That shading is a schematic of the two-beam result, not a calculation. Flips are provided because every camera differs.

Symmetry sites, conditions, operators

Beam interaction sticks, f(s), mean free path

Sticks are the ring intensities, multiplicity × |F|² with the Debye-Waller factor from the Dynamical card applied, against 1/d. Scattering factors are the Peng 1996 neutral-atom fits (ionic factors are not included, so oxides use neutral atoms). The elastic cross-section is the first Born integral of |f|2 and the mean free path 1/Σniσi; inelastic scattering is not included, so this is the elastic length only.

Imaging CTF, HRTEM tableau

nm

The tableau runs the dynamical calculation for the current orientation and images the exit wave with the lens above (defocus across, thickness down). Partially coherent: every pair of beams is damped by the transmission cross-coefficient, so two beams on the same achromatic circle keep their interference however large the focus spread. Coherent with envelopes: each beam damped on its own, the textbook linear picture, right only for a weak phase object. Compare the two at 40 nm.

STEM probe, detectors, Z contrast

Detectors (mrad):
recorded in the same run, up to t
Uses the thickness t from Beam and camera and the nearest zone axis exactly on the optic axis.

Bloch-wave STEM with thermal diffuse scattering: the probe is a coherent sum of plane waves inside the aperture, each plane wave gets the many-beam solution of this zone, and each detector collects the Bragg beams that land on it plus the thermal-diffuse intensity scattered into it, integrated through the thickness from the Einstein-model TDS matrix. The images are fractions of the probe current. HAADF is the Z-contrast signal (TDS only); BF and ABF also see the coherent beams. ZOLZ beams only, one inelastic event, no Bragg beams beyond the beam set: raise the beam count and the sampling until the image stops changing.

Export

How the pattern is computed

Every spot is a reciprocal-lattice vector g = ha* + kb* + lc* of the crystal, rotated into the microscope frame by the orientation you set, and projected onto the screen along the scattered direction k + g. That projection is the camera equation: at small angles the distance of a spot from the centre is R = λL|g| = λL/d, so the spacing you measure in millimetres is the plane spacing turned upside down and scaled by the camera constant λL. The tool draws the exact gnomonic projection, which only departs from λL/d in the third decimal even at the edge of the screen; the departure is stated so that you know the camera equation is an approximation and where it stops mattering. The incident direction is a variable too: the beam-tilt boxes move it, and the pattern shifts and re-excites exactly as it does when you touch the beam tilt at the microscope.

Which reflections exist, and how bright they are kinematically, comes from the structure factor F(hkl) = Σ fj exp[2πi(hxj + kyj + lzj)] summed over every atom in the cell with the Peng 1996 electron scattering factors, times exp(−Bs²) when you set a Debye-Waller factor. A reflection whose F is zero is absent, which is how the fcc, bcc, diamond, hcp and superlattice rules appear here without being typed in: the library stores atoms and symmetry, not extinction rules, so a CIF you load gets exactly the same treatment. The zone-axis net shows every reflection of the nearest zone at |F|2; the thin-foil mode multiplies by the shape factor sin2(πts)/(πs)2 of a foil of thickness t, where s is the excitation error, the distance of the reciprocal-lattice point from the Ewald sphere along the beam.

Laue-zone rings come from the sphere's curvature. The reciprocal lattice of a zone is a stack of planes normal to the zone axis, and the Ewald sphere, curving away from the zero layer, cuts the next layer in a circle of radius Gn = √(2nhK − n2h2) with h the layer spacing 1/|[uvw]| and K = 1/λ. The tool checks which layers actually contain reflections: in fcc the first layer along [011] is empty because k + l must be even, so its first ring is the second layer, and the ring you see at the microscope is the one it draws. The Ewald section tab shows all of this as a picture: the sphere, the rows of reciprocal-lattice points, the relrods, and sg as a length you can see.

Dynamical intensities

Kinematical intensities are wrong for anything but the thinnest foil, because a strongly diffracted beam is itself re-diffracted. The dynamical mode solves that many-beam problem the way Bethe set it up: the beam amplitudes obey dφ/dz = (iπ/K) A φ with Agg = 2Ksg on the diagonal and the Fourier coefficients of the crystal potential Ug−h = γF*(g−h)/(πΩ) off it, so the same structure factors that give the kinematical pattern feed the dynamical one. The scattering matrix exp(iπtA/K) is unitary without absorption, which the code checks (the intensities sum to one at every thickness), and it is formed once per orientation by scaling and squaring; the thickness series then costs a matrix-vector product per nanometre, which is why the slider responds at once. The beams are chosen by the Bethe perturbation strength |Ug|/(|Ug| + 2K|sg|), and the honest test of any many-beam result is to raise their number until nothing changes. Absorption, by default, is the thermal-diffuse absorptive potential of the Einstein model: every atom vibrates independently with its Debye-Waller factor B, the intensity it scatters incoherently out of the Bloch waves is the difference between the total and the coherent scattering, integrated over all angles, and that loss written as an imaginary potential is A'gh = γ²/(2πΩK) Σj e−2πi(g−h)·rj ∫ fj(|q−g|) fj(|q−h|) [e−M|g−h|² − e−M(|q−g|²+|q−h|²)] d²q (Hall and Hirsch 1965; Bird and King 1990), kept here in its non-local (g, h) form rather than the usual U'g−h slice. It is positive by construction, so no Bloch wave can grow, and it gives ξg/ξ'g of 0.02 for Al 111, 0.05 for Cu and 0.12 for Au at 200 kV, the values the textbooks quote. B comes from a room-temperature table per element (Peng et al. 1996) unless you set one value for every atom. The phenomenological alternative, U'g = r Ug with r = ξg/ξ'g and Hirsch's mean absorption, is kept as an option so that the two can be compared. The status line reports the mean absorption length actually used. Absolute transmitted fractions at large thickness are still indicative (the model has no phonon dispersion and no correlated motion); the relative intensities across the pattern are what the calculation is for. The two-beam solution is shown beside the many-beam one in the table and in the thickness plot, because seeing where the textbook two-beam curve fails is the whole point of doing the calculation.

Checks that ship with the page: the two-beam matrix reproduces the analytic Howie-Whelan intensity to a part in a million; extinction distances at 100 kV match the Hirsch table (Al 111 at 55.6 nm, Al 200 at 66.8 against 67.3, Si 111 at 61.7 against 60.2, with the transition metals 10 to 20 percent longer because the Peng factors differ from the older tables); and GaAs [110] shows the dynamical breakdown of Friedel's law, 002 and 00̄2 unequal, which a kinematical calculation cannot produce.

Precession and convergent beam

Precession tilts the incident beam around a cone and sums the result, which integrates each reflection through the Ewald sphere and takes most of the dynamical asymmetry out of the intensities (Vincent and Midgley 1994). Here it is a sum over azimuths, kinematical or dynamical, at the semi-angle you set; the spots stay where the de-scanned beam puts them and the intensities change. The CBED tab samples the incident cone on a hexagonal grid and runs the many-beam calculation once per direction, painting each disc with the result at the chosen thickness: the rocking curves of the two-beam page become the intensity across a disc, and the thickness fringes of a strongly excited disc are the Kelly-Allen method waiting to be applied. It takes seconds and says so. HOLZ lines are then traced on top: a higher-order Laue zone reflection is excited along the locus of incident directions where the Ewald sphere passes through it, which is a nearly straight line across the cone, dark (deficient) in the 000 disc and bright (excess) in the disc of that reflection. The tool finds the zero of the exact excitation error for every HOLZ reflection whose line crosses the cone, with the mean-inner-potential refraction when the dynamical card asks for it (the first-order dynamical correction, which shifts the lines by a few hundredths of a milliradian), and darkens each line by the two-beam estimate sin²(πt/ξg) times a gain, because most HOLZ reflections have extinction distances of microns and their lines would be invisible at their true depth. Hover a line in the 000 disc to read its indices, layer, extinction distance and two-beam width. The residual dynamical shifts from the zero-layer interactions (Zuo 1992) are not modelled: the positions serve teaching and indexing, not lattice-parameter refinement below a part in a thousand.

Working with your own pattern

Load your image under the simulation and align it: the transmitted beam on the centre, the camera constant or a drag for the scale, Shift-drag for the rotation. A measured spot list (the indexer's JSON, or plain x, y lines) is then matched to the nearest simulated spots through a six-parameter camera model, scale, rotation, first-order ellipse and centre, and the residual is reported per spot and as an RMS. Refining the model with the simplex answers the question behind roadmap item 1.3: whether the mismatch is your camera or your zone axis. The tilt is deliberately not refined, because it changes which spots exist rather than where they sit; perturb it with the arrows and watch the matched count. The distortion calibrator's saved value can be read into the ellipse fields, and the indexer can hand a whole solution over (structure, zone, camera constant, spots and image) through a browser-local key.

How far off the zone

Three estimators, each with the uncertainty it deserves. The Laue circle: off the zone, the strongly excited ZOLZ spots lie on a circle through 000 whose centre sits L tan τ from it, so a click on the centre gives the tilt vector to about a spot spacing. The intensity asymmetry of a ±g pair gives the component along g from the ratio of shape factors, kinematically, and therefore only for thin foils with a thickness estimate; the routine refuses ratios the kinematical model cannot produce. The Kikuchi band displacement, L tan τn along the band's normal, is the precise one, and the reason Kikuchi lines are the microscopist's compass. The estimate can be applied as a crystal tilt to see whether it brings the simulation onto the zone, and the orientation handed to the Kikuchi map navigator to see which band to follow.

Symmetry and beam interaction

The symmetry card reads the space group back to you: the occupied sites with their multiplicities, the reflection conditions derived from the operations themselves (for every operation whose rotation part fixes a reflection, h·t must be an integer, which is the origin of every glide and screw absence), and the operators in Seitz form. The conditions are checked against the structure factors of a general-position test structure in every library group, both ways: nothing the conditions forbid has a nonzero F, and nothing with F = 0 escapes them. The beam-interaction card draws the powder sticks, the scattering-factor curves of the crystal's elements, and gives the elastic mean free path from the first Born cross-section, which is the number that tells you why a 100 nm foil of gold is a many-beam problem and a 100 nm foil of aluminium nearly is not.

Imaging

The HRTEM tab plots the contrast transfer function sinχ(u) with the temporal and spatial envelopes for the lens you describe, marks the Scherzer defocus, the point resolution and the information limit, and ticks the crystal's reflections along the axis so you can see which of them the lens passes. The tableau then takes the dynamical exit wave of the current orientation, applies the lens, and shows the image across defocus and down thickness. Two models are offered. The partially coherent one uses the transmission cross-coefficient (Frank 1973; Ishizuka 1980): the image is Σg,h ψgψh* T(g,h) e2πi(g−h)·r with T(g,h) = e−i[χ(g)−χ(h)] Et(g,h) Es(g,h), where the focus-spread envelope depends on g² − h² and the illumination envelope on the difference of the aberration gradients, so two beams on the same achromatic circle interfere however large the energy spread, and the mean intensity is conserved. The coherent-with-envelopes model damps each beam on its own, which is the linear-imaging picture of the CTF plot and is only right for a weak phase object; at 40 nm of a heavy crystal the two differ visibly, which is why both are there. The cross term between the two spreads in Ishizuka's full expression is dropped. The contrast reversals are the lesson: the same atoms look bright at one defocus and dark at the next, and a 20 nm change in thickness does the same thing. The exit wave can also come from the multislice engine described below, using the supercell and the defect set on the STEM card; the tableau is then an image of the supercell window, not of the unit cell, and a dislocation dipole or a stacking-fault slab appears in it with the same lens applied.

STEM

The STEM tab images the same crystal with a focused probe. The probe is a coherent sum of plane waves inside the aperture, each carrying e−iχ for the defocus and spherical aberration you set, and for a periodic crystal every plane wave whose wave vector differs from another by a reciprocal-lattice vector of the zone shares one Bloch-wave solution: the response to an incident wave k0 + g' is a column of the scattering matrix for k0. So the aperture is covered by a mesh of k0 inside one reciprocal cell, one matrix exponential per mesh point serves every plane wave that point generates, and the image is a Fourier series on the reciprocal lattice, I(R) = ΣΔ cΔ e−2πiΔ·R, with coefficients from the pairs of incident waves that differ by Δ (Nellist and Pennycook 2000). Each detector collects two things: the Bragg beams that land on it at the exit face, and the thermal-diffuse intensity scattered into it, integrated through the thickness with the detector-limited TDS matrix of the Einstein model (Pennycook and Jesson 1991; Allen, Findlay, Oxley and Rossouw 2003). The probe is normalised to unit current, so a BF image says what fraction of the probe reaches the bright-field detector and a HAADF image what fraction is scattered to high angle, which is the Z-contrast signal: proportional to Z1.7 or so per atom in the single-scattering limit (the page checks that exponent from its own cross-sections), and channelling and absorption do the rest with thickness. The probe profile and its full width at half maximum are drawn beside the images, and the source size is applied as a Gaussian blur. What the model leaves out is stated on the card: zero-layer beams only, so no HOLZ contribution and no Bragg beams beyond the beam set on a low-angle annular detector; a single thermal-diffuse event with no rescattering of the phonon-scattered electrons; independent atoms with isotropic B; and a periodic probe whose repeat is the sampling supercell, so raise the sampling if the probe tails matter. Compare Si [110] with a corrected 25 mrad probe (dumbbells resolved at 0.136 nm) and an uncorrected 9.5 mrad probe (one blob), then GaAs [110] to see the Ga and As columns separate in HAADF. With WebGPU the aperture cells run on the graphics card: the scattering matrix of every cell as one compute shader and the thickness stepping with the detector matrices as another, with the same beams, matrices and bookkeeping as the worker (the many-beam engine select on the Dynamical card chooses; the two agree to a part in ten million).

Multislice on the graphics card

The Bloch-wave STEM above needs a periodic crystal. The multislice engine does not: it takes the crystal as a supercell in the beam frame (two shortest lattice vectors perpendicular to the zone axis, made as close to orthogonal as an integer combination allows, repeated to the size you set), cuts it into slices along the beam, and propagates the wave through it slice by slice, transmission t(x) = exp[iσvz(x)] through the projected potential of the slice and free-space propagation exp(−iπλΔz q²) to the next (Cowley and Moodie 1957; Kirkland 2020). The projected potential is the Fourier sum of the same Peng scattering factors that make the diffraction pattern, band-limited to two thirds of the grid's Nyquist frequency so that aliasing cannot feed intensity back into the image. Thermal motion is frozen phonons (Loane, Xu and Silcox 1991): each configuration displaces every atom by a Gaussian with variance B/(8π²) per axis, the elastic calculation is run through the displaced crystal, and the intensities are averaged over the configurations, which gives the thermal-diffuse background, its high-angle Z contrast and the loss from the Bragg beams without an absorptive potential. Zero configurations means the static lattice with the Debye-Waller factor and no thermal-diffuse scattering at all, useful for seeing what the phonons add.

Two ways of forming the STEM image are offered. For the perfect crystal, the S-matrix method (Ophus 2017): every plane wave of the aperture on the reciprocal lattice of the supercell is run through the crystal once, the detector sum of every pair of exit waves is stored as a matrix, and the image at any probe position is a quadratic form of that matrix with the aberration phases of the probe. That is the same Fourier-series form as the Bloch-wave STEM, so the two engines feed the same images, the same column table and the same hand-off to the quantitative HAADF tool, and the page checks that a probe built from the plane-wave set equals the probe propagated directly. The PRISM factor keeps every f-th plane wave and trades a coarser probe sampling for f² times fewer runs. For a defect, the probe is scanned: the aperture-limited probe is placed at each point of the scan grid in Fourier space, propagated through the supercell, and the detector intensity recorded, so the S-matrix image repeats the defect every period and the scan does not. The defects available are an end-on dislocation dipole (two opposite Burgers vectors a half-period apart, isotropic displacement field, so the supercell stays periodic), an edge-on stacking-fault slab (the middle half of the supercell shifted by R), and a column substitution or vacancy at the centre of the scan window. The HRTEM tableau can take the exit wave of the same supercell.

All of this runs on the graphics card through WebGPU: the fast Fourier transforms, the potential, the transmission and propagation, the detector sums and the probe shifts are compute shaders, and the browser reports which adapter it found. On a laptop GPU an S-matrix run of a few hundred plane waves through a 2 nm supercell takes seconds; a 24 × 24 scan with six phonon configurations takes a minute or two. Without WebGPU the same job runs in JavaScript in a worker up to a cost limit and says so, and the Bloch-wave engine stays available. The GPU results agree with the JavaScript engine to single precision (a part in 106 on the detector matrices), the JavaScript engine agrees with the Bloch-wave code for aluminium [001] to two or three percent over the beams both share, a single atom reproduces its scattering factor, the mean inner potential matches the dynamical card, a free-space Gaussian spreads at the rate the Fresnel propagator predicts, and the norm of the wave is conserved to a part in 1010 slice by slice. What the engine leaves out is stated below.

The structure library

The library holds 604 structures, from the elements through the phases of steels, superalloys, titanium, aluminium, magnesium and copper alloys, the intermetallics and topologically close-packed phases, the carbides, nitrides, borides and silicides, the oxides including spinels, perovskites, garnets and the YBCO cuprate, the semiconductors, the layered and two-dimensional materials, and the minerals and salts including apatite. Each entry is a structure prototype (87 of them: fcc, bcc, hcp, B2, L12, D022, C14, sigma, cementite, spinel, corundum and so on, each with its Wyckoff sites in the International Tables setting) plus lattice parameters and atomic coordinates from the literature, with the space group generated from its International Tables generators. Every entry was checked automatically before it was allowed in: the group order and the multiplicity of every Wyckoff site, the stoichiometry against the formula, the shortest interatomic distance, the density against a reference value where one is known, and bond lengths against published values for the complicated prototypes. Lattice parameters are room-temperature values rounded to three or four decimals in angstroms; an entry's note says when a composition is averaged over a site, when a disordered sublattice is approximated, when a pseudo-cubic cell stands in for a distorted one, and when the coordinates should be checked against a database CIF before publication (the S phase and beta double-prime entries say so). For a publication, use the CIF of your own composition: the CIF loader takes it with its full symmetry.

What is approximated, and what is left out

The dynamical calculation is exact for the beams it includes and blind to the ones it does not; the beam count is yours to raise. Absorption is the Einstein-model thermal-diffuse integral with independent atoms and isotropic Debye-Waller factors from a room-temperature table (or one B you set), not a phonon calculation; the phenomenological fraction is kept as an option. Scattering factors are neutral-atom fits with a Rutherford tail beyond s = 2 Å−1, so ionic crystals use neutral atoms and high-angle cross-sections of heavy atoms carry an error of order ten percent. Precession discs are summed, not convolved with a real probe. HOLZ lines in the CBED discs are geometric with the refraction correction, weighted by a two-beam estimate, not part of the many-beam calculation, and the HOLZ discs themselves are drawn as outlines. HRTEM images use separable transmission-cross-coefficient envelopes (or the coherent envelopes on request) and aberrations up to C5, no astigmatism or coma. STEM images from the Bloch-wave engine carry a single thermal-diffuse scattering event, zero-layer beams, and a periodic probe. The multislice engine drops those three limits but has its own: the supercell is periodic, so a dislocation must be a dipole and the scan window sees the copies when it is larger than the cell; the displacement fields are isotropic elasticity; the slices are flat and the atoms are not tilted within a slice; the scattering is elastic and the phonons are uncorrelated Einstein oscillators, so phonon dispersion and correlated motion are absent; there is no plasmon or core-loss channel; the grid is single precision on the GPU, the sampling limits the maximum detector angle and the page says when it has clipped a detector; and the aberrations stop at C5. Double diffraction is present in the dynamical mode (it is what the many-beam coupling is) and absent in the kinematical ones. The library's mixed-occupancy entries are averaged, so a short-range-ordered or partly ordered alloy shows the average lattice only. A CIF without a symmetry loop is expanded with the lattice centring only and says so. Camera flips, rotation and centre offset are provided; match them to a known pattern before trusting handedness.

What comes next

The page now carries the browser slice of ReciPro's feature set for the TEM user. What remains is stated so that a gap is not mistaken for a claim: an independent check of a few dozen library entries against Crystallography Open Database CIFs before the page goes live; the structures still left out because their coordinates could not be reproduced with confidence (boron carbide, Cr7C3, Cr3C2, the M6C eta carbide, the mu phase, Al3Ni, Ti2Ni, beta-FeSi2, the LPSO phases, the feldspars and micas); a generator table for all 230 groups so that a CIF without a symmetry loop still expands correctly; reading DM3 and DM4 headers so the camera length and pixel size arrive with the image; the indexer's side of the solution hand-off, which needs a change to that page; dynamical HOLZ line shifts and HOLZ contributions to the Bloch-wave STEM beam set; a multislice CBED and 4D-STEM mode, which the S-matrix already contains and only needs a detector geometry and a display; anisotropic elasticity for the dislocation fields; a half-precision path for larger supercells; and, if traffic asks for it, a lazily loaded index of a few thousand database entries. Deliberately not planned: the full mineral database, X-ray and neutron modes, dynamical EBSD master patterns, inelastic (plasmon and core-loss) imaging, and a second indexer. Those are desktop workloads or off this site's subject, and ReciPro, JEMS, EMsoft and abTEM do them well.

References

Show the 23 references
  1. D. B. Williams and C. B. Carter, Transmission Electron Microscopy, 2nd ed., Springer (2009): chapters 14 and 15 (Bloch waves, dynamical two-beam theory), 16 to 21 (diffraction patterns, indexing, Kikuchi lines, HOLZ lines, CBED), 22 (STEM imaging and Z contrast), 27 and 28 (phase contrast, the CTF).
  2. P. B. Hirsch, A. Howie, R. B. Nicholson, D. W. Pashley and M. J. Whelan, Electron Microscopy of Thin Crystals, Butterworths (1965): the many-beam equations and the extinction-distance table.
  3. M. De Graef, Introduction to Conventional Transmission Electron Microscopy, Cambridge (2003), chapter 5: the structure matrix, the scattering-matrix formulation, Ug from the electron structure factor.
  4. J. M. Zuo and J. C. H. Spence, Advanced Transmission Electron Microscopy, Springer (2017): Bloch-wave beam selection, absorption, CBED.
  5. J. C. H. Spence, High-Resolution Electron Microscopy, 4th ed., Oxford (2013): the contrast transfer function and its envelopes.
  6. C. R. Hall and P. B. Hirsch, Effect of thermal diffuse scattering on propagation of high energy electrons through crystals, Proc. R. Soc. A 286, 158-177 (1965); D. M. Bird and Q. A. King, Absorptive form factors for high-energy electron diffraction, Acta Cryst. A46, 202-208 (1990): the thermal-diffuse absorptive potential.
  7. L.-M. Peng, G. Ren, S. L. Dudarev and M. J. Whelan, Debye-Waller factors and absorptive scattering factors of elemental crystals, Acta Cryst. A52, 456-470 (1996): the room-temperature B table.
  8. S. J. Pennycook and D. E. Jesson, High-resolution Z-contrast imaging of crystals, Ultramicroscopy 37, 14-38 (1991); P. D. Nellist and S. J. Pennycook, The principles and interpretation of annular dark-field Z-contrast imaging, Adv. Imaging Electron Phys. 113, 147-203 (2000): Bloch-wave STEM and the Fourier-series form of the image.
  9. L. J. Allen, S. D. Findlay, M. P. Oxley and C. J. Rossouw, Lattice-resolution contrast from a focused coherent electron probe. Part I, Ultramicroscopy 96, 47-63 (2003); S. D. Findlay, L. J. Allen, M. P. Oxley and C. J. Rossouw, Part II, Ultramicroscopy 96, 65-81 (2003): the non-local detector-limited TDS matrix.
  10. E. J. Kirkland, Advanced Computing in Electron Microscopy, 3rd ed., Springer (2020): probe formation, the optimum probe conditions, the multislice algorithm, the band limit and the frozen-phonon average as implemented here.
  11. J. M. Cowley and A. F. Moodie, The scattering of electrons by atoms and crystals. I. A new theoretical approach, Acta Cryst. 10, 609-619 (1957): the multislice formulation.
  12. R. F. Loane, P. Xu and J. Silcox, Thermal vibrations in convergent-beam electron diffraction, Acta Cryst. A47, 267-278 (1991): the frozen-phonon model.
  13. C. Ophus, A fast image simulation algorithm for scanning transmission electron microscopy, Adv. Struct. Chem. Imaging 3, 13 (2017): the PRISM S-matrix method and the interpolation factor.
  14. J. M. LeBeau, S. D. Findlay, L. J. Allen and S. Stemmer, Quantitative atomic resolution scanning transmission electron microscopy, Phys. Rev. Lett. 100, 206101 (2008): STEM intensities as fractions of the probe current, compared with frozen-phonon multislice.
  15. J. Frank, The envelope of electron microscopic transfer functions for partially coherent illumination, Optik 38, 519-536 (1973); K. Ishizuka, Contrast transfer of crystal images in TEM, Ultramicroscopy 5, 55-65 (1980): the transmission cross-coefficient.
  16. J. M. Zuo, Automated lattice parameter measurement from HOLZ lines and their use for the measurement of oxygen content in YBa2Cu3O7-δ from nanometer-sized regions, Ultramicroscopy 41, 211-223 (1992): HOLZ line geometry and its dynamical correction.
  17. R. Vincent and P. A. Midgley, Double conical beam-rocking system for measurement of integrated electron diffraction intensities, Ultramicroscopy 53, 271-282 (1994): precession.
  18. P. M. Kelly, A. Jostsons, R. G. Blake and J. G. Napier, The determination of foil thickness by scanning transmission electron microscopy, Phys. Stat. Sol. (a) 31, 771-780 (1975): thickness from CBED fringes.
  19. L.-M. Peng, G. Ren, S. L. Dudarev and M. J. Whelan, Robust parameterization of elastic and absorptive electron atomic scattering factors, Acta Cryst. A52, 257-276 (1996).
  20. J. W. Edington, Practical Electron Microscopy in Materials Science, Monograph 2: Electron Diffraction in the Electron Microscope, Macmillan (1975).
  21. International Tables for Crystallography, Volume A: Space-group symmetry (generators, Wyckoff positions and reflection conditions).
  22. Y. Seto and M. Ohtsuka, ReciPro: free and open-source multipurpose crystallographic software, J. Appl. Cryst. 55, 397-410 (2022). The desktop program whose feature set this page follows; its scattering-factor table was transcribed from ReciPro's MIT-licensed source.
  23. J. D. Jorgensen et al., Structural properties of oxygen-deficient YBa2Cu3O7-δ, Phys. Rev. B 41, 1863 (1990); J. M. Hughes, M. Cameron and K. D. Crowley, Structural variations in natural F, OH and Cl apatites, Am. Mineral. 74, 870 (1989); H. Perlitz and A. Westgren, Arkiv Kemi 16B, 13 (1943); H. W. Zandbergen, S. J. Andersen and J. Jansen, Science 277, 1221 (1997) and S. J. Andersen et al., Acta Mater. 46, 3283 (1998): the four structures added in this version.
Cite this page: Tripathy, Manisha. “SAED Pattern Simulator.” untethered atom, 2026, https://untetheredatom.com/tem/saed-pattern-simulator.
BibTeX
@misc{tripathy2026saedpatternsimulator,
  author = {Tripathy, Manisha},
  title  = {SAED Pattern Simulator},
  year   = {2026},
  howpublished = {\url{https://untetheredatom.com/tem/saed-pattern-simulator}},
  note   = {Interactive web tool}
}
Last updated 9 September 2026.