La(Ti,Cr,Mn,Fe,Co,Ni,Cu)O₃ on P02.1¶
Fit the high-entropy perovskite La(Ti,Cr,Mn,Fe,Co,Ni,Cu)O₃, seven cations on one site, to synchrotron X-ray powder data from P02.1 at PETRA III.
The project is the catalogue case pd-xray-cwl_lam7o3-p021, the one the command line and the
app's Examples open. The seven metals sharing one site have one displacement, held by
constraints from the start.
import easydiffraction as edi
Load the project¶
project_path = edi.download_data('pd-xray-cwl_lam7o3-p021', destination='data')
project = edi.Project.load(project_path)
structure = project.structures['lam7o3']
experiment = project.experiments['p021']
project.display.constraints()
Data 'pd-xray-cwl_lam7o3-p021' is at data/pd-xray-cwl_lam7o3-p021-0a974b5c31e3/pd-xray-cwl_lam7o3-p021
The project marks what its fit frees. The fit below frees it in stages, so start with all of it fixed.
for parameter in project.free_parameters:
parameter.free = False
project.display.pattern('p021')
Perform the analysis¶
The fit goes in stages, freeing one group of parameters at a time.
Scale, 2θ zero and cell¶
The scale, the zero shift and the cell put the peaks in place and at the right height.
experiment.linked_structures['lam7o3'].scale.free = True
experiment.instrument.calib_twotheta_offset.free = True
structure.cell.length_a.free = True
structure.cell.length_b.free = True
structure.cell.length_c.free = True
project.display.parameters.free()
project.analysis.fit()
project.display.fit.results()
edi fit: project pd-xray-cwl_lam7o3-p021, 1236 pts fitted / 1459 loaded, 5 free
iter time (s) Rwp (%) reduced χ² change
60.60 246.85
1 0.004 42.69 122.50 50.4% ↓
2 0.009 38.20 98.09 19.9% ↓
3 0.013 35.23 83.41 15.0% ↓
4 0.018 34.19 78.58 5.8% ↓
5 0.022 33.91 77.27 1.7% ↓
6 0.026 33.81 76.83 0.6% ↓
7 0.031 33.76 76.62 0.3% ↓
8 0.035 33.73 76.49 0.2% ↓
9 0.039 33.72 76.41 0.1% ↓
10 0.044 33.70 76.35 0.1% ↓
11 0.048 33.69 76.31 0.1% ↓
12 0.052 33.69 76.29
13 0.056 33.68 76.27
14 0.060 33.68 76.26
15 0.065 33.68 76.25
16 0.069 33.68 76.25
17 0.073 33.68 76.24
18 0.078 33.68 76.24
19 0.082 33.68 76.24
20 0.087 33.68 76.24
done · converged · 20 iters · reduced χ² 76.24 · Rwp 33.68 % · 0.09 s
project.display.pattern('p021')
Background¶
for point in experiment.background:
point.intensity.free = True
project.analysis.fit()
project.display.fit.results()
edi fit: project pd-xray-cwl_lam7o3-p021, 1236 pts fitted / 1459 loaded, 25 free
iter time (s) Rwp (%) reduced χ² change
33.68 77.50
1 0.007 10.57 7.63 90.2% ↓
2 0.011 10.53 7.58 0.6% ↓
3 0.016 10.53 7.58 0.1% ↓
4 0.020 10.53 7.58
5 0.025 10.53 7.57
6 0.030 10.53 7.57
7 0.034 10.53 7.57
8 0.039 10.53 7.57
9 0.043 10.53 7.57
10 0.048 10.53 7.57
11 0.052 10.52 7.57
12 0.057 10.52 7.57
13 0.062 10.52 7.57
14 0.066 10.52 7.57
15 0.073 10.52 7.57
done · converged · 15 iters · reduced χ² 7.57 · Rwp 10.52 % · 0.08 s
project.display.pattern('p021')
Peak widths¶
The Gaussian widths and the Lorentzian X.
experiment.peak.broad_gauss_u.free = True
experiment.peak.broad_gauss_v.free = True
experiment.peak.broad_gauss_w.free = True
experiment.peak.broad_lorentz_x.free = True
project.analysis.fit()
project.display.fit.results()
edi fit: project pd-xray-cwl_lam7o3-p021, 1236 pts fitted / 1459 loaded, 29 free
iter time (s) Rwp (%) reduced χ² change
10.52 7.59
1 0.007 7.07 3.43 54.9% ↓
2 0.013 6.29 2.71 20.8% ↓
3 0.019 6.04 2.50 7.8% ↓
4 0.025 5.89 2.38 5.0% ↓
5 0.032 5.77 2.29 3.9% ↓
6 0.038 5.74 2.26 1.1% ↓
7 0.053 5.57 2.13 5.9% ↓
8 0.060 5.40 2.00 6.0% ↓
9 0.066 5.20 1.85 7.3% ↓
10 0.073 3.76 0.97 47.8% ↓
11 0.079 3.60 0.89 8.2% ↓
12 0.085 3.57 0.87 1.9% ↓
13 0.091 3.56 0.87 0.3% ↓
14 0.097 3.56 0.87 0.1% ↓
15 0.103 3.56 0.87 0.1% ↓
16 0.109 3.55 0.87 0.4% ↓
17 0.115 3.54 0.86 1.0% ↓
18 0.120 3.49 0.84 2.3% ↓
19 0.126 3.43 0.81 3.6% ↓
20 0.132 3.36 0.77 4.2% ↓
21 0.138 3.24 0.72 6.8% ↓
22 0.144 3.04 0.63 12.2% ↓
23 0.150 2.85 0.56 12.1% ↓
24 0.156 2.80 0.54 3.6% ↓
25 0.161 2.79 0.53 0.2% ↓
26 0.167 2.79 0.53
27 0.175 2.79 0.53
done · converged · 27 iters · reduced χ² 0.53 · Rwp 2.79 % · 0.18 s
project.display.pattern('p021')
Background from the fitted model¶
With a fitted peak model, estimate the background again with the calculated peaks subtracted, which follows the low-angle background better, then free the new points and fit again.
experiment.background.auto_estimate(use_model='subtract', n_points=20)
for point in experiment.background:
point.intensity.free = True
project.analysis.fit()
project.display.fit.results()
edi fit: project pd-xray-cwl_lam7o3-p021, 1236 pts fitted / 1459 loaded, 29 free
iter time (s) Rwp (%) reduced χ² change
4.03 1.11
1 0.009 2.71 0.50 54.7% ↓
2 0.015 2.71 0.50
3 0.022 2.71 0.50
4 0.031 2.71 0.50
done · converged · 4 iters · reduced χ² 0.50 · Rwp 2.71 % · 0.04 s
project.display.pattern('p021')
Atom positions¶
for site in structure.atom_sites:
for coordinate in (site.fract_x, site.fract_y, site.fract_z):
coordinate.free = not coordinate.symmetry_constrained
project.analysis.fit()
project.display.fit.results()
edi fit: project pd-xray-cwl_lam7o3-p021, 1236 pts fitted / 1459 loaded, 36 free
iter time (s) Rwp (%) reduced χ² change
2.71 0.51
1 0.011 1.81 0.23 55.3% ↓
2 0.019 1.78 0.22 3.5% ↓
3 0.026 1.78 0.22
4 0.034 1.78 0.22
5 0.042 1.78 0.22 0.1% ↓
6 0.050 1.78 0.22 0.4% ↓
7 0.058 1.77 0.22 1.1% ↓
8 0.066 1.75 0.21 2.4% ↓
9 0.074 1.71 0.20 3.5% ↓
10 0.081 1.69 0.20 2.8% ↓
11 0.089 1.68 0.19 1.1% ↓
12 0.097 1.68 0.19 0.2% ↓
13 0.105 1.68 0.19
14 0.113 1.68 0.19
15 0.123 1.68 0.19
done · converged · 15 iters · reduced χ² 0.19 · Rwp 1.68 % · 0.13 s
project.display.pattern('p021')
Displacements¶
La's, the mixed site's (through Ti) and O1's; O2's follows O1's.
structure.atom_sites['La'].adp_iso.free = True
structure.atom_sites['Ti'].adp_iso.free = True
structure.atom_sites['O1'].adp_iso.free = True
project.analysis.fit()
project.display.fit.results()
edi fit: project pd-xray-cwl_lam7o3-p021, 1236 pts fitted / 1459 loaded, 39 free
iter time (s) Rwp (%) reduced χ² change
1.68 0.19
1 0.011 1.62 0.18 6.5% ↓
2 0.019 1.61 0.18 1.8% ↓
3 0.028 1.60 0.18 0.4% ↓
4 0.037 1.60 0.18 0.4% ↓
5 0.045 1.60 0.18 0.2% ↓
6 0.054 1.60 0.18 0.1% ↓
7 0.063 1.60 0.18 0.3% ↓
8 0.071 1.59 0.18 0.7% ↓
9 0.080 1.58 0.17 1.0% ↓
10 0.088 1.58 0.17 0.9% ↓
11 0.097 1.57 0.17 0.4% ↓
12 0.105 1.57 0.17 0.1% ↓
13 0.113 1.57 0.17
14 0.125 1.57 0.17
done · converged · 14 iters · reduced χ² 0.17 · Rwp 1.57 % · 0.13 s
project.display.pattern('p021')
project.display.fit.correlations()
project.display.structure('lam7o3')
Save the project¶
project.save_as('pd-xray-cwl_lam7o3-p021')
project.report.save_html('pd-xray-cwl_lam7o3-p021.html')
Saving project to 'pd-xray-cwl_lam7o3-p021'
Saving report to 'pd-xray-cwl_lam7o3-p021.html'