Skip to content

Co₂SiO₄ on D20 at 2.3 K

Fit the magnetic structure of the olivine Co₂SiO₄ to constant-wavelength neutron powder data from D20 at ILL, measured at 2.3 K, below its ordering temperature. The cobalt moments order with k = 0 in the magnetic space group Pnma.1: Co1 may point in any direction, Co2 only along b.

The project is the catalogue case pd-neut-cwl_cosio-d20_2k, the one the command line and the app's Examples open. Its two Co sites share one displacement, and the two FCJ asymmetry terms are tied, from the start.

Fitting Single pd neut cwl Bragg Crystal structure Magnetic structure

import easydiffraction as edi

Load the project

project_path = edi.download_data('pd-neut-cwl_cosio-d20_2k', destination='data')
project = edi.Project.load(project_path)
structure = project.structures['cosio']
experiment = project.experiments['d20']
project.display.constraints()
Data 'pd-neut-cwl_cosio-d20_2k' is at data/pd-neut-cwl_cosio-d20_2k-773039d8ca78/pd-neut-cwl_cosio-d20_2k

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('d20')

Perform the analysis

The nuclear structure comes first, in the usual order; the magnetic moments come last, once the nuclear peaks are fitted.

Scale, 2θ zero and cell

experiment.linked_structures['cosio'].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-neut-cwl_cosio-d20_2k, 1438 pts fitted / 1506 loaded, 5 free
   iter   time (s)   Rwp (%)  reduced χ²   change
                       14.28        56.27
      1      0.004     14.03        54.28   3.5% ↓
      2      0.008     14.03        54.28   
  done · converged · 2 iters · reduced χ² 54.28 · Rwp 14.03 % · 0.01 s
project.display.pattern('d20')

Background

With the peaks in place, the sixteen background points follow the level between them.

for point in experiment.background:
    point.intensity.free = True
project.analysis.fit()
project.display.fit.results()
edi fit: project pd-neut-cwl_cosio-d20_2k, 1438 pts fitted / 1506 loaded, 21 free
   iter   time (s)   Rwp (%)  reduced χ²   change
                       14.03        54.89
      1      0.004     13.20        48.60   11.5% ↓
      2      0.009     13.20        48.60   
  done · converged · 2 iters · reduced χ² 48.60 · Rwp 13.20 % · 0.01 s
project.display.pattern('d20')

Peak widths

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_y.free = True
project.analysis.fit()
project.display.fit.results()
edi fit: project pd-neut-cwl_cosio-d20_2k, 1438 pts fitted / 1506 loaded, 25 free
   iter   time (s)   Rwp (%)  reduced χ²   change
                       13.20        48.74
      1      0.005     13.13        48.24   1.0% ↓
      2      0.009     13.13        48.23   
      3      0.013     13.13        48.23   
  done · converged · 3 iters · reduced χ² 48.23 · Rwp 13.13 % · 0.02 s
project.display.pattern('d20')

Peak asymmetry

The low-angle peaks lean towards low angle. One FCJ term is freed; the other follows it by the project's constraint.

experiment.peak.asym_fcj_1.free = True
project.analysis.fit()
project.display.fit.results()
edi fit: project pd-neut-cwl_cosio-d20_2k, 1438 pts fitted / 1506 loaded, 26 free
   iter   time (s)   Rwp (%)  reduced χ²   change
                       13.13        48.26
      1      0.048     13.13        48.26   
      2      0.053     13.13        48.26   
      3      0.058     13.13        48.26   
      4      0.063     13.13        48.26   
      5      0.068     13.13        48.26   
      6      0.072     13.13        48.26   
      7      0.077     13.13        48.26   
      8      0.081     13.13        48.26   
      9      0.087     13.13        48.25   
     10      0.092     13.13        48.25   
     11      0.097     13.13        48.25   
     12      0.103     13.13        48.25   
     13      0.111     13.13        48.25   
  done · converged · 13 iters · reduced χ² 48.25 · Rwp 13.13 % · 0.12 s
project.display.pattern('d20')

Atom positions

Co1 sits on a centre of symmetry and the other sites on the mirror plane, so only their free coordinates are fitted. The displacements stay at their room-temperature values.

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-neut-cwl_cosio-d20_2k, 1438 pts fitted / 1506 loaded, 37 free
   iter   time (s)   Rwp (%)  reduced χ²   change
                       13.13        48.63
      1      0.009     13.06        48.16   1.0% ↓
      2      0.015     13.06        48.14   
      3      0.024     13.06        48.14   
  done · converged · 3 iters · reduced χ² 48.14 · Rwp 13.06 % · 0.03 s
project.display.pattern('d20')

Magnetic moments

With the nuclear peaks fitted, the moments fit the magnetic peaks. The magnetic space group lets Co1 point in any direction and Co2 only along b.

structure.atom_site_moment['Co1'].crystalaxis_x.free = True
structure.atom_site_moment['Co1'].crystalaxis_y.free = True
structure.atom_site_moment['Co1'].crystalaxis_z.free = True
structure.atom_site_moment['Co2'].crystalaxis_y.free = True
project.analysis.fit()
project.display.fit.results()
edi fit: project pd-neut-cwl_cosio-d20_2k, 1438 pts fitted / 1506 loaded, 41 free
   iter   time (s)   Rwp (%)  reduced χ²   change
                       13.06        48.28
      1      0.013     10.60        31.78   34.2% ↓
      2      0.020      7.03        13.99   56.0% ↓
      3      0.027      6.74        12.85   8.1% ↓
      4      0.033      6.04        10.33   19.6% ↓
      5      0.039      5.58         8.80   14.8% ↓
      6      0.049      5.42         8.32   5.5% ↓
      7      0.057      5.26         7.84   5.8% ↓
      8      0.064      5.09         7.33   6.4% ↓
      9      0.072      4.91         6.84   6.8% ↓
     10      0.079      4.90         6.80   0.5% ↓
     11      0.086      4.87         6.72   1.2% ↓
     12      0.101      4.87         6.71   0.1% ↓
     13      0.108      4.87         6.71   
     14      0.116      4.87         6.71   
     15      0.123      4.87         6.71   
     16      0.130      4.87         6.71   
     17      0.137      4.87         6.71   
     18      0.145      4.87         6.71   
     19      0.153      4.87         6.71   
     20      0.161      4.87         6.71   
     21      0.169      4.87         6.71   
     22      0.176      4.87         6.71   
     23      0.183      4.87         6.71   
     24      0.190      4.87         6.71   
     25      0.197      4.87         6.71   
     26      0.205      4.87         6.71   
     27      0.213      4.87         6.71   
     28      0.220      4.87         6.71   
     29      0.229      4.87         6.71   
     30      0.237      4.87         6.71   
     31      0.245      4.87         6.71   
     32      0.253      4.87         6.71   
     33      0.259      4.87         6.71   
     34      0.272      4.87         6.71   
  done · converged · 34 iters · reduced χ² 6.71 · Rwp 4.87 % · 0.28 s
project.display.pattern('d20')

Magnetic form factor

Last, the j2 term of the Co²⁺ form factor, which changes how the magnetic intensities fall with angle. It moves together with the moments, so it comes after them.

structure.magnetic_form_factor['Co'].j2_coefficient.free = True
project.analysis.fit()
project.display.fit.results()
edi fit: project pd-neut-cwl_cosio-d20_2k, 1438 pts fitted / 1506 loaded, 42 free
   iter   time (s)   Rwp (%)  reduced χ²   change
                        4.87         6.72
      1      0.009      4.72         6.30   6.2% ↓
      2      0.016      4.70         6.26   0.6% ↓
      3      0.026      4.70         6.25   0.3% ↓
      4      0.035      4.70         6.25   
      5      0.042      4.70         6.25   
      6      0.051      4.70         6.25   
      7      0.057      4.70         6.25   
      8      0.065      4.70         6.25   
      9      0.072      4.70         6.25   
     10      0.078      4.70         6.25   
     11      0.086      4.70         6.25   
     12      0.092      4.70         6.25   
     13      0.100      4.70         6.25   
     14      0.108      4.70         6.25   
     15      0.117      4.70         6.25   
     16      0.124      4.70         6.25   
     17      0.134      4.70         6.25   
  done · converged · 17 iters · reduced χ² 6.25 · Rwp 4.70 % · 0.14 s
project.display.pattern('d20')
project.display.fit.correlations()
project.display.structure('cosio')

Save the project

project.save_as('pd-neut-cwl_cosio-d20_2k')
project.report.save_html('pd-neut-cwl_cosio-d20_2k.html')
Saving project to 'pd-neut-cwl_cosio-d20_2k'
Saving report to 'pd-neut-cwl_cosio-d20_2k.html'