EXAFS data visualization and analysis Bruce Ravel Synchrotron Methods Group, Ceramics Division Materials Measurement Laboratory National Institute of Standards and Technology & Local Contact, Beamline X23A2 National Synchrotron Light Source XAFS15 Conference, July 23–27, 2012 1 / 13 Path aggregation techniques for EXAFS data visualization and analysis
of discussed here are the work of John Rehr, Steve Zabinsky, Jos´ e Mustre de Leon, Alex Ankudinov, and Bob Albers Ifeﬃt Matt Newville is the author of and my long-time collaborator on all things related to EXAFS data analysis The many, many users of my software Several people deserve special mention for speciﬁc inﬂuence on the concepts presented here, including Shelly Kelly, Scott Calvin, Joe Woicik, Eric Breyneart, Stephen Price, and Andreas Voegelin. 2 / 13 Path aggregation techniques for EXAFS data visualization and analysis
ﬁrst big concept of is that χ(k) can be expressed as a path expansion. χ(k, Γ) =Im (NΓ S2 0 )FΓ (k) 2 kR2 Γ sin(2kRΓ + ΦΓ (k))e−2σ2 Γ k2 e−2RΓ/λ(k) (1) χtheory (k) = Γ χ(k, Γ) RΓ = R0,Γ + ∆RΓ (2) k =N (E0 − ∆E0 ) (3) ’s second big concept is that the multiple scattering paths are expressed using the same formula, where FΓ (k) and ΦΓ (k) include the eﬀect of all scattering events for the MS path. 3 / 13 Path aggregation techniques for EXAFS data visualization and analysis
calculation of the atomic potentials involves many steps. Improvements to the potential model are central to and . The most salient (to this talk) aspect of the potential calculation is the construction of the muﬃn tins. 1 Neutral atoms are placed at the coordinates speciﬁed 2 The overlapping Norman radii (i.e. the radii of the charge-neutral atoms) are shrunk algorithmically 3 The muﬃn tin radii just touch 4 Excess charge is distributed uniformly in the interstice The input structure must be sensible If the input atomic coordinates are sensible, the muﬃn tins will be constructed sensibly. 4 / 13 Path aggregation techniques for EXAFS data visualization and analysis Picture adapted from M.D. Pauli, http://hermes.phys.uwm.edu/projects/elecstruct/mufpot/MP/MP.Theory4.html
list of atomic coordinates for a cluster: 1 Find all paths (0i0), i = 0 in the cluster. Put each such path in a heap. 5 / 13 Path aggregation techniques for EXAFS data visualization and analysis
list of atomic coordinates for a cluster: 1 Find all paths (0i0), i = 0 in the cluster. Put each such path in a heap. 5 / 13 Path aggregation techniques for EXAFS data visualization and analysis A heap is a tree-shaped data structure. Each node is guaranteed to represent a shorter path length than all nodes below it. The top node is, thus, guaranteed to be the shortest path. Zabinsky et al, Phys. Rev. B, 52, 2995-3009 (1995) DOI: 10.1103/PhysRevB.52.2995
list of atomic coordinates for a cluster: 1 Find all paths (0i0), i = 0 in the cluster. Put each such path in a heap. 2 For each such path, add a leg j = i, j = 0. Put all (0ij0) in the heap. 5 / 13 Path aggregation techniques for EXAFS data visualization and analysis
list of atomic coordinates for a cluster: 1 Find all paths (0i0), i = 0 in the cluster. Put each such path in a heap. 2 For each such path, add a leg j = i, j = 0. Put all (0ij0) in the heap. 3 Up to some order of scattering, populate the heap with (0i...x0). 5 / 13 Path aggregation techniques for EXAFS data visualization and analysis
list of atomic coordinates for a cluster: 1 Find all paths (0i0), i = 0 in the cluster. Put each such path in a heap. 2 For each such path, add a leg j = i, j = 0. Put all (0ij0) in the heap. 3 Up to some order of scattering, populate the heap with (0i...x0). 4 Test each path (0i...x0) for magnitude. If small, discard and do not consider any (0i...xy0). 5 / 13 Path aggregation techniques for EXAFS data visualization and analysis
list of atomic coordinates for a cluster: 1 Find all paths (0i0), i = 0 in the cluster. Put each such path in a heap. 2 For each such path, add a leg j = i, j = 0. Put all (0ij0) in the heap. 3 Up to some order of scattering, populate the heap with (0i...x0). 4 Test each path (0i...x0) for magnitude. If small, discard and do not consider any (0i...xy0). 5 Use up all atoms in the cluster and up to some order of scattering ( ’s default is 7 legs). 5 / 13 Path aggregation techniques for EXAFS data visualization and analysis
list of atomic coordinates for a cluster: 1 Find all paths (0i0), i = 0 in the cluster. Put each such path in a heap. 2 For each such path, add a leg j = i, j = 0. Put all (0ij0) in the heap. 3 Up to some order of scattering, populate the heap with (0i...x0). 4 Test each path (0i...x0) for magnitude. If small, discard and do not consider any (0i...xy0). 5 Use up all atoms in the cluster and up to some order of scattering ( ’s default is 7 legs). Construct the path list by pulling the top path from the heap until the heap is empty. 5 / 13 Path aggregation techniques for EXAFS data visualization and analysis
of Feﬀ’s pathﬁnder The pathﬁnder is fast and eﬃcient Fast – using a heap guarantees that the paths will emerge sorted, but the paths can be enumerated in any order Eﬃcient – no scattering geometries are missed, tiny paths are removed before being added to the heap The pathﬁnder has a serious shortcoming∗ It only computes things represented in the input cluster. In this short talk, I will demonstrate several tools from the current version of my EXAFS data analysis program which build upon ’s concept of a path. 6 / 13 Path aggregation techniques for EXAFS data visualization and analysis ∗ More than one, actually. Ask me about fuzzy degeneracy and degeneracy breaking.
VPath is an arbitrary grouping of SS and MS paths which is summed and plotted as a unit. Example #1 shows a ﬁt to partially oxidized Co nanoparticles. The purple line shows the sum of the Co metal paths, the brown line shows the sum of the Co oxide paths. Example #2 shows a ﬁt to uranyl acetate in solution. The green line shows the sum of the SS and MS paths involving scattering from the short axial oxygen atoms. VPaths are easily made from any group of paths in . 7 / 13 Path aggregation techniques for EXAFS data visualization and analysis
(QFS Path) Some data analysis problems just aren’t all that complicated. If you have 1st shell data and you know what the ligand is, you should not have to ﬁnd structural data. Identify the absorber, the scatterer, the edge, and the nominal distance: Construct a rock-salt cluster, run with sensible muﬃn tins, keep the ﬁrst path, discard the rest. This is very fast in and is suﬃcient to determine N, R, and σ2 . 8 / 13 Path aggregation techniques for EXAFS data visualization and analysis This feature in was swiped from inspired by the similar thing in SIXPACK.
An SSPath is a path constructed for a scatterer at an arbitrary distance. Unlike QFS, this is appropriate for higher shells. The data are of LaNiO3. An attempt to ﬁt these data as a perovskite fails to ﬁt the peak at 2.55 ˚ A. To investigate an assumption of NiO segregation during sample preparation, an SSPath is constructed using the Ni scattering potential (with its sensible muﬃn tins) from the LaNiO3 calculation and a nominal distance of 2.95 ˚ A. The ﬁt gives 2.5 ± 1.3 Ni atoms at 2.97 ± 0.02 ˚ A, compared to the Ni-Ni distance of 2.95 ˚ A in NiO. 9 / 13 Path aggregation techniques for EXAFS data visualization and analysis Unpublished data courtesy of Joe Woicik.
molecular dynamics (or some other structural theory) to simulate a highly non-Gaussian partial pair distribution. 1 Dig through all pairs in the MD, bin them into a histogram 2 Compute an SSPath for a scatterer at each bin position, multiply by the bin population 3 Sum up the contribution from each bin, divide by the total population The red line represents χ(k) for a single atom distributed over the histogram. 10 / 13 Path aggregation techniques for EXAFS data visualization and analysis S.W.T. Price et al., Phys. Rev. B 85, 075439 (2012) DOI: 10.1103/PhysRevB.85.075439
empirical standards created by Fourier ﬁltering χ(k) was one of the ﬁrst methods proposed for analyzing ﬁrst shell EXAFS data. For a multi-phase sample, one might model the EXAFS data as a sum of standards plus paths, which represent the unknown portion of the data. The red line shows the data Fourier ﬁltered from 1 ˚ A to 3 ˚ A using complex FTs. The magnitude and phase are stored in the form uses for paths, thus can be imported into and used by like any other path. The path-like representation stores the contribution as magnitude and phase, which are slowly varying, thus allowing representation of higher shells 11 / 13 Path aggregation techniques for EXAFS data visualization and analysis This was suggested to me by Andreas Voegelin. Conversion of ˜ ˜ χ(k) to a ‘feffNNNN.dat’ ﬁle has been implemented by several people.
SSPaths, arbitrary MS paths using potentials from an existing calculation Interpolation between forward scattering paths computed at various angles to approximate forward scattering angle as a path parameter in a nearly collinear multiple scattering path Two dimensional histograms (length on one axis, angle on the other) for three-body MS paths Groups of parametrized paths representing structural units which can be plugged into a ﬁtting model 12 / 13 Path aggregation techniques for EXAFS data visualization and analysis
All these path-like concepts are presented in the form of a normal path. Each integrates seamlessly into and can be used in the current version of . None of these concepts are complicated and each could be implemented easily in any other data analysis software based on . 13 / 13 Path aggregation techniques for EXAFS data visualization and analysis