Structure Refinement: Co2SiO4, D20¶
This example demonstrates a Rietveld refinement of Co2SiO4 crystal structure using constant wavelength neutron powder diffraction data from D20 at ILL.
It also shows different ways to set free parameters: standard one-by-one and batch setting.
Import Library¶
In [2]:
Copied!
from easydiffraction import ExperimentFactory
from easydiffraction import Project
from easydiffraction import StructureFactory
from easydiffraction import download_data
from easydiffraction import ExperimentFactory
from easydiffraction import Project
from easydiffraction import StructureFactory
from easydiffraction import download_data
In [3]:
Copied!
structure = StructureFactory.from_scratch(name='cosio')
structure = StructureFactory.from_scratch(name='cosio')
Set Space Group¶
In [4]:
Copied!
structure.space_group.name_h_m = 'P n m a'
structure.space_group.it_coordinate_system_code = 'abc'
structure.space_group.name_h_m = 'P n m a'
structure.space_group.it_coordinate_system_code = 'abc'
Set Unit Cell¶
In [5]:
Copied!
structure.cell.length_a = 10.3
structure.cell.length_b = 6.0
structure.cell.length_c = 4.8
structure.cell.length_a = 10.3
structure.cell.length_b = 6.0
structure.cell.length_c = 4.8
Set Atom Sites¶
In [6]:
Copied!
structure.atom_sites.create(
label='Co1',
type_symbol='Co',
fract_x=0,
fract_y=0,
fract_z=0,
wyckoff_letter='a',
adp_iso=0.5,
)
structure.atom_sites.create(
label='Co2',
type_symbol='Co',
fract_x=0.279,
fract_y=0.25,
fract_z=0.985,
wyckoff_letter='c',
adp_iso=0.5,
)
structure.atom_sites.create(
label='Si',
type_symbol='Si',
fract_x=0.094,
fract_y=0.25,
fract_z=0.429,
wyckoff_letter='c',
adp_iso=0.5,
)
structure.atom_sites.create(
label='O1',
type_symbol='O',
fract_x=0.091,
fract_y=0.25,
fract_z=0.771,
wyckoff_letter='c',
adp_iso=0.5,
)
structure.atom_sites.create(
label='O2',
type_symbol='O',
fract_x=0.448,
fract_y=0.25,
fract_z=0.217,
wyckoff_letter='c',
adp_iso=0.5,
)
structure.atom_sites.create(
label='O3',
type_symbol='O',
fract_x=0.164,
fract_y=0.032,
fract_z=0.28,
wyckoff_letter='d',
adp_iso=0.5,
)
structure.atom_sites.create(
label='Co1',
type_symbol='Co',
fract_x=0,
fract_y=0,
fract_z=0,
wyckoff_letter='a',
adp_iso=0.5,
)
structure.atom_sites.create(
label='Co2',
type_symbol='Co',
fract_x=0.279,
fract_y=0.25,
fract_z=0.985,
wyckoff_letter='c',
adp_iso=0.5,
)
structure.atom_sites.create(
label='Si',
type_symbol='Si',
fract_x=0.094,
fract_y=0.25,
fract_z=0.429,
wyckoff_letter='c',
adp_iso=0.5,
)
structure.atom_sites.create(
label='O1',
type_symbol='O',
fract_x=0.091,
fract_y=0.25,
fract_z=0.771,
wyckoff_letter='c',
adp_iso=0.5,
)
structure.atom_sites.create(
label='O2',
type_symbol='O',
fract_x=0.448,
fract_y=0.25,
fract_z=0.217,
wyckoff_letter='c',
adp_iso=0.5,
)
structure.atom_sites.create(
label='O3',
type_symbol='O',
fract_x=0.164,
fract_y=0.032,
fract_z=0.28,
wyckoff_letter='d',
adp_iso=0.5,
)
In [7]:
Copied!
data_path = download_data(id=12, destination='data')
data_path = download_data(id=12, destination='data')
Getting data...
Data #12: Co2SiO4, D20 (ILL)
✅ Data #12 downloaded to 'data/ed-12.xye'
Create Experiment¶
In [8]:
Copied!
expt = ExperimentFactory.from_data_path(name='d20', data_path=data_path)
expt = ExperimentFactory.from_data_path(name='d20', data_path=data_path)
Set Instrument¶
In [9]:
Copied!
expt.instrument.setup_wavelength = 1.87
expt.instrument.calib_twotheta_offset = 0.1
expt.instrument.setup_wavelength = 1.87
expt.instrument.calib_twotheta_offset = 0.1
Set Peak Profile¶
In [10]:
Copied!
expt.show_peak_profile_types()
expt.show_peak_profile_types()
Peak profile types
| Type | Description | ||
|---|---|---|---|
| 1 | * | pseudo-voigt | CWL pseudo-Voigt profile |
| 2 | pseudo-voigt + empirical asymmetry | CWL pseudo-Voigt profile with empirical asymmetry correction. |
In [11]:
Copied!
expt.peak_profile_type = 'pseudo-voigt + empirical asymmetry'
expt.peak_profile_type = 'pseudo-voigt + empirical asymmetry'
⚠️ Switching peak profile type discards existing peak parameters.
Peak profile type for experiment 'd20' changed to
pseudo-voigt + empirical asymmetry
In [12]:
Copied!
expt.peak.broad_gauss_u = 0.3
expt.peak.broad_gauss_v = -0.5
expt.peak.broad_gauss_w = 0.4
expt.peak.broad_gauss_u = 0.3
expt.peak.broad_gauss_v = -0.5
expt.peak.broad_gauss_w = 0.4
Set Background¶
In [13]:
Copied!
expt.show_background_types()
expt.show_background_types()
Background types
| Type | Description | ||
|---|---|---|---|
| 1 | chebyshev | Chebyshev polynomial background | |
| 2 | * | line-segment | Linear interpolation between points |
In [14]:
Copied!
expt.background.create(id='1', x=8, y=500)
expt.background.create(id='2', x=9, y=500)
expt.background.create(id='3', x=10, y=500)
expt.background.create(id='4', x=11, y=500)
expt.background.create(id='5', x=12, y=500)
expt.background.create(id='6', x=15, y=500)
expt.background.create(id='7', x=25, y=500)
expt.background.create(id='8', x=30, y=500)
expt.background.create(id='9', x=50, y=500)
expt.background.create(id='10', x=70, y=500)
expt.background.create(id='11', x=90, y=500)
expt.background.create(id='12', x=110, y=500)
expt.background.create(id='13', x=130, y=500)
expt.background.create(id='14', x=150, y=500)
expt.background.create(id='1', x=8, y=500)
expt.background.create(id='2', x=9, y=500)
expt.background.create(id='3', x=10, y=500)
expt.background.create(id='4', x=11, y=500)
expt.background.create(id='5', x=12, y=500)
expt.background.create(id='6', x=15, y=500)
expt.background.create(id='7', x=25, y=500)
expt.background.create(id='8', x=30, y=500)
expt.background.create(id='9', x=50, y=500)
expt.background.create(id='10', x=70, y=500)
expt.background.create(id='11', x=90, y=500)
expt.background.create(id='12', x=110, y=500)
expt.background.create(id='13', x=130, y=500)
expt.background.create(id='14', x=150, y=500)
Set Linked Phases¶
In [15]:
Copied!
expt.linked_phases.create(id='cosio', scale=1.0)
expt.linked_phases.create(id='cosio', scale=1.0)
In [16]:
Copied!
project = Project()
project = Project()
Add Structure¶
In [17]:
Copied!
project.structures.add(structure)
project.structures.add(structure)
Add Experiment¶
In [18]:
Copied!
project.experiments.add(expt)
project.experiments.add(expt)
In [19]:
Copied!
project.display.plotter.plot_meas_vs_calc(expt_name='d20')
project.display.plotter.plot_meas_vs_calc(expt_name='d20')
In [20]:
Copied!
project.display.plotter.plot_meas_vs_calc(expt_name='d20', x_min=41, x_max=54)
project.display.plotter.plot_meas_vs_calc(expt_name='d20', x_min=41, x_max=54)
Set Free Parameters¶
In [21]:
Copied!
structure.cell.length_a.free = True
structure.cell.length_b.free = True
structure.cell.length_c.free = True
for atom_site in structure.atom_sites:
for parameter in ('fract_x', 'fract_y', 'fract_z'):
getattr(atom_site, parameter).free = True
for atom_site in structure.atom_sites:
atom_site.adp_iso.free = True
for label in ('O1', 'O2', 'O3'):
atom_site = structure.atom_sites[label]
atom_site.occupancy.free = True
structure.cell.length_a.free = True
structure.cell.length_b.free = True
structure.cell.length_c.free = True
for atom_site in structure.atom_sites:
for parameter in ('fract_x', 'fract_y', 'fract_z'):
getattr(atom_site, parameter).free = True
for atom_site in structure.atom_sites:
atom_site.adp_iso.free = True
for label in ('O1', 'O2', 'O3'):
atom_site = structure.atom_sites[label]
atom_site.occupancy.free = True
⚠️ Parameter 'cosio.atom_site.Co1.fract_x' is fixed by symmetry. Ignoring free=True.
⚠️ Parameter 'cosio.atom_site.Co1.fract_y' is fixed by symmetry. Ignoring free=True.
⚠️ Parameter 'cosio.atom_site.Co1.fract_z' is fixed by symmetry. Ignoring free=True.
⚠️ Parameter 'cosio.atom_site.Co2.fract_y' is fixed by symmetry. Ignoring free=True.
⚠️ Parameter 'cosio.atom_site.Si.fract_y' is fixed by symmetry. Ignoring free=True.
⚠️ Parameter 'cosio.atom_site.O1.fract_y' is fixed by symmetry. Ignoring free=True.
⚠️ Parameter 'cosio.atom_site.O2.fract_y' is fixed by symmetry. Ignoring free=True.
In [22]:
Copied!
expt.linked_phases['cosio'].scale.free = True
expt.instrument.calib_twotheta_offset.free = True
expt.peak.broad_gauss_u.free = True
expt.peak.broad_gauss_v.free = True
expt.peak.broad_gauss_w.free = True
expt.peak.broad_lorentz_y.free = True
expt.peak.asym_empir_2.free = True
for point in expt.background:
point.y.free = True
expt.linked_phases['cosio'].scale.free = True
expt.instrument.calib_twotheta_offset.free = True
expt.peak.broad_gauss_u.free = True
expt.peak.broad_gauss_v.free = True
expt.peak.broad_gauss_w.free = True
expt.peak.broad_lorentz_y.free = True
expt.peak.asym_empir_2.free = True
for point in expt.background:
point.y.free = True
Show free parameters after selection.
In [23]:
Copied!
project.analysis.display.free_params()
project.analysis.display.free_params()
Free parameters for both structures (🧩 data blocks) and experiments (🔬 data blocks)
| datablock | category | entry | parameter | value | uncertainty | min | max | units | |
|---|---|---|---|---|---|---|---|---|---|
| 1 | cosio | cell | length_a | 10.30000 | -inf | inf | Å | ||
| 2 | cosio | cell | length_b | 6.00000 | -inf | inf | Å | ||
| 3 | cosio | cell | length_c | 4.80000 | -inf | inf | Å | ||
| 4 | cosio | atom_site | Co1 | adp_iso | 0.50000 | -inf | inf | Ų | |
| 5 | cosio | atom_site | Co2 | fract_x | 0.27900 | -inf | inf | ||
| 6 | cosio | atom_site | Co2 | fract_z | 0.98500 | -inf | inf | ||
| 7 | cosio | atom_site | Co2 | adp_iso | 0.50000 | -inf | inf | Ų | |
| 8 | cosio | atom_site | Si | fract_x | 0.09400 | -inf | inf | ||
| 9 | cosio | atom_site | Si | fract_z | 0.42900 | -inf | inf | ||
| 10 | cosio | atom_site | Si | adp_iso | 0.50000 | -inf | inf | Ų | |
| 11 | cosio | atom_site | O1 | fract_x | 0.09100 | -inf | inf | ||
| 12 | cosio | atom_site | O1 | fract_z | 0.77100 | -inf | inf | ||
| 13 | cosio | atom_site | O1 | occupancy | 1.00000 | -inf | inf | ||
| 14 | cosio | atom_site | O1 | adp_iso | 0.50000 | -inf | inf | Ų | |
| 15 | cosio | atom_site | O2 | fract_x | 0.44800 | -inf | inf | ||
| 16 | cosio | atom_site | O2 | fract_z | 0.21700 | -inf | inf | ||
| 17 | cosio | atom_site | O2 | occupancy | 1.00000 | -inf | inf | ||
| 18 | cosio | atom_site | O2 | adp_iso | 0.50000 | -inf | inf | Ų | |
| 19 | cosio | atom_site | O3 | fract_x | 0.16400 | -inf | inf | ||
| 20 | cosio | atom_site | O3 | fract_y | 0.03200 | -inf | inf | ||
| 21 | cosio | atom_site | O3 | fract_z | 0.28000 | -inf | inf | ||
| 22 | cosio | atom_site | O3 | occupancy | 1.00000 | -inf | inf | ||
| 23 | cosio | atom_site | O3 | adp_iso | 0.50000 | -inf | inf | Ų | |
| 24 | d20 | linked_phases | cosio | scale | 1.00000 | -inf | inf | ||
| 25 | d20 | peak | asym_empir_2 | 0.00000 | -inf | inf | |||
| 26 | d20 | peak | broad_gauss_u | 0.30000 | -inf | inf | deg² | ||
| 27 | d20 | peak | broad_gauss_v | -0.50000 | -inf | inf | deg² | ||
| 28 | d20 | peak | broad_gauss_w | 0.40000 | -inf | inf | deg² | ||
| 29 | d20 | peak | broad_lorentz_y | 0.00000 | -inf | inf | deg | ||
| 30 | d20 | instrument | twotheta_offset | 0.10000 | -inf | inf | deg | ||
| 31 | d20 | background | 1 | y | 500.00000 | -inf | inf | ||
| 32 | d20 | background | 2 | y | 500.00000 | -inf | inf | ||
| 33 | d20 | background | 3 | y | 500.00000 | -inf | inf | ||
| 34 | d20 | background | 4 | y | 500.00000 | -inf | inf | ||
| 35 | d20 | background | 5 | y | 500.00000 | -inf | inf | ||
| 36 | d20 | background | 6 | y | 500.00000 | -inf | inf | ||
| 37 | d20 | background | 7 | y | 500.00000 | -inf | inf | ||
| 38 | d20 | background | 8 | y | 500.00000 | -inf | inf | ||
| 39 | d20 | background | 9 | y | 500.00000 | -inf | inf | ||
| 40 | d20 | background | 10 | y | 500.00000 | -inf | inf | ||
| 41 | d20 | background | 11 | y | 500.00000 | -inf | inf | ||
| 42 | d20 | background | 12 | y | 500.00000 | -inf | inf | ||
| 43 | d20 | background | 13 | y | 500.00000 | -inf | inf | ||
| 44 | d20 | background | 14 | y | 500.00000 | -inf | inf |
Set Constraints¶
Set aliases for parameters.
In [24]:
Copied!
project.analysis.aliases.create(
label='biso_Co1',
param=project.structures['cosio'].atom_sites['Co1'].adp_iso,
)
project.analysis.aliases.create(
label='biso_Co2',
param=project.structures['cosio'].atom_sites['Co2'].adp_iso,
)
project.analysis.aliases.create(
label='biso_Co1',
param=project.structures['cosio'].atom_sites['Co1'].adp_iso,
)
project.analysis.aliases.create(
label='biso_Co2',
param=project.structures['cosio'].atom_sites['Co2'].adp_iso,
)
Set constraints.
In [25]:
Copied!
project.analysis.constraints.create(expression='biso_Co2 = biso_Co1')
project.analysis.constraints.create(expression='biso_Co2 = biso_Co1')
Run Fitting¶
In [26]:
Copied!
project.analysis.fit()
project.analysis.fit()
Standard fitting
📋 Using experiment 🔬 'd20' for 'single' fitting
🚀 Starting fit process with 'lmfit (leastsq)'...
📈 Goodness-of-fit (reduced χ²) change:
| iteration | χ² | improvement [%] | |
|---|---|---|---|
| 1 | 1 | 424.43 | |
| 2 | 47 | 73.78 | 82.6% ↓ |
| 3 | 91 | 39.41 | 46.6% ↓ |
| 4 | 136 | 19.47 | 50.6% ↓ |
| 5 | 180 | 17.19 | 11.7% ↓ |
| 6 | 224 | 11.03 | 35.8% ↓ |
| 7 | 268 | 7.94 | 28.0% ↓ |
| 8 | 312 | 4.67 | 41.2% ↓ |
| 9 | 356 | 4.38 | 6.2% ↓ |
| 10 | 577 | 4.38 |
🏆 Best goodness-of-fit (reduced χ²) is 4.38 at iteration 560
✅ Fitting complete.
In [27]:
Copied!
project.analysis.display.fit_results()
project.analysis.display.fit_results()
Fit results
✅ Success: True
⏱️ Fitting time: 56.36 seconds
📏 Goodness-of-fit (reduced χ²): 4.38
📏 R-factor (Rf): 2.99%
📏 R-factor squared (Rf²): 4.32%
📏 Weighted R-factor (wR): 4.54%
📈 Fitted parameters:
| datablock | category | entry | parameter | start | fitted | uncertainty | units | change | |
|---|---|---|---|---|---|---|---|---|---|
| 1 | cosio | cell | length_a | 10.3000 | 10.3084 | 0.0003 | Å | 0.08 % ↑ | |
| 2 | cosio | cell | length_b | 6.0000 | 6.0036 | 0.0002 | Å | 0.06 % ↑ | |
| 3 | cosio | cell | length_c | 4.8000 | 4.7864 | 0.0001 | Å | 0.28 % ↓ | |
| 4 | cosio | atom_site | Co1 | adp_iso | 0.5000 | 0.6716 | 0.1079 | Ų | 34.32 % ↑ |
| 5 | cosio | atom_site | Co2 | fract_x | 0.2790 | 0.2792 | 0.0007 | 0.06 % ↑ | |
| 6 | cosio | atom_site | Co2 | fract_z | 0.9850 | 0.9850 | 0.0014 | 0.00 % ↓ | |
| 7 | cosio | atom_site | Si | fract_x | 0.0940 | 0.0938 | 0.0004 | 0.25 % ↓ | |
| 8 | cosio | atom_site | Si | fract_z | 0.4290 | 0.4293 | 0.0008 | 0.08 % ↑ | |
| 9 | cosio | atom_site | Si | adp_iso | 0.5000 | 0.6856 | 0.0885 | Ų | 37.11 % ↑ |
| 10 | cosio | atom_site | O1 | fract_x | 0.0910 | 0.0911 | 0.0003 | 0.14 % ↑ | |
| 11 | cosio | atom_site | O1 | fract_z | 0.7710 | 0.7715 | 0.0006 | 0.07 % ↑ | |
| 12 | cosio | atom_site | O1 | occupancy | 1.0000 | 0.9149 | 0.0136 | 8.51 % ↓ | |
| 13 | cosio | atom_site | O1 | adp_iso | 0.5000 | 0.4655 | 0.0776 | Ų | 6.90 % ↓ |
| 14 | cosio | atom_site | O2 | fract_x | 0.4480 | 0.4482 | 0.0003 | 0.04 % ↑ | |
| 15 | cosio | atom_site | O2 | fract_z | 0.2170 | 0.2171 | 0.0007 | 0.04 % ↑ | |
| 16 | cosio | atom_site | O2 | occupancy | 1.0000 | 0.9589 | 0.0135 | 4.11 % ↓ | |
| 17 | cosio | atom_site | O2 | adp_iso | 0.5000 | 0.6701 | 0.0795 | Ų | 34.03 % ↑ |
| 18 | cosio | atom_site | O3 | fract_x | 0.1640 | 0.1636 | 0.0002 | 0.24 % ↓ | |
| 19 | cosio | atom_site | O3 | fract_y | 0.0320 | 0.0315 | 0.0003 | 1.47 % ↓ | |
| 20 | cosio | atom_site | O3 | fract_z | 0.2800 | 0.2802 | 0.0005 | 0.07 % ↑ | |
| 21 | cosio | atom_site | O3 | occupancy | 1.0000 | 0.9549 | 0.0118 | 4.51 % ↓ | |
| 22 | cosio | atom_site | O3 | adp_iso | 0.5000 | 0.8491 | 0.0614 | Ų | 69.83 % ↑ |
| 23 | d20 | linked_phases | cosio | scale | 1.0000 | 1.3308 | 0.0289 | 33.08 % ↑ | |
| 24 | d20 | peak | asym_empir_2 | 0.0000 | -0.0087 | 0.0019 | N/A | ||
| 25 | d20 | peak | broad_gauss_u | 0.3000 | 0.2420 | 0.0066 | deg² | 19.32 % ↓ | |
| 26 | d20 | peak | broad_gauss_v | -0.5000 | -0.5306 | 0.0143 | deg² | 6.11 % ↑ | |
| 27 | d20 | peak | broad_gauss_w | 0.4000 | 0.3881 | 0.0089 | deg² | 2.98 % ↓ | |
| 28 | d20 | peak | broad_lorentz_y | 0.0000 | 0.0137 | 0.0044 | deg | N/A | |
| 29 | d20 | instrument | twotheta_offset | 0.1000 | 0.2762 | 0.0033 | deg | 176.23 % ↑ | |
| 30 | d20 | background | 1 | y | 500.0000 | 608.7247 | 14.2455 | 21.74 % ↑ | |
| 31 | d20 | background | 2 | y | 500.0000 | 580.6999 | 9.5299 | 16.14 % ↑ | |
| 32 | d20 | background | 3 | y | 500.0000 | 562.9608 | 9.0541 | 12.59 % ↑ | |
| 33 | d20 | background | 4 | y | 500.0000 | 540.3572 | 8.5911 | 8.07 % ↑ | |
| 34 | d20 | background | 5 | y | 500.0000 | 519.8448 | 5.9267 | 3.97 % ↑ | |
| 35 | d20 | background | 6 | y | 500.0000 | 507.5406 | 3.4171 | 1.51 % ↑ | |
| 36 | d20 | background | 7 | y | 500.0000 | 462.8842 | 3.1447 | 7.42 % ↓ | |
| 37 | d20 | background | 8 | y | 500.0000 | 430.7947 | 2.4268 | 13.84 % ↓ | |
| 38 | d20 | background | 9 | y | 500.0000 | 451.5176 | 2.2116 | 9.70 % ↓ | |
| 39 | d20 | background | 10 | y | 500.0000 | 429.1040 | 1.9992 | 14.18 % ↓ | |
| 40 | d20 | background | 11 | y | 500.0000 | 413.5987 | 2.2203 | 17.28 % ↓ | |
| 41 | d20 | background | 12 | y | 500.0000 | 362.0222 | 2.0545 | 27.60 % ↓ | |
| 42 | d20 | background | 13 | y | 500.0000 | 292.8711 | 1.9349 | 41.43 % ↓ | |
| 43 | d20 | background | 14 | y | 500.0000 | 241.1480 | 2.9203 | 51.77 % ↓ |
In [28]:
Copied!
project.display.plotter.plot_param_correlations()
project.display.plotter.plot_param_correlations()
Plot Measured vs Calculated¶
In [29]:
Copied!
project.display.plotter.plot_meas_vs_calc(expt_name='d20')
project.display.plotter.plot_meas_vs_calc(expt_name='d20')
In [30]:
Copied!
project.display.plotter.plot_meas_vs_calc(expt_name='d20', x_min=42, x_max=52)
project.display.plotter.plot_meas_vs_calc(expt_name='d20', x_min=42, x_max=52)
Summary¶
This final section shows how to review the results of the analysis.
Show Project Summary¶
In [31]:
Copied!
project.summary.show_report()
project.summary.show_report()
———————————— PROJECT INFO ————————————
Title
Untitled Project
————————————————————— CRYSTALLOGRAPHIC DATA —————————————————————
Phase datablock
🧩 cosio
Space group
P n m a
| Parameter | Value | Uncertainty | |
|---|---|---|---|
| 1 | a | 10.30836736 | 0.00027647 |
| 2 | b | 10.30836736 | 0.00027647 |
| 3 | c | 10.30836736 | 0.00027647 |
| 4 | α | 90.00000000 | |
| 5 | β | 90.00000000 | |
| 6 | γ | 90.00000000 |
Atom sites
| label | type | x | y | z | occ | Biso | |
|---|---|---|---|---|---|---|---|
| 1 | Co1 | Co | 0.00000000 | 0.00000000 | 0.00000000 | 1.00000000 | 0.67158838 |
| 2 | Co2 | Co | 0.27917936 | 0.25000000 | 0.98498721 | 1.00000000 | 0.67158838 |
| 3 | Si | Si | 0.09376329 | 0.25000000 | 0.42933149 | 1.00000000 | 0.68556173 |
| 4 | O1 | O | 0.09112409 | 0.25000000 | 0.77152556 | 0.91489691 | 0.46550121 |
| 5 | O2 | O | 0.44815717 | 0.25000000 | 0.21709214 | 0.95889236 | 0.67012818 |
| 6 | O3 | O | 0.16361394 | 0.03153092 | 0.28020344 | 0.95492679 | 0.84913226 |
——————————— EXPERIMENTS ———————————
Experiment datablock
🔬 d20
Experiment type
powder, neutron, constant wavelength bragg
Calculation engine
cryspy
Wavelength
1.87000
2θ offset
0.27623
Profile type
pseudo-voigt + empirical asymmetry
Peak broadening (Gaussian)
| Parameter | Value | Uncertainty | |
|---|---|---|---|
| 1 | U | 0.24204807 | 0.00662677 |
| 2 | V | -0.53056938 | 0.01427471 |
| 3 | W | 0.38809537 | 0.00893623 |
Peak broadening (Lorentzian)
| Parameter | Value | Uncertainty | |
|---|---|---|---|
| 1 | X | 0.00000000 | |
| 2 | Y | 0.01367915 | 0.00438704 |
Asymmetry (Empirical)
| Parameter | Value | Uncertainty | |
|---|---|---|---|
| 1 | p1 | 0.00000000 | |
| 2 | p2 | -0.00873349 | 0.00189254 |
| 3 | p3 | 0.00000000 | |
| 4 | p4 | 0.00000000 |
——————— FITTING ———————
Minimization engine
lmfit (leastsq)
Fit quality
| metric | value | |
|---|---|---|
| 1 | Goodness-of-fit (reduced χ²) | 4.38 |