Tutorials

The Savitzky-Golay (Savgol) filter used in PCrystalX software is from SciPy open-source software. The Savgol filter (scipy.signal.savgol_filter) removes high frequency noise from data. It has the advantage of preserving the original shape and features of the signal better than other types of filtering approaches, such as moving averages techniques [1,2]. The user can choose Window size (the length of the filter window) and Polynomial order values.

A specimen with a two-phase model can be decomposed into a crystalline phase and an amorphous phase. The degree of crystallinity for a specimen is based on estimating the total area contributing to the overall diffraction pattern. This value is calculated from the total areas under the defined crystalline and amorphous components:

PCrystalX uses the Silk Strip() function to provide background extraction. The function is extracted from PyMca module SpecFitFuns [3,4]. Also, it is possible to remove the background using a straight line to estimate the DOC.

With XRD fitting, it is possible to remove the background of the diffraction pattern data using Silx Strip() leading to the data to a zero background baseline. Afterward, PCrystalX finds peaks using scipy.signal.find_peaks. This function finds all local maxima by a simple comparison of neighboring values. The user can change search parameters such as Peaks height and Peaks distance ( minimal horizontal distance (1) in samples between neighboring peaks) [5]. To fit the peaks, the user can choose between a Single peak fit and a Multiple peaks fit and between the Gaussian, Lorentzian and Pseudo-Voigt functions for the shape of the peaks. The output 2θ, FWHM, δ(2θ) and δ(FWHM) for each fitted peak, can be saved in a txt file.

The observed diffraction peak profile is a convolution of the instrumental profile and the specimen profile. Once the user has the 2θ and FWHM for each peak from standard specimen data (for example, LaO6), it is possible to obtain U, V and W parameters from the Caglioti equation [6] for Gaussian and Pseudo-Voigt profiles and, K and J parameters for Lorentzian profiles. When these parameters are obtained, we can use them to perform the instrumental correction using the Caglioti equations:

PCrystalX uses the integral-breadth (β) method to perform the instrumental correction. For each diffraction peak, the integral-breadth for Gaussian or Pseudo-Voigt profiles is given by (βs)² = (βo)² - (βi)² and for Lorentzian profiles: βs = βo - βi. Where βs, βo and βi are the integral-breadth of a specimen, observed and instrumental profiles. PCrystalX can save the parameters U, V and W or K and J, to be used in the Scherrer equation and/or in Williamson-Hall fitting.

In X-ray powder diffraction, a family of planes produces a peak only at a specific angle 2θ. Scherrer equation [7,8] can be used to estimate the crystallite size for each peak. The crystallite size calculated from the Scherrer equation is given by:

Where K is a constant which depends on the shape of the crystallite, λ is the wavelength, βs is the corrected line broadening at FWHM and θ is the scattering angle in radians. With 2θ and FWHM data for each peak, PCrystalX can calculate the crystallite size for each peak and then obtain the average crystallite size (Lm). The user can choose the wavelength, crystallite shape value and, it is possible to consider the parameters U, V and W or K and J for peak correction. The user can export a table containing the 2θ, FWHM and Lhkl data in a txt file.

In X-ray diffraction, a perfect crystalline sample produces sharp peaks. The absence of perfect crystallinity leads to a broadening of the diffraction peaks and we can consider two contributions for this broadening: crystallite size and lattice strain. Scherrer equation doesn't consider the lattice strain, however, G.K.Williamson and his student, W.H.Hall in 1953 [9] explained how crystallite size and strain can broaden the powder diffraction peak. They assumed that the total broadening is due to the size broadening βL and the strain broadening βe. So, βtot = βL + βe, and the Williamson-Hall equation is given by:

Where e is the strain induced in powders. With 2θ and FWHM data for each peak, the user can choose the wavelength, crystallite shape value and, is possible to consider the parameters U, V and W or K and J for peak correction to estimate the crystallite size and strain.

The total broadening of an observed diffraction peak has two contributions, the instrumental effect and the specimen. To obtain just the specimen’s contribution, a peak correction must be performed. In PCrystalX Peak Correction is possible to open an observed and instrumental X-ray diffraction data and select a specific peak (observed and instrumental) to be corrected. PCrystalX uses the integral-breadth (β) method and a Pseudo-Voigt function to perform the instrumental correction, in other words, to obtain just the specimen’s contribution.

The Warren-Averbach method involves expressing the peak intensity in terms of a Fourier sum. We need to arrange the diffraction peaks of a given pattern into h,k,l-indexed groups possessing a common crystallographic direction (e.g. <00n> = <001>, <002>, <003> where n is referred to as the order). The peak intensity in terms of a Fourier sum is given by [10,11]:

Where K is a constant, N is the number of cells in the sample, F is a structure factor, n is the harmonic number and h3 is given by:

The Fourier coefficients An and Bn are given by:

Nn is the average number of n pairs per column, N3 is the average number of cells per column, l is the peak value of h3 and Zn is the distance between pairs of unit cells.

The real Fourier coefficient (An) is the product of Nn/N3 (size coefficient) and <cos2πlZn> (distortion coefficient). Then we can define,

The real Fourier coefficient can be written in terms of the interplanar distance, d, and the undistorted distance between the pairs of cells, L = na3. Distortion changes L by ΔL = a3Zn and, εL = ΔL/L is the component of strain in the a3 direction averaged over the distance L. Tanking this into account, we can write :

Where θ2 and θ1 correspond to the initial and final angle of the diffraction peak. Since L depends on (sinθ2 - sinθ1) for each peak, we need to perform a polynomial fit in the plot of real Fourier coefficient (AL) vs L to obtain the same values of L for each peak [12]. To separate the size coefficient from the strain coefficient, we can perform a linear extrapolation on the lnAL(1/d) vs 1/d² plot for the L’s values obtained by the multiple order polynomial fit (at least two diffraction peaks). The strain coefficient obtained from the slope is used to calculate the root mean square strain RMSS (√<ε²L>). We can also use the size coefficients lnALs, obtained from the linear extrapolation, and plot the values of ALs vs L to obtain (directly from the abscissa intercept) the area-weighted crystallite size <L>A.

PCrystalX can determine <L>A, lattice strain (ε) and the volume-weighted crystallite size <L>V (using the Scherrer equation). The program can also obtain the crystallite size by assuming that the crystallites are spherical. The size distributions of crystallites tend to be log-normal and thus is given by [13]:

Linux installation:

  1. Save the file PCrystalx-Linux.tar.gz to where you want to extract the software

  2. Open a terminal window ctrl+alt+t

  3. Change directory to where your .tar.gz file is located: cd /directory_path/PCrystalx-Linux.tar.gz

  4. Extract: tar -xvf PCrystalx-Linux.tar.gz

  5. cd PCrystalx/

  6. ./PCrystalx

PL Bernardo

Associate Professor

Laboratory of Physical Sciences – LCFIS

Center of Sciences and Technology – CCT

State University of Northern Rio de Janeiro – UENF

Av. Alberto Lamego, 2000 - Parque Califórnia

Campos dos Goytacazes, RJ, Brazil

pablolb@uenf.br


pcrystalx@pcrystalx.com

Make a donation

If you like PCrystalX Software, please consider donating. Your support will help PCrystalX improve. You can use the PayPal button below.


Thank you!