Xray::...antler(3pm)
π Xray::Absorption::Chantler π
okay so bestie, this is the Perl manual page for Xray::...antler(3pm) β it lives in the User Contributed Perl Documentation section, and it's genuinely iconic. buckle up. π
β¨ NAME β¨
Xray::Absorption::Chantler β a Perl interface to the Chantler tables. that's it, that's the whole name, slay. π
πΈ SYNOPSIS πΈ
like, the whole vibe in two lines:
use Xray::Absorption;
Xray::Absorption -> load("chantler");
and then go read the docs for Xray::Absorption for the details, ok? iykyk. π¦
π DESCRIPTION π
so this module gets inherited by the Xray::Absorption module, and it's the plug that gives you access to all the data chillin' inside the Chantler tables of anomalous scattering factors plus line and edge energies. main character energy fr. π
the data in here β everybody calls it "The Chantler Tables" β was published as:
C. T. Chantler
Theoretical Form Factor, Attenuation, and Scattering Tabulation
for Z = 1 - 92 from E = 1 - 10 eV to E = 0.4 - 1.0 MeV
J. Phys. Chem. Ref. Data 24, 71 (1995)
and you can find that on the web at:
http://physics.nist.gov/PhysRefData/FFast/Text/cover.html
the Chantler data itself is available on the web at:
http://physics.nist.gov/PhysRefData/FFast/html/form.html
and if you want even more info, C.T. Chantler has a personal web page:
http://optics.ph.unimelb.edu.au/~chantler/home.html
okay now the fun part π β the data lives inside a database file called chantler.db, which gets generated at install time from the flat text files of the Chantler data. it's stored in a Storable archive using "network" ordering. the way that this is literally so smart?? it gives you speedy disk and memory access plus network and platform portability. obsessed. β¨
the required "File::Spec", "Chemistry::Elements", and "Storable" modules are all available from CPAN. π«Ά
π₯ METHODS π₯
ngl, the methods in this module behave a bit different from the other modules used by "Xray::Absorption". so this section is specifically about the methods that act differently for this data resource. no cap. π―
"get_energy"β example time:
$energy = Xray::Absorption -> get_energy($elem, $edge);
this behaves similarly to the "get_energy" method of the other resources. BUT β¨ when you're using the Chantler data resource, $edge can be any of K, L1-L3, M1-M5, N1-N7, O1-O5, or P1-P3. here's the tea though: line energies are not supplied with the Chantler data set π« β so the line energies from the McMaster tables are used instead.
"cross_section"β example time again:
$xsec = Xray::Absorption -> cross_section($elem, $energy, $mode);
this behaves slightly differently from the similar method for the McMaster and Elam resources. the Chantler tables contain anomalous scattering factors and the sum of the coherent and incoherent scattering cross-sections. the photo-electric cross-section gets calculated from the imaginary part of the anomalous scattering, using this formula:
mu = 2 * r_e * lambda * conv * f_2
where "r_e" is the classical electron radius, lamdba is the photon wavelength, and conv is a units conversion factor. and the numbers, bestie, the NUMBERS:
r_e = 2.817938 x 10^-15 m
lambda = 2 pi hbar c / energy
hbar*c = 1973.27053324 eV*Angstrom
conv = Avagadro / atomic weight
= 6.022045e7 / weight in cgs
okay so the $mode argument is different here than for the other resources π. the options are "xsec", "f1", "f2", "photo", and "scatter", and they tell this method to return, respectively:
- the full cross-section cross-section
- the real or imaginary anomalous scattering factor
- just the photoelectric crosss-section
- or just the coherent and incoherent scattering
the values for f1 and f2 are computed by linear interpolation of a semi-log scale, as described in the literature reference. and care is taken to avoid the discontinuities at the edges β because we do not do jump scares around here. π
π EDGE AND LINE ENERGIES π
the Chantler data resource provides a fairly complete set of edge energies. any edge tabulated on the Gwyn William's Table of Electron Binding Energies for the Elements β yes, that one, the one published by NSLS and taped on the door of just about every hutch at NSLS πͺβ¨ β is in the Chantler data resource. the Chantler data comes with the same, limited set of fluorescence energies as McMaster. that's just how it is. π
π BUGS AND THINGS TO DO π
- it would be nice to improve the inter-/extrapolation near absorption edges. as it stands, these tables produce really poor DAFS output. π yeah. that's the bug. dramatic but true.
π AUTHOR π
Bruce Ravel, bruce@phys.washington.edu
http://feff.phys.washington.edu/~ravel/software/Absorption
and that's the whole page, bestie!! π this was rendered from perl v5.34.0, dated 2022-06-28, and it's the Xray::...antler(3pm) page from the User Contributed Perl Documentation. mwah. πβ¨π¦
π¦ where this page comes from
- debian bookworm: libxray-absorption-perl 3.0.1-4 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- debian trixie: libxray-absorption-perl 3.0.1-4 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- ubuntu noble: libxray-absorption-perl 3.0.1-4 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- ubuntu resolute: libxray-absorption-perl 3.0.1-4 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- ubuntu stonking: libxray-absorption-perl 3.0.1-4 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms