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,
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,
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,
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,
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,
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,
adp_iso=0.5,
)
structure.atom_sites.create(
label='Co1',
type_symbol='Co',
fract_x=0,
fract_y=0,
fract_z=0,
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,
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,
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,
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,
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,
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.peak.show_supported()
expt.peak.show_supported()
Peak 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.type = 'pseudo-voigt + empirical asymmetry'
expt.peak.type = 'pseudo-voigt + empirical asymmetry'
⚠️ Switching peak profile type adds these settings with defaults: • asym_empir_1=0.0 • asym_empir_2=0.0 • asym_empir_3=0.0 • asym_empir_4=0.0
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.background.show_supported()
expt.background.show_supported()
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(name='cosio_d20')
project = Project(name='cosio_d20')
In [17]:
Copied!
project.save_as(dir_path='projects/ed_5_cosio_d20')
project.save_as(dir_path='projects/ed_5_cosio_d20')
Saving project 📦 'cosio_d20' to '../../../projects/ed_5_cosio_d20'
├── 📄 project.cif
├── 📁 structures/
├── 📁 experiments/
├── 📁 analysis/
│ └── 📄 analysis.cif
└── 📁 reports/
└── 📄 cosio_d20.html
Add Structure¶
In [18]:
Copied!
project.structures.add(structure)
project.structures.add(structure)
Add Experiment¶
In [19]:
Copied!
project.experiments.add(expt)
project.experiments.add(expt)
In [20]:
Copied!
project.display.structure(struct_name='cosio')
project.display.structure(struct_name='cosio')
Structure 🧩 'cosio' (Atom view type: 'covalent')
Loading plot…
drag = rotate
wheel = zoom
right-drag = pan
wheel = zoom
right-drag = pan
Display Pattern¶
In [21]:
Copied!
project.display.pattern(expt_name='d20')
project.display.pattern(expt_name='d20')
Loading plot…
In [22]:
Copied!
project.display.pattern(expt_name='d20', x_min=41, x_max=54)
project.display.pattern(expt_name='d20', x_min=41, x_max=54)
Loading plot…
Set Free Parameters¶
In [23]:
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 constrained by symmetry. Ignoring free=True.
⚠️ Parameter 'cosio.atom_site.Co1.fract_y' is constrained by symmetry. Ignoring free=True.
⚠️ Parameter 'cosio.atom_site.Co1.fract_z' is constrained by symmetry. Ignoring free=True.
⚠️ Parameter 'cosio.atom_site.Co2.fract_y' is constrained by symmetry. Ignoring free=True.
⚠️ Parameter 'cosio.atom_site.Si.fract_y' is constrained by symmetry. Ignoring free=True.
⚠️ Parameter 'cosio.atom_site.O1.fract_y' is constrained by symmetry. Ignoring free=True.
⚠️ Parameter 'cosio.atom_site.O2.fract_y' is constrained by symmetry. Ignoring free=True.
In [24]:
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 [25]:
Copied!
project.display.parameters.free()
project.display.parameters.free()
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 [26]:
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 [27]:
Copied!
project.analysis.constraints.create(expression='biso_Co2 = biso_Co1')
project.analysis.constraints.create(expression='biso_Co2 = biso_Co1')
Run Fitting¶
In [28]:
Copied!
project.analysis.fit()
project.analysis.fit()
Standard fitting
📋 Using experiment 🔬 'd20' for 'single' fitting
🚀 Starting fit process with 'lmfit (leastsq)'...
📈 Goodness-of-fit progress:
| iteration | time (s) | χ² | change / status | |
|---|---|---|---|---|
| 1 | 1 | 0.28 | 424.43 | |
| 2 | 35 | 5.40 | 424.43 | |
| 3 | 47 | 7.52 | 73.78 | 82.6% ↓ |
| 4 | 75 | 12.63 | 73.78 | |
| 5 | 91 | 15.33 | 39.41 | 46.6% ↓ |
| 6 | 117 | 20.37 | 39.41 | |
| 7 | 136 | 23.30 | 19.47 | 50.6% ↓ |
| 8 | 165 | 28.37 | 19.47 | |
| 9 | 180 | 31.21 | 17.19 | 11.7% ↓ |
| 10 | 211 | 36.34 | 17.19 | |
| 11 | 224 | 38.44 | 11.03 | 35.8% ↓ |
| 12 | 267 | 43.52 | 11.03 | |
| 13 | 268 | 43.63 | 7.94 | 28.0% ↓ |
| 14 | 309 | 48.71 | 7.94 | |
| 15 | 312 | 49.01 | 4.67 | 41.2% ↓ |
| 16 | 354 | 54.10 | 4.67 | |
| 17 | 356 | 54.30 | 4.38 | 6.2% ↓ |
| 18 | 395 | 59.36 | 4.38 | |
| 19 | 435 | 64.55 | 4.38 | |
| 20 | 477 | 69.85 | 4.38 | |
| 21 | 519 | 75.02 | 4.38 | |
| 22 | 562 | 80.33 | 4.38 | |
| 23 | 577 | 83.31 | 4.38 |
🏆 Best goodness-of-fit (reduced χ²) is 4.38 at iteration 560
✅ Fitting complete.
Saving project 📦 'cosio_d20' to '../../../projects/ed_5_cosio_d20'
├── 📄 project.cif
├── 📁 structures/
│ └── 📄 cosio.cif
├── 📁 experiments/
│ └── 📄 d20.cif
├── 📁 analysis/
│ └── 📄 analysis.cif
└── 📁 reports/
└── 📄 cosio_d20.html
In [29]:
Copied!
project.display.fit.results()
project.display.fit.results()
⚙️ Settings used:
| Name | Value | Description | |
|---|---|---|---|
| 1 | max_iterations | 1000 | Maximum solver iterations. |
📋 Least-squares fit results:
| Metric | Value | |
|---|---|---|
| 1 | 🧪 Minimizer | lmfit (leastsq) |
| 2 | ✅ Overall status | success |
| 3 | ⏱️ Fitting time (seconds) | 83.31 |
| 4 | 🔁 Iterations | 574 |
| 5 | 📏 Goodness-of-fit (reduced χ²) | 4.38 |
| 6 | 📏 R-factor (Rf, %) | 2.99 |
| 7 | 📏 R-factor squared (Rf², %) | 4.32 |
| 8 | 📏 Weighted R-factor (wR, %) | 4.54 |
📈 Refined parameters:
| datablock | category | entry | parameter | units | start | value | s.u. | 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 | deg² | 0.3000 | 0.2420 | 0.0066 | 19.32 % ↓ | |
| 26 | d20 | peak | broad_gauss_v | deg² | -0.5000 | -0.5306 | 0.0143 | 6.11 % ↑ | |
| 27 | d20 | peak | broad_gauss_w | deg² | 0.4000 | 0.3881 | 0.0089 | 2.98 % ↓ | |
| 28 | d20 | peak | broad_lorentz_y | deg | 0.0000 | 0.0137 | 0.0044 | N/A | |
| 29 | d20 | instrument | twotheta_offset | deg | 0.1000 | 0.2762 | 0.0033 | 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 % ↓ |
• start = parameter value before refinement
• value = refined value from least-squares minimization
• s.u. = standard uncertainty (one sigma), from the covariance matrix
• change = relative change from start, in %; ↑ = increase, ↓ = decrease
• value = refined value from least-squares minimization
• s.u. = standard uncertainty (one sigma), from the covariance matrix
• change = relative change from start, in %; ↑ = increase, ↓ = decrease
In [30]:
Copied!
project.display.fit.correlations()
project.display.fit.correlations()
Loading plot…
Display Pattern¶
In [31]:
Copied!
project.display.pattern(expt_name='d20')
project.display.pattern(expt_name='d20')
Loading plot…
In [32]:
Copied!
project.display.pattern(expt_name='d20', x_min=42, x_max=52)
project.display.pattern(expt_name='d20', x_min=42, x_max=52)
Loading plot…
📊 Report¶
The HTML report is written automatically when the project is saved;
enable project.report.pdf as well for a PDF version.