Residual stress is commonly determined from the shift of X-ray diffraction (XRD) lines using the of sin2ψ method. Microstrain and grain sizes are typically evaluated from the line broadening and Williamson-Hall plot. This standard procedure is mainly applied to polycrystalline materials or thin films. Regarding grain or crystallite shapes, the spherical shape is usually sufficient enough.
However, in many cases, more complex theoretical models are required to achieve a reasonable fit of the experimental data. Moreover, such situations can occur even in relatively simple systems like thin Mo film deposited on single-crystalline MgO(100) substrate [1]. As the result of the minimisation of deformation energy, Mo forms a hetero-epitaxially grown matrix along with the twins that are specifically oriented with respect the Mo matrix. Therefore, the approach related to the family of crystallites method [2] needs to be applied during the refinement. This requires the experimental data correctly separated into groups and the diffraction peaks need to be precisely indexed. Each group is then assigned to different theoretical models for XRD line shift and broadening refinement, since the different families of crystallites can exhibit different properties. For example, different components of the residual stress or asymmetric shapes of crystallites grown in the specific crystallographic directions.
For this purpose, the Matlab routine PSB_GUI (with a graphical user interface) has been developed. It enables a complex refinement of XRD line shift and broadening for cubic materials. The routine allows the separation of the datapoints into groups and each of these groups can be associated with its own unique combination of theoretical models for residual stress, microstrain and grain sizes. For XRD line shift refinement, the following models are supported: Voigt, Reuss, Vook-Witt, stress factors for textured polycrystals or the possibility to refine individual stress components. [3] For the line broadening, models include spherical crystallites, cylindrical and ellipsoidal crystallites grown in specific crystallographic directions, stacking faults, isotropic microstrain, and anisotropic microstrain connected to dislocations [4] or specific directions of Burgers vectors.
To run PSB_GUI properly, Matlab along with the Optimalisation toolbox is required. The entire routine is currently available on GitHub at the following link: https://github.com/PetrCejpek/PSB_GUI.