Description: Stephens peak shape broadening macros
Contributed by: Peter Stephens, Robert Dinnebier, Andreas Leinweber
An alternative approach to spherical harmonics for hkl dependent peak shapes by Peter Stephens (P.W. Stephens, J. Appl. Cryst. (1999) 32, 281-9) as coded in gsas. eta term allows mixture of Gauss/Lorentz broadening.
Built in macros for different point groups are:
Stephens_triclinic (-1) Stephens_monoclinic (2/m) Stephens_orthorhombic (mmm) Stephens_tetragonal_low (4/m) Stephens_tetragonal_high (4/mmm) Stephens_trigonal_low (-3) Stephens_trigonal_high (-3m1) Stephens_trigonal_high_2 (-31m) Stephens_hexagonal (6/m and 6/mmm) Stephens_cubic (m-3 and m-3m)
Note that for all trigonal Laue classes the macros assume the hexagonal setting of the unit cell
As an example try the following in your input file (macros you need are below). Look in topas.inc to double-check the format of macros:
prm s400 11769.84126` prm s004 153.55044` prm s220 28029.32854` prm s202 -1067.03124` prm eta 0.52180` min 0 max 1
Stephens_tetragonal(s400, s004, s220, s202, eta)
macro Stephens_tetragonal(s400, s004, s220, s202, eta) { prm mhkl = Abs(s400 (H^4+ K^4)+ s004 L^4+ s220 H^2 K^2 + s202 (H^2 L^2 + K^2 L^2) ); prm pp = D_spacing^2 * Sqrt(Max(mhkl,0)) / 1000; gauss_fwhm = 1.8/3.1415927 pp (1-eta) Tan(Th) + 0.0001; lor_fwhm = 1.8/3.1415927 pp eta Tan(Th) + 0.0001; }
Stephens_monoclinic(s400, s040, s004, s220, s202, s022, s301, s121, s103, eta)
macro Stephens_monoclinic(s400, s040, s004, s220, s202, s022, s301, s121, s103, eta) { prm mhkl = H^4 s400 + K^4 s040 + L^4 s004 + H^2 K^2 s220 + H^2 L^2 s202 + K^2 L^2 s022 + H K^2 L s121 + H L^3 s103 + H^3 L s301; prm pp = D_spacing^2 * Sqrt(Max(mhkl,0)) / 1000; gauss_fwhm = 1.8/3.1415927 pp (1-eta) Tan(Th) + 0.0001; lor_fwhm = 1.8/3.1415927 pp eta Tan(Th) + 0.0001; }
Stephens_hexagonal(s400, s202, s004, eta)
macro Stephens_hexagonal(s400, s202, s004, eta) { prm mhkl = H^4 s400 + K^4 s400 + L^4 s004 + H^2 K^2 3 s400 + H^2 L^2 s202 + K^2 L^2 s202 + H K L^2 s202 + H^3 K 2 s400 + H K^3 2 s400; prm pp = D_spacing^2 * Sqrt(Max(mhkl,0)) / 1000; gauss_fwhm = 1.8/3.1415927 pp (1-eta) Tan(Th) + 0.0001; lor_fwhm = 1.8/3.1415927 pp eta Tan(Th) + 0.0001; }
Stephens_orthorhombic(s400, s040, s004, s220, s202, s022, eta)
macro Stephens_orthorhombic(s400, s040, s004, s220, s202, s022, eta) { prm mhkl = H^4 s400 + K^4 s040 + L^4 s004 + H^2 K^2 s220 + H^2 L^2 s202 + K^2 L^2 s022; prm pp = D_spacing^2 * Sqrt(Max(mhkl,0)) / 1000; gauss_fwhm = 1.8/3.1415927 pp (1-eta) Tan(Th) + 0.0001; lor_fwhm = 1.8/3.1415927 pp eta Tan(Th) + 0.0001; }