Skip to content

La(Ti,Cr,Mn,Fe,Co,Ni,Cu)O₃ on P02.1

Fitting  Single  pd  xray  cwl  Bragg  Crystal structure

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'