| Literature DB >> 26958448 |
Marcus H Mendenhall1, Katharine Mullen2, James P Cline1.
Abstract
This work presents an open implementation of the Fundamental Parameters Approach (FPA) models for analysis of X-ray powder diffraction line profiles. The original literature describing these models was examined and code was developed to allow for their use within a Python based least squares refinement algorithm. The NIST interest in the FPA method is specific to its ability to account for the optical aberrations of the powder diffraction experiment allowing for an accurate assessment of lattice parameter values. Lattice parameters are one of the primary certified measurands of NIST Standard Reference Materials (SRMs) for powder diffraction. Lattice parameter values obtained from analysis of data from SRMs 640e and 660c using both the NIST FPA Python code and the proprietary, commercial code Topas, that constitutes the only other actively supported, complete implementation of FPA models within a least-squares data analysis environment, agreed to within 2 fm. This level of agreement demonstrates that both the NIST code and Topas constitute an accurate implementation of published FPA models.Entities:
Keywords: Fundamental Parameters Approach; Python; Standard Reference Material; X-ray line profile; powder diffraction
Year: 2015 PMID: 26958448 PMCID: PMC4730677 DOI: 10.6028/jres.120.014
Source DB: PubMed Journal: J Res Natl Inst Stand Technol ISSN: 1044-677X
Fig. 1Generation of a line profile via convolutions in the FPA.
Selection of computation boundaries and β ranges
| Condition 1 | and | Condition 2 | ||
|---|---|---|---|---|
|
|
| |||
| 1 |
|
|
|
|
|
| ||||
| 2 |
|
|
|
|
| any other range of | ||||
| 3 |
|
|
|
|
|
|
| |||
| 1 |
|
|
|
|
|
| ||||
| 2 |
|
|
|
|
| any other range of | ||||
| 3 |
|
|
|
|
Integration over β to get I3
|
|
| # |
| # values of 5–20 are usually sufficient. |
| for |
| |
|
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| if |
| |
| else: |
| |
|
|
|
|
| return
|
Fig. 2Correction due to periodic Fourier transform, shown at low angle where the peak is very asymmetrical, and at mid-angle where it is nearly symmetrical. Note that for the left-hand case, the 2θ window is barely wide enough, so the peak tails are still very asymmetrical.
Topas model parameters
| Parameter | Value | Parameter | Value |
|---|---|---|---|
| Zero error | −0.026° | Displacement | −0.011 mm |
| 217.5 mm | Rec. slit width | 75 | |
| Fil. length | 15 mm | Samp. length | 15 mm |
| Rec. slit length | 5 | Sample absorption | 137.4 cm−1 |
| 3134 nm | 379 nm | ||
| Lattice spacing | 4.15695 Å | ||
| intensity ( | wavelength (Å) ( | Lor. width (mÅ) ( | Gauss. width (mÅ) ( |
| 1 | 1.540591 | 0 | 0.4323 |
2.5° full width Soller slits
| (h,k,l) | tp top (°) | py top (°) | Δ1 (m°) | tp ζ (m°) | py ζ (m°) | Δ2 (m°) | tp IB (m°) | py IB (m°) | % err |
|---|---|---|---|---|---|---|---|---|---|
| (0, 0, 1) | 21.3224 | 21.3226 | −0.12 | −4.9 | −5.1 | 0.23 | 47 | 46 | 0.78 |
| (0, 1, 1) | 30.3499 | 30.3500 | −0.12 | −2.3 | −2.4 | 0.18 | 43 | 44 | −0.42 |
| (1, 1, 1) | 37.4072 | 37.4074 | −0.17 | −1.3 | −1.5 | 0.14 | 44 | 43 | 0.44 |
| (0, 0, 2) | 43.4723 | 43.4723 | −0.01 | −1.0 | −1.0 | 0.01 | 42 | 44 | −1.49 |
| (0, 1, 2) | 48.9233 | 48.9237 | −0.32 | −0.6 | −0.8 | 0.18 | 45 | 45 | 0.07 |
| (1, 1, 2) | 53.9551 | 53.9551 | 0.03 | −0.7 | −0.6 | −0.12 | 45 | 45 | −0.01 |
| (0, 2, 2) | 63.1849 | 63.1850 | −0.08 | −0.5 | −0.4 | −0.12 | 47 | 48 | −1.02 |
| (0, 0, 3) | 67.5141 | 67.5143 | −0.29 | −0.2 | −0.3 | 0.13 | 49 | 49 | −0.07 |
| (0, 1, 3) | 71.7118 | 71.7122 | −0.34 | 0.1 | −0.2 | 0.31 | 51 | 51 | 0.20 |
| (1, 1, 3) | 75.8111 | 75.8110 | 0.16 | −0.5 | −0.2 | −0.34 | 52 | 52 | 0.01 |
| (2, 2, 2) | 79.8366 | 79.8369 | −0.28 | −0.1 | −0.3 | 0.20 | 53 | 54 | −1.33 |
| (0, 2, 3) | 83.8126 | 83.8125 | 0.07 | −0.2 | −0.1 | −0.07 | 55 | 57 | −0.97 |
| (1, 2, 3) | 87.7589 | 87.7590 | −0.05 | −0.2 | −0.2 | 0.02 | 58 | 59 | −0.83 |
| (0, 0, 4) | 95.6387 | 95.6387 | −0.07 | 0.1 | −0.1 | 0.17 | 62 | 64 | −1.11 |
| (0, 1, 4) | 99.6100 | 99.6099 | 0.09 | 0.1 | −0.1 | 0.12 | 66 | 67 | −0.71 |
| (1, 1, 4) | 103.6287 | 103.6289 | −0.18 | 0.1 | 0.0 | 0.09 | 70 | 70 | −0.10 |
| (1, 3, 3) | 107.7175 | 107.7175 | 0.05 | −0.1 | −0.1 | −0.01 | 73 | 74 | −1.01 |
| (0, 2, 4) | 111.9019 | 111.9020 | −0.07 | −0.0 | −0.0 | −0.03 | 79 | 79 | 0.13 |
| (1, 2, 4) | 116.2138 | 116.2136 | 0.20 | −0.2 | 0.1 | −0.26 | 82 | 84 | −0.92 |
| (2, 3, 3) | 120.6918 | 120.6919 | −0.05 | 0.1 | 0.1 | −0.03 | 89 | 90 | −0.92 |
| (2, 2, 4) | 130.3790 | 130.3791 | −0.10 | 0.1 | 0.0 | 0.10 | 106 | 108 | −0.96 |
| (0, 0, 5) | 135.7712 | 135.7715 | −0.28 | 0.2 | −0.0 | 0.19 | 121 | 121 | 0.16 |
| (1, 3, 4) | 141.7472 | 141.7474 | −0.15 | 0.3 | 0.2 | 0.12 | 140 | 140 | 0.14 |
| (3, 3, 3) | 148.6525 | 148.6527 | −0.23 | 0.2 | 0.1 | 0.11 | 168 | 171 | −0.99 |
5.3° full width Soller slits
| (h,k,l) | tp top (°) | py top (°) | Δ1 (m°) | tp ζ (m°) | py ζ (m°) | Δ2 (m°) | tp IB (m°) | py IB (m°) | % err |
|---|---|---|---|---|---|---|---|---|---|
| (0, 0, 1) | 21.3179 | 21.3175 | 0.41 | −38.8 | −39.9 | 1.04 | 79 | 81 | −1.02 |
| (0, 1, 1) | 30.3451 | 30.3448 | 0.24 | −23.8 | −24.6 | 0.72 | 69 | 71 | −1.69 |
| (1, 1, 1) | 37.4020 | 37.4022 | −0.20 | −17.1 | −18.1 | 1.01 | 65 | 66 | −0.18 |
| (0, 0, 2) | 43.4674 | 43.4671 | 0.27 | −13.5 | −13.9 | 0.37 | 62 | 63 | −0.94 |
| (0, 1, 2) | 48.9182 | 48.9184 | −0.19 | −10.6 | −11.2 | 0.63 | 62 | 62 | −0.15 |
| (1, 1, 2) | 53.9500 | 53.9501 | −0.14 | −8.9 | −9.3 | 0.40 | 61 | 61 | −0.24 |
| (0, 2, 2) | 63.1801 | 63.1802 | −0.03 | −6.3 | −6.4 | 0.16 | 59 | 61 | −1.13 |
| (0, 0, 3) | 67.5098 | 67.5097 | 0.14 | −5.4 | −5.4 | −0.02 | 61 | 61 | −0.13 |
| (0, 1, 3) | 71.7077 | 71.7079 | −0.21 | −4.4 | −4.6 | 0.24 | 61 | 62 | −0.32 |
| (1, 1, 3) | 75.8064 | 75.8066 | −0.19 | −3.5 | −3.8 | 0.31 | 62 | 62 | −0.38 |
| (2, 2, 2) | 79.8324 | 79.8325 | −0.13 | −2.8 | −3.0 | 0.26 | 63 | 64 | −1.08 |
| (0, 2, 3) | 83.8090 | 83.8088 | 0.13 | −2.7 | −2.5 | −0.19 | 63 | 65 | −1.74 |
| (1, 2, 3) | 87.7552 | 87.7552 | 0.03 | −1.9 | −2.0 | 0.09 | 64 | 67 | −1.57 |
| (0, 0, 4) | 95.6358 | 95.6355 | 0.23 | −1.2 | −1.3 | 0.06 | 69 | 70 | −1.10 |
| (0, 1, 4) | 99.6073 | 99.6070 | 0.36 | −0.9 | −0.9 | −0.01 | 71 | 73 | −1.18 |
| (1, 1, 4) | 103.6264 | 103.6264 | 0.01 | −0.5 | −0.7 | 0.13 | 75 | 76 | −0.30 |
| (1, 3, 3) | 107.7156 | 107.7153 | 0.24 | −0.5 | −0.5 | 0.03 | 77 | 79 | −1.09 |
| (0, 2, 4) | 111.9004 | 111.9002 | 0.23 | −0.1 | −0.2 | 0.02 | 83 | 83 | −0.03 |
| (1, 2, 4) | 116.2127 | 116.2125 | 0.20 | −0.1 | −0.0 | −0.06 | 87 | 88 | −0.82 |
| (2, 3, 3) | 120.6916 | 120.6915 | 0.08 | 0.1 | 0.1 | −0.03 | 92 | 94 | −1.23 |
| (2, 2, 4) | 130.3804 | 130.3801 | 0.25 | 0.2 | 0.4 | −0.24 | 110 | 112 | −0.96 |
| (0, 0, 5) | 135.7737 | 135.7731 | 0.57 | 0.2 | 0.5 | −0.27 | 125 | 125 | 0.09 |
| (1, 3, 4) | 141.7508 | 141.7504 | 0.38 | 0.6 | 0.8 | −0.18 | 144 | 144 | −0.01 |
| (3, 3, 3) | 148.6577 | 148.6577 | −0.05 | 0.9 | 0.8 | 0.11 | 173 | 176 | −0.88 |
10.6° full width Soller slits
| (h,k,l) | tp top (°) | py top (°) | Δ1 (m°) | tp ζ (m°) | py ζ (m°) | Δ2 (m°) | tp IB (m°) | py IB (m°) | % err |
|---|---|---|---|---|---|---|---|---|---|
| (0, 0, 1) | 21.3160 | 21.3157 | 0.25 | −88.4 | −89.9 | 1.57 | 114 | 118 | −1.76 |
| (0, 1, 1) | 30.3429 | 30.3423 | 0.59 | −57.2 | −58.2 | 0.93 | 96 | 101 | −2.72 |
| (1, 1, 1) | 37.3998 | 37.3998 | 0.09 | −43.3 | −44.2 | 0.89 | 90 | 92 | −0.73 |
| (0, 0, 2) | 43.4640 | 43.4638 | 0.21 | −34.1 | −34.9 | 0.73 | 84 | 88 | −2.51 |
| (0, 1, 2) | 48.9154 | 48.9150 | 0.40 | −28.7 | −29.0 | 0.27 | 82 | 85 | −1.43 |
| (1, 1, 2) | 53.9465 | 53.9465 | 0.07 | −24.0 | −24.6 | 0.60 | 80 | 82 | −1.29 |
| (0, 2, 2) | 63.1762 | 63.1763 | −0.08 | −17.6 | −18.0 | 0.44 | 76 | 78 | −1.76 |
| (0, 0, 3) | 67.5059 | 67.5057 | 0.17 | −15.4 | −15.6 | 0.20 | 76 | 78 | −0.81 |
| (0, 1, 3) | 71.7038 | 71.7038 | −0.02 | −13.2 | −13.6 | 0.32 | 76 | 77 | −0.58 |
| (1, 1, 3) | 75.8026 | 75.8028 | −0.22 | −11.4 | −11.7 | 0.31 | 77 | 77 | 0.31 |
| (2, 2, 2) | 79.8290 | 79.8287 | 0.23 | −10.2 | −10.1 | −0.05 | 74 | 77 | −1.65 |
| (0, 2, 3) | 83.8049 | 83.8050 | −0.09 | −8.6 | −8.8 | 0.14 | 75 | 78 | −1.83 |
| (1, 2, 3) | 87.7512 | 87.7516 | −0.44 | −7.1 | −7.4 | 0.31 | 76 | 78 | −1.17 |
| (0, 0, 4) | 95.6317 | 95.6312 | 0.52 | −5.0 | −5.1 | 0.18 | 78 | 81 | −1.47 |
| (0, 1, 4) | 99.6038 | 99.6030 | 0.74 | −4.5 | −4.2 | −0.21 | 80 | 82 | −1.36 |
| (1, 1, 4) | 103.6229 | 103.6222 | 0.70 | −3.5 | −3.4 | −0.18 | 83 | 84 | −0.40 |
| (1, 3, 3) | 107.7121 | 107.7115 | 0.65 | −2.9 | −2.6 | −0.28 | 84 | 86 | −1.23 |
| (0, 2, 4) | 111.8971 | 111.8966 | 0.44 | −2.1 | −2.0 | −0.09 | 90 | 90 | −0.01 |
| (1, 2, 4) | 116.2095 | 116.2091 | 0.39 | −1.5 | −1.5 | −0.05 | 92 | 94 | −0.96 |
| (2, 3, 3) | 120.6887 | 120.6882 | 0.49 | −1.0 | −0.8 | −0.21 | 97 | 99 | −1.21 |
| (2, 2, 4) | 130.3782 | 130.3779 | 0.32 | −0.1 | −0.0 | −0.10 | 113 | 115 | −0.90 |
| (0, 0, 5) | 135.7720 | 135.7715 | 0.49 | 0.1 | 0.5 | −0.31 | 128 | 128 | 0.04 |
| (1, 3, 4) | 141.7499 | 141.7497 | 0.12 | 0.8 | 0.7 | 0.12 | 147 | 147 | 0.02 |
| (3, 3, 3) | 148.6580 | 148.6579 | 0.07 | 1.1 | 1.0 | 0.11 | 175 | 179 | −0.87 |
Fig. 3Line shapes with 2.5° Soller slits. Red, dotted curve is Topas. Black curve is this work.
Fig. 4Line shapes with 5.3° Soller slits. Red, dotted curve is Topas. Black curve is this work.
Fig. 5Line shapes with 10.6° Soller slits. Red, dotted curve is Topas. Black curve is this work.
Topas full Rietveld model parameters
| Parameter | Value | Parameter | Value |
|---|---|---|---|
| Zero Error | −0.0268° | Displacement | −0.016 mm |
| 217.5 mm | Rec. slit width | 75 | |
| Fil. Length | 8 mm | Samp. Length | 15 mm |
| Rec. slit length | 12 | Sample Absorption | 126.8 cm−1 |
| 3027 nm | 488 nm | ||
| Lattice spacing | 4.156925692 Å | Equat. Diverg. | 1.096° |
| intensity ( | wavelength (Å) ( | Lor. width (mÅ) ( | Gauss. width (mÅ) ( |
| 1 | 1.540591 | 0 | 0.4323 |
| 0.7504 | 1.540591 | 0 | 1.6718 |
| 0.0418 | 1.540591 | 0 | 3.9651 |
| 0.1861 | 1.541064 | 0 | 0.4565 |
Comparison of pattern with full Rietveld fit from Topas
| (h,k,l) | tp top (°) | py top (°) | Δ1 (m°) | tp ζ (m°) | py ζ (m°) | Δ2 (m°) | tp IB (m°) | py IB (m°) | % err |
|---|---|---|---|---|---|---|---|---|---|
| (0, 0, 1) | 21.3078 | 21.3085 | −0.72 | −8.0 | −8.1 | 0.03 | 78 | 76 | 1.22 |
| (0, 1, 1) | 30.3409 | 30.3410 | −0.14 | −4.5 | −4.2 | −0.27 | 61 | 62 | −0.48 |
| (1, 1, 1) | 37.4001 | 37.4006 | −0.53 | −2.7 | −2.9 | 0.17 | 62 | 59 | 1.75 |
| (0, 0, 2) | 43.4665 | 43.4671 | −0.57 | −2.0 | −2.2 | 0.22 | 59 | 60 | −0.17 |
| (0, 1, 2) | 48.9187 | 48.9191 | −0.33 | −1.8 | −1.9 | 0.03 | 62 | 61 | 0.74 |
| (1, 1, 2) | 53.9511 | 53.9513 | −0.16 | −1.8 | −1.6 | −0.14 | 63 | 62 | 0.67 |
| (0, 2, 2) | 63.1822 | 63.1820 | 0.15 | −1.7 | −1.4 | −0.30 | 66 | 67 | −0.31 |
| (0, 0, 3) | 67.5121 | 67.5121 | 0.00 | −1.6 | −1.3 | −0.32 | 70 | 69 | 0.64 |
| (0, 1, 3) | 71.7100 | 71.7105 | −0.43 | −1.2 | −1.2 | −0.05 | 73 | 72 | 0.40 |
| (1, 1, 3) | 75.8092 | 75.8094 | −0.16 | −1.3 | −1.1 | −0.24 | 76 | 75 | 0.69 |
| (2, 2, 2) | 79.8353 | 79.8355 | −0.21 | −1.2 | −0.9 | −0.26 | 78 | 78 | −0.05 |
| (0, 2, 3) | 83.8110 | 83.8116 | −0.57 | −0.6 | −0.7 | 0.13 | 81 | 81 | −0.30 |
| (1, 2, 3) | 87.7580 | 87.7581 | −0.05 | −0.9 | −0.6 | −0.29 | 84 | 85 | −0.57 |
| (0, 0, 4) | 95.6384 | 95.6382 | 0.24 | −0.6 | −0.2 | −0.44 | 92 | 93 | −0.47 |
| (0, 1, 4) | 99.6099 | 99.6096 | 0.32 | −0.4 | 0.1 | −0.50 | 97 | 98 | −0.20 |
| (1, 1, 4) | 103.6283 | 103.6286 | −0.24 | 0.4 | 0.4 | 0.01 | 105 | 103 | 0.66 |
| (1, 3, 3) | 107.7175 | 107.7176 | −0.17 | 0.4 | 0.7 | −0.29 | 108 | 109 | −0.46 |
| (0, 2, 4) | 111.9024 | 111.9021 | 0.26 | 0.5 | 1.0 | −0.50 | 117 | 116 | 0.48 |
| (1, 2, 4) | 116.2141 | 116.2143 | −0.16 | 0.9 | 1.2 | −0.27 | 123 | 124 | −0.33 |
| (2, 3, 3) | 120.6926 | 120.6929 | −0.34 | 1.5 | 1.6 | −0.08 | 131 | 133 | −0.76 |
| (2, 2, 4) | 130.3809 | 130.3808 | 0.12 | 2.2 | 2.6 | −0.43 | 157 | 160 | −0.70 |
| (0, 0, 5) | 135.7736 | 135.7739 | −0.29 | 3.0 | 3.1 | −0.18 | 177 | 179 | −0.82 |
| (1, 3, 4) | 141.7506 | 141.7510 | −0.34 | 3.7 | 3.9 | −0.24 | 205 | 208 | −0.78 |
| (3, 3, 3) | 148.6569 | 148.6572 | −0.27 | 5.0 | 5.3 | −0.29 | 255 | 254 | 0.20 |
Fig. 6Line shapes with full Rietveld. Red, dotted curve is Topas. Black curve is this work.
Fig. 7Example fit, and peak position errors for SRMs 640e and 660c.
Fig. 8Full-pattern FPAPC fit to patterns from SRM1979-type ZnO 15 nm and 60 nm particles.
Selection of computation boundaries and β ranges
| if
|
| if
|
| # parabola apexes entirely within slit |
| |
| seel if
|
| # one apex outside of slit |
| |
| else: |
| # both apexes outside of slit |
| |
| else: # narrow receiver slit |
| if
|
| # parabola apexes hanging off both ends of slit |
| |
| else if
|
| # one apex of beam within slit |
| |
| else: |
| |
Computation of I2
|
|
|
|
| if |
| |
| |
| |
| |
| if |
| |
| |
| |
| |
| if |
| |
| |
| |
| returns
|
Computing the flat-specimen error
|
|
| |
|
|
| ) |
|
|