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.coord_system_code = 'abc'
structure.space_group.name_h_m = 'P n m a'
structure.space_group.coord_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(
id='Co1',
type_symbol='Co',
fract_x=0,
fract_y=0,
fract_z=0,
adp_iso=0.5,
)
structure.atom_sites.create(
id='Co2',
type_symbol='Co',
fract_x=0.279,
fract_y=0.25,
fract_z=0.985,
adp_iso=0.5,
)
structure.atom_sites.create(
id='Si',
type_symbol='Si',
fract_x=0.094,
fract_y=0.25,
fract_z=0.429,
adp_iso=0.5,
)
structure.atom_sites.create(
id='O1',
type_symbol='O',
fract_x=0.091,
fract_y=0.25,
fract_z=0.771,
adp_iso=0.5,
)
structure.atom_sites.create(
id='O2',
type_symbol='O',
fract_x=0.448,
fract_y=0.25,
fract_z=0.217,
adp_iso=0.5,
)
structure.atom_sites.create(
id='O3',
type_symbol='O',
fract_x=0.164,
fract_y=0.032,
fract_z=0.28,
adp_iso=0.5,
)
structure.atom_sites.create(
id='Co1',
type_symbol='Co',
fract_x=0,
fract_y=0,
fract_z=0,
adp_iso=0.5,
)
structure.atom_sites.create(
id='Co2',
type_symbol='Co',
fract_x=0.279,
fract_y=0.25,
fract_z=0.985,
adp_iso=0.5,
)
structure.atom_sites.create(
id='Si',
type_symbol='Si',
fract_x=0.094,
fract_y=0.25,
fract_z=0.429,
adp_iso=0.5,
)
structure.atom_sites.create(
id='O1',
type_symbol='O',
fract_x=0.091,
fract_y=0.25,
fract_z=0.771,
adp_iso=0.5,
)
structure.atom_sites.create(
id='O2',
type_symbol='O',
fract_x=0.448,
fract_y=0.25,
fract_z=0.217,
adp_iso=0.5,
)
structure.atom_sites.create(
id='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('meas-cosio-d20', destination='data')
data_path = download_data('meas-cosio-d20', destination='data')
Getting data...
Data 'meas-cosio-d20': Co2SiO4, D20 (ILL)
✅ Data 'meas-cosio-d20' downloaded to '../../../data/meas-cosio-d20.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 + berar-baldinozzi asymmetry | CWL pseudo-Voigt profile with Berar-Baldinozzi asymmetry correction. |
In [11]:
Copied!
expt.peak.type = 'pseudo-voigt + berar-baldinozzi asymmetry'
expt.peak.type = 'pseudo-voigt + berar-baldinozzi asymmetry'
⚠️ Switching peak profile type adds these settings with defaults: • asym_beba_a0=0.0 • asym_beba_a1=0.0 • asym_beba_b0=0.0 • asym_beba_b1=0.0
Peak profile type for experiment 'd20' changed to
pseudo-voigt + berar-baldinozzi 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
In [13]:
Copied!
expt.peak.cutoff_fwhm = 8
expt.peak.cutoff_fwhm = 8
Set Background¶
In [14]:
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 [15]:
Copied!
expt.background.create(id='1', position=8, intensity=500)
expt.background.create(id='2', position=9, intensity=500)
expt.background.create(id='3', position=10, intensity=500)
expt.background.create(id='4', position=11, intensity=500)
expt.background.create(id='5', position=12, intensity=500)
expt.background.create(id='6', position=15, intensity=500)
expt.background.create(id='7', position=25, intensity=500)
expt.background.create(id='8', position=30, intensity=500)
expt.background.create(id='9', position=50, intensity=500)
expt.background.create(id='10', position=70, intensity=500)
expt.background.create(id='11', position=90, intensity=500)
expt.background.create(id='12', position=110, intensity=500)
expt.background.create(id='13', position=130, intensity=500)
expt.background.create(id='14', position=150, intensity=500)
expt.background.create(id='1', position=8, intensity=500)
expt.background.create(id='2', position=9, intensity=500)
expt.background.create(id='3', position=10, intensity=500)
expt.background.create(id='4', position=11, intensity=500)
expt.background.create(id='5', position=12, intensity=500)
expt.background.create(id='6', position=15, intensity=500)
expt.background.create(id='7', position=25, intensity=500)
expt.background.create(id='8', position=30, intensity=500)
expt.background.create(id='9', position=50, intensity=500)
expt.background.create(id='10', position=70, intensity=500)
expt.background.create(id='11', position=90, intensity=500)
expt.background.create(id='12', position=110, intensity=500)
expt.background.create(id='13', position=130, intensity=500)
expt.background.create(id='14', position=150, intensity=500)
Set Linked Structures¶
In [16]:
Copied!
expt.linked_structures.create(structure_id='cosio', scale=1.0)
expt.linked_structures.create(structure_id='cosio', scale=1.0)
In [17]:
Copied!
project = Project(name='cosio_d20')
project = Project(name='cosio_d20')
In [18]:
Copied!
project.save_as(dir_path='projects/refine-cosio-d20')
project.save_as(dir_path='projects/refine-cosio-d20')
Saving project 📦 'cosio_d20' to '../../../projects/refine-cosio-d20'
├── 📄 project.edi
├── 📁 structures/
├── 📁 experiments/
├── 📁 analysis/
│ └── 📄 analysis.edi
└── 📁 reports/
└── 📄 cosio_d20.html
Add Structure¶
In [19]:
Copied!
project.structures.add(structure)
project.structures.add(structure)
Add Experiment¶
In [20]:
Copied!
project.experiments.add(expt)
project.experiments.add(expt)
In [21]:
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 [22]:
Copied!
project.display.pattern(expt_name='d20')
project.display.pattern(expt_name='d20')
Loading plot…
In [23]:
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 [24]:
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 [25]:
Copied!
expt.linked_structures['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_beba_b0.free = True
for point in expt.background:
point.intensity.free = True
expt.linked_structures['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_beba_b0.free = True
for point in expt.background:
point.intensity.free = True
Show free parameters after selection.
In [26]:
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_structure | cosio | scale | 1.00000 | -inf | inf | ||
| 25 | d20 | peak | asym_beba_b0 | 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 | intensity | 500.00000 | -inf | inf | ||
| 32 | d20 | background | 2 | intensity | 500.00000 | -inf | inf | ||
| 33 | d20 | background | 3 | intensity | 500.00000 | -inf | inf | ||
| 34 | d20 | background | 4 | intensity | 500.00000 | -inf | inf | ||
| 35 | d20 | background | 5 | intensity | 500.00000 | -inf | inf | ||
| 36 | d20 | background | 6 | intensity | 500.00000 | -inf | inf | ||
| 37 | d20 | background | 7 | intensity | 500.00000 | -inf | inf | ||
| 38 | d20 | background | 8 | intensity | 500.00000 | -inf | inf | ||
| 39 | d20 | background | 9 | intensity | 500.00000 | -inf | inf | ||
| 40 | d20 | background | 10 | intensity | 500.00000 | -inf | inf | ||
| 41 | d20 | background | 11 | intensity | 500.00000 | -inf | inf | ||
| 42 | d20 | background | 12 | intensity | 500.00000 | -inf | inf | ||
| 43 | d20 | background | 13 | intensity | 500.00000 | -inf | inf | ||
| 44 | d20 | background | 14 | intensity | 500.00000 | -inf | inf |
Set Constraints¶
Set aliases for parameters.
In [27]:
Copied!
project.analysis.aliases.create(
id='biso_Co1',
param=project.structures['cosio'].atom_sites['Co1'].adp_iso,
)
project.analysis.aliases.create(
id='biso_Co2',
param=project.structures['cosio'].atom_sites['Co2'].adp_iso,
)
project.analysis.aliases.create(
id='biso_Co1',
param=project.structures['cosio'].atom_sites['Co1'].adp_iso,
)
project.analysis.aliases.create(
id='biso_Co2',
param=project.structures['cosio'].atom_sites['Co2'].adp_iso,
)
Set constraints.
In [28]:
Copied!
project.analysis.constraints.create(expression='biso_Co2 = biso_Co1')
project.analysis.constraints.create(expression='biso_Co2 = biso_Co1')
Run Fitting¶
In [29]:
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.06 | 424.43 | |
| 2 | 47 | 4.07 | 73.81 | 82.6% ↓ |
| 3 | 91 | 7.98 | 39.81 | 46.1% ↓ |
| 4 | 136 | 12.16 | 19.19 | 51.8% ↓ |
| 5 | 180 | 15.92 | 12.76 | 33.5% ↓ |
| 6 | 224 | 19.59 | 7.64 | 40.1% ↓ |
| 7 | 268 | 23.15 | 4.61 | 39.6% ↓ |
| 8 | 312 | 26.79 | 4.38 | 5.0% ↓ |
| 9 | 369 | 31.81 | 4.38 | |
| 10 | 429 | 37.01 | 4.38 | |
| 11 | 490 | 42.03 | 4.38 | |
| 12 | 533 | 47.08 | 4.38 |
🏆 Best goodness-of-fit (reduced χ²) is 4.38 at iteration 516
✅ Fitting complete.
Saving project 📦 'cosio_d20' to '../../../projects/refine-cosio-d20'
├── 📄 project.edi
├── 📁 structures/
│ └── 📄 cosio.edi
├── 📁 experiments/
│ └── 📄 d20.edi
├── 📁 analysis/
│ └── 📄 analysis.edi
└── 📁 reports/
└── 📄 cosio_d20.html
In [30]:
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) | 47.08 |
| 4 | 🔁 Iterations | 530 |
| 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.33 % ↑ |
| 5 | cosio | atom_site | Co2 | fract_x | 0.2790 | 0.2792 | 0.0007 | 0.07 % ↑ | |
| 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.26 % ↓ | |
| 8 | cosio | atom_site | Si | fract_z | 0.4290 | 0.4294 | 0.0008 | 0.08 % ↑ | |
| 9 | cosio | atom_site | Si | adp_iso | Ų | 0.5000 | 0.6864 | 0.0884 | 37.28 % ↑ |
| 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.9148 | 0.0136 | 8.52 % ↓ | |
| 13 | cosio | atom_site | O1 | adp_iso | Ų | 0.5000 | 0.4662 | 0.0775 | 6.77 % ↓ |
| 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.9588 | 0.0135 | 4.12 % ↓ | |
| 17 | cosio | atom_site | O2 | adp_iso | Ų | 0.5000 | 0.6713 | 0.0795 | 34.26 % ↑ |
| 18 | cosio | atom_site | O3 | fract_x | 0.1640 | 0.1636 | 0.0002 | 0.23 % ↓ | |
| 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.9548 | 0.0118 | 4.52 % ↓ | |
| 22 | cosio | atom_site | O3 | adp_iso | Ų | 0.5000 | 0.8499 | 0.0614 | 69.99 % ↑ |
| 23 | d20 | linked_structure | cosio | scale | 1.0000 | 1.3307 | 0.0289 | 33.07 % ↑ | |
| 24 | d20 | peak | asym_beba_b0 | 0.0000 | -0.0087 | 0.0019 | N/A | ||
| 25 | d20 | peak | broad_gauss_u | deg² | 0.3000 | 0.2422 | 0.0066 | 19.26 % ↓ | |
| 26 | d20 | peak | broad_gauss_v | deg² | -0.5000 | -0.5309 | 0.0143 | 6.17 % ↑ | |
| 27 | d20 | peak | broad_gauss_w | deg² | 0.4000 | 0.3884 | 0.0089 | 2.91 % ↓ | |
| 28 | d20 | peak | broad_lorentz_y | deg | 0.0000 | 0.0134 | 0.0043 | N/A | |
| 29 | d20 | instrument | twotheta_offset | deg | 0.1000 | 0.2762 | 0.0033 | 176.23 % ↑ | |
| 30 | d20 | background | 1 | intensity | 500.0000 | 609.3228 | 14.2442 | 21.86 % ↑ | |
| 31 | d20 | background | 2 | intensity | 500.0000 | 581.1915 | 9.5285 | 16.24 % ↑ | |
| 32 | d20 | background | 3 | intensity | 500.0000 | 563.3757 | 9.0531 | 12.68 % ↑ | |
| 33 | d20 | background | 4 | intensity | 500.0000 | 540.7175 | 8.5904 | 8.14 % ↑ | |
| 34 | d20 | background | 5 | intensity | 500.0000 | 520.1578 | 5.9256 | 4.03 % ↑ | |
| 35 | d20 | background | 6 | intensity | 500.0000 | 507.7804 | 3.4171 | 1.56 % ↑ | |
| 36 | d20 | background | 7 | intensity | 500.0000 | 463.0315 | 3.1418 | 7.39 % ↓ | |
| 37 | d20 | background | 8 | intensity | 500.0000 | 430.9893 | 2.4269 | 13.80 % ↓ | |
| 38 | d20 | background | 9 | intensity | 500.0000 | 451.8045 | 2.1831 | 9.64 % ↓ | |
| 39 | d20 | background | 10 | intensity | 500.0000 | 429.4275 | 1.9786 | 14.11 % ↓ | |
| 40 | d20 | background | 11 | intensity | 500.0000 | 414.1454 | 2.1448 | 17.17 % ↓ | |
| 41 | d20 | background | 12 | intensity | 500.0000 | 362.4173 | 2.0131 | 27.52 % ↓ | |
| 42 | d20 | background | 13 | intensity | 500.0000 | 293.1495 | 1.9075 | 41.37 % ↓ | |
| 43 | d20 | background | 14 | intensity | 500.0000 | 241.3362 | 2.8958 | 51.73 % ↓ |
• 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 [31]:
Copied!
project.display.fit.correlations()
project.display.fit.correlations()
Loading plot…
Display Pattern¶
In [32]:
Copied!
project.display.pattern(expt_name='d20')
project.display.pattern(expt_name='d20')
Loading plot…
In [33]:
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.