|
This page is an interface to my program X0h calculating crystal susceptibilities X0 , Xh (chi-zero , chi-h) for x-ray scattering and Bragg diffraction. The program also provides the associated values of the Bragg diffraction peak FWHM, extinction and absorption lengths, which can be helpful in the analysis of respective experiments.
The calculation consists of 5 steps:
For step-1 X0h uses the 9-factors interpolation formula and the data from the International Tables for X-ray Crystallography [1].
For step-2 the International Tables contain data for characteristic x-ray lines only (Cr-Ka1, Fe-Ka1, Cu-Ka1, Mo-Ka1, and Ag-Ka1). Therefore, X0h interpolates them for intermediate wavelengths with the help of algorithm published in [2]. This algorithm evaluates the oscillator strengths of atoms at their absorption edges for each atom constituting the crystal unit cell. Then, Don Cromer's formula [3] for df' and df" is applied.
Please, note:
For those who are interested, the Henke-Gullikson-Davis data file is downloadable from the LBL and the Brennan-Cowan code is available through the SSRL. Also, both of those data files can be found at the ESRF DABAX server.
For step-3 the method of calculating the
absorption cross sections by Hildebrandt et al [4] is used for the most
of elements with Z={6-54}. This works well for the 5-25 keV range and
Hildebrandt technique is recommended for the calculations of Bragg diffraction
from crystals since the dipole and quadrupole parts of absorption are provided.
Once the cross sections are calculated, they are used to evaluate the
Im(X0) and Im(Xh) values.
For heavy and light elements as well as outside the 5-25 keV energy range the
dipole part of absorption cross section is calculated through df"
or several other techniques are applied [2], while the quadrupole part is taken
zero.
With the option to use external database for
df' and df" the cross section is always calculated from
df".
For step-4 the input is taken from [1] either via the Debye temperature TD , or the room-temperature value for the Debye coefficient B (depending on what is available in the references).
For step-5 X0h makes use of a simple expandable database containing the coordinates of atoms in unit cells for a number of crystal structures.
ATTENTION: New structure submissions are welcome. Submissions are normally added to the database within a day. Click here for instructions how to submit a structure. Please, e-mail structure descriptions to .
Acknowledgments: The idea of this site appeared under the influence of excellent x-ray server at LBL maintained by Eric Gullikson. Some part of the X0h code was written in collaboration with Olga Lugovskaya. Finally, very systematic practical tests of this program were carried out by my wife and collaborator Elena Kondrashkina.
References
Click here to proceed to X0h input form.
Access to X0h can go beyond simple Web forms presented on this server. With a little of programming on the client side X0h can be easily integrated into users scripts and other software. For example, a diffraction program written by a user can remotely access X-ray structure amplitudes provided by X0h or user can make a script plotting some X0h data depending on X-ray energy or Miller indices.
These advanced X0h features are available since 01/2006 due to adding keyworded text-form X0h output. The links below provide two example scripts that request parameters X0r and X0i for the Germanium crystal depending on the X-ray energy and save them into a file named example.dat.
getX0h.sh | A bash script using lynx and sed. The script can natively run on UNIX and MAC OS. To run it on Windows, you have to install Cygwin, a freeware package providing many Linux utilities under Windows. |
getX0h.pl | A Perl script using Perl LWP module (WWW library for Perl). The latter is usually a part of standard Perl distribution. The Perl interpreter itself is default on UNIX and MAC OS. Freeware Perl distibution for Windows can be installed either as a part of Cygwin, or as a standalone package available from ActiveState. |
Both of the scripts have the same functionalilty and should produce the output file example.dat looking like this:
#Energy, xr0, xi0 10, -0.18163E-04, 0.35103E-06 11, -0.13836E-04, 0.24208E-06 12, -0.12809E-04, 0.14516E-05
Please, report problems and send comments to | |