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'