Skip to content

Unit cell parameter fitting

S.-H. Dan Shim edited this page Mar 22, 2020 · 1 revision

Step 1. Collect peak fitting results

Once you finish your peak fitting for all the peaks you have in diffraction pattern, you can go to the UCFit tab. Click the Collect button. You will find that your combo box is now filled with different phase names (they are from your JCPDS file names). If you choose a phase in the combo box, the table below will be populated with the peak fitting results for the phase.

Also, you need to make sure the crystal system is correctly read from your jcpds file. The crystal system is shown in the second combo box in the UCFit tab.

You can also choose which peaks to include/exclude in the unit-cell fitting by check/uncheck the checkboxes in the table.

Step 2. Conduct unit-cell fitting

Click the Fit button. The fit would not take much time. Once fit is completely, you will see a pop-up message and the bottom of the UCFit tab populated with fit result information.

The pop-up messages ask about the file name and file location (1) for a text file which has all the fitting result information and (2) for a JCPDS file which has predicted peak positions from the unit-cell parameters obtained from the unit-cell fitting.

For the JCPDS formatted output, you can read it back to PeakPo as a JCPDS file and check the goodness of fit visually. The default location of the JCPDS file is in the [your chi filename]-param folder generated by PeakPo.

Step 3. Analyze peak fitting result

The fitting results are save in a text file, but it can be also found in the textbook blow the table.

I show an example below. It starts with phase name. Then showing fitting unit-cell parameters with their uncertainties.

sio2-stv

Fitted unit cell parameters 
Crystal system = tetragonal
a = 4.05588 +/- 0.00132 
c = 2.62098 +/- 0.00172 
V = 43.11554 +/- 0.03985 

Then you will find a little table showing Miller indices with twoth, d-spacing, and fit residue in twoth. An important thing to remember is that you could misassign peaks or misidentify peaks in JCPDS tweak. In that case, including such peaks in your unit-cell fitting would lead to incorrect fitting results. You may think that you can get such information from twoth residue. However, unit-cell fitting is a non linear problem and the problem is not that simple. I would strongly recommend to read an excellent paper by T. J. B. Holland and S. A. T. Redfern (1997) Unit cell refinement from powder diffraction data: the use of regression diagnostics. Mineralogical Magazine 61: 65-77.

Output table
     h    k    l      twoth       dsp  twoth residue
0  1.0  1.0  1.0  12.255908  1.935846       0.007030
1  1.0  1.0  0.0   8.277043  2.863456      -0.012963
2  1.0  0.0  1.0  10.776637  2.200620      -0.003538
3  1.0  1.0  1.0  12.262541  1.934803       0.000398
4  2.0  1.0  0.0  13.083539  1.813873       0.000204
5  2.0  1.0  1.0  15.932403  1.491100      -0.004403
6  2.0  2.0  0.0  16.564225  1.434599       0.007311

PeakPo provides some advanced statistical parameters to assist your decision on which peaks to include/exclude in the unit-cell fitting following the idea laid out in Holland and Redfern paper cited above. For example, the table below which is provided by PeakPo's unit-cell fitting show which peak information is most influential for the unit-cell fitting results.

Hat: influence for the fit result. 
     1 ~ large influence, 0 ~ no influence.
     h    k    l      twoth       dsp       hat
0  1.0  1.0  1.0  12.255908  1.935846  0.350000
1  1.0  1.0  0.0   8.277043  2.863456  2.000000
2  1.0  0.0  1.0  10.776637  2.200620  0.500000
3  1.0  1.0  1.0  12.262541  1.934803  0.350000
4  2.0  1.0  0.0  13.083539  1.813873  0.500000
5  2.0  1.0  1.0  15.932403  1.491100  0.928571
6  2.0  2.0  0.0  16.564225  1.434599  2.000000

Now the table below in output shows a range of different statistical indices for you to be more informed about which peaks to include/exclude. For detail, I suggest you to read the Holland and Redfern paper.

Rstudent: how much the parameter would change if deleted.
     h    k    l      twoth       dsp  Rstudent
0  1.0  1.0  1.0  12.255908  1.935846 -1.350570
1  1.0  1.0  0.0   8.277043  2.863456  1.103539
2  1.0  0.0  1.0  10.776637  2.200620  0.071105
3  1.0  1.0  1.0  12.262541  1.934803 -0.253111
4  2.0  1.0  0.0  13.083539  1.813873  0.034982
5  2.0  1.0  1.0  15.932403  1.491100  1.836140
6  2.0  2.0  0.0  16.564225  1.434599 -1.153011

dfFits: deletion diagnostic giving the change in
        the predicted value twotheta.
        upon deletion of the data point as a multiple of
        the standard deviation for 1/d-spacing^2.
     h    k    l      twoth       dsp    dfFits
0  1.0  1.0  1.0  12.255908  1.935846 -0.938181
1  1.0  1.0  0.0   8.277043  2.863456  1.620575
2  1.0  0.0  1.0  10.776637  2.200620  0.043570
3  1.0  1.0  1.0  12.262541  1.934803 -0.130732
4  2.0  1.0  0.0  13.083539  1.813873  0.021425
5  2.0  1.0  1.0  15.932403  1.491100  3.865368
6  2.0  2.0  0.0  16.564225  1.434599 -1.728254

dfBetas: normalized residual
     h    k    l      twoth       dsp       dfBetas
0  1.0  1.0  1.0  12.255908  1.935846  1.772995e-01
1  1.0  1.0  0.0   8.277043  2.863456 -1.145919e+00
2  1.0  0.0  1.0  10.776637  2.200620 -2.178515e-02
3  1.0  1.0  1.0  12.262541  1.934803  2.470600e-02
4  2.0  1.0  0.0  13.083539  1.813873 -1.024926e-12
5  2.0  1.0  1.0  15.932403  1.491100  2.680150e+00
6  2.0  2.0  0.0  16.564225  1.434599 -1.222060e+00

The output ends with the following fit statistics from LMFIT package for the unit-cell fitting.

Non-linear fit statistics 
[[Fit Statistics]]
    # fitting method   = leastsq
    # function evals   = 9
    # data points      = 7
    # variables        = 2
    chi-square         = 3.0302e-04
    reduced chi-square = 6.0604e-05
    Akaike info crit   = -66.3333824
    Bayesian info crit = -66.4415621
[[Variables]]
    a:  4.05587974 +/- 0.00132063 (0.03%) (init = 4.058162)
    c:  2.62097992 +/- 0.00171894 (0.07%) (init = 2.622221)
[[Correlations]] (unreported correlations are < 0.100)
    C(a, c) = -0.442
Clone this wiki locally