Tutorial Joyofconv
Single Peak Fitting Using Convolution Approach- Y2O3
Files needed: conv_joy_01.inp, y2o3_fwhm_01.xye
Learning Outcomes: This tutorial will introduce you to convolutions and how they influence peak shapes in powder diffraction.
Information: Data were “collected” on a diffractomer with Cu Ka1 radiation on a sample of Y2O3. The monochromator angle was 27.26, the tube filament was 12 mm long, the sample was 15 mm long, 5 degree primary and secondary Soller slits were used. The 332 nm crystallite size gave a Lorentzian and the 0.05 % strain a Gaussian broadening contribution.
1. If you have an ancient browser that allows java appletes you can go to the “joy of convolution” web page and have a play with different convolutions.
2. There’s a more modern site here, but it only lets you select certain functions. Try convoluting two 2 second pulses (hats in TOPAS language); you’ll see a triangle. Try a triangle with another hat; you’ll see something that approaches a Gaussian. I unclick the “show complete solution” tick box to see the convolutoin in action on graph 3.
3. File conv_joy_01.inp will let you try different convolutions for fitting peaks as in lecture.
4. Try first hat @ 0.01, then 2 hats, then 4 hats.
5. Try gauss_fwhm @ 0.01.
6. Try lor_fwhm @ 0.01.
7. Try 4/5 together.
8. Add a circles_conv @ -0.1
9. Comment out the line “#define try_convolutions” and you’ll then use the full fundamental parameters approach.
10. In points 3-7 convolutions were just used to fit a single peak. When fitting a powder pattern it’s common to add a 2-theta dependence so mimic effects like size or strain. Open topas.inc from the topas-editor help section. Search for CS_G and Strain_G. You’ll see that they contain simple equations to achieve this. You could write similar equations in your Files.
'Crystallite size Gaussian broadening
macro CS_G(c, v)
{
#m_argu c
If_Prm_Eqn_Rpt(c, v, min .3 max = Min(Val 2 + .3, 10000);)
gauss_fwhm = 0.1 Rad Lam / (Cos(Th) CeV(c,v));
}
'Microstrain Lorentzian broadening
macro Strain_L(c, v)
{
#m_argu c
If_Prm_Eqn_Rpt(c, v, min .0001 max 5)
lor_fwhm = CeV(c,v) Tan(Th);
}