Structure Refinement: Si, SEPD¶
This example demonstrates a Rietveld refinement of Si crystal structure using time-of-flight neutron powder diffraction data from SEPD at Argonne.
It also shows how to switch calculation engine and peak profile type.
🛠️ 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='si')
structure = StructureFactory.from_scratch(name='si')
Set Space Group¶
In [4]:
Copied!
structure.space_group.name_h_m = 'F d -3 m'
structure.space_group.coord_system_code = '2'
structure.space_group.name_h_m = 'F d -3 m'
structure.space_group.coord_system_code = '2'
Set Unit Cell¶
In [5]:
Copied!
structure.cell.length_a = 5.431
structure.cell.length_a = 5.431
Set Atom Sites¶
In [6]:
Copied!
structure.atom_sites.create(
id='Si',
type_symbol='Si',
fract_x=0.125,
fract_y=0.125,
fract_z=0.125,
adp_iso=0.5,
)
structure.atom_sites.create(
id='Si',
type_symbol='Si',
fract_x=0.125,
fract_y=0.125,
fract_z=0.125,
adp_iso=0.5,
)
In [7]:
Copied!
data_path = download_data('meas-si-sepd', destination='data')
data_path = download_data('meas-si-sepd', destination='data')
Getting data...
Data 'meas-si-sepd': Si, SEPD (Argonne)
✅ Data 'meas-si-sepd' already present at '../../../data/meas-si-sepd.xye'. Keeping existing.
Create Experiment¶
In [8]:
Copied!
expt = ExperimentFactory.from_data_path(
name='sepd',
data_path=data_path,
beam_mode='time-of-flight',
)
expt = ExperimentFactory.from_data_path(
name='sepd',
data_path=data_path,
beam_mode='time-of-flight',
)
Set Instrument¶
In [9]:
Copied!
expt.instrument.setup_twotheta_bank = 144.845
expt.instrument.calib_d_to_tof_offset = -10.0
expt.instrument.calib_d_to_tof_linear = 7476.91
expt.instrument.calib_d_to_tof_quadratic = -1.54
expt.instrument.setup_twotheta_bank = 144.845
expt.instrument.calib_d_to_tof_offset = -10.0
expt.instrument.calib_d_to_tof_linear = 7476.91
expt.instrument.calib_d_to_tof_quadratic = -1.54
Set Peak Profile¶
In [10]:
Copied!
expt.peak.show_supported()
expt.peak.show_supported()
Peak types
| Type | Description | ||
|---|---|---|---|
| 1 | pseudo-voigt | TOF non-convoluted pseudo-Voigt profile | |
| 2 | * | jorgensen | TOF Jorgensen profile: back-to-back exponentials ⊗ Gaussian |
| 3 | jorgensen-von-dreele | TOF Jorgensen-Von Dreele profile: back-to-back exponentials ⊗ pseudo-Voigt | |
| 4 | double-jorgensen-von-dreele | TOF Double-Jorgensen-Von Dreele profile: double back-to-back exponentials ⊗ pseudo-Voigt (Z-Rietveld type0m) |
In [11]:
Copied!
expt.peak.type = 'jorgensen-von-dreele'
expt.peak.type = 'jorgensen-von-dreele'
⚠️ Switching peak profile type adds these settings with defaults: • broad_lorentz_gamma_0=0.0 • broad_lorentz_gamma_1=0.0 • broad_lorentz_gamma_2=0.0 • broad_lorentz_size=0.0 • broad_lorentz_strain=0.0
Peak profile type for experiment 'sepd' changed to
jorgensen-von-dreele
In [12]:
Copied!
expt.peak.broad_gauss_sigma_0 = 3.0148
expt.peak.broad_gauss_sigma_1 = 33.3451
expt.peak.broad_gauss_sigma_2 = 0.0
expt.peak.broad_lorentz_gamma_0 = 0.0
expt.peak.broad_lorentz_gamma_1 = 2.5489
expt.peak.broad_lorentz_gamma_2 = 0.0
expt.peak.rise_alpha_0 = 0.0
expt.peak.rise_alpha_1 = 0.5971
expt.peak.decay_beta_0 = 0.0408
expt.peak.decay_beta_1 = 0.0123
expt.peak.broad_gauss_sigma_0 = 3.0148
expt.peak.broad_gauss_sigma_1 = 33.3451
expt.peak.broad_gauss_sigma_2 = 0.0
expt.peak.broad_lorentz_gamma_0 = 0.0
expt.peak.broad_lorentz_gamma_1 = 2.5489
expt.peak.broad_lorentz_gamma_2 = 0.0
expt.peak.rise_alpha_0 = 0.0
expt.peak.rise_alpha_1 = 0.5971
expt.peak.decay_beta_0 = 0.0408
expt.peak.decay_beta_1 = 0.0123
In [13]:
Copied!
expt.peak.cutoff_fwhm = 8.2
expt.peak.cutoff_fwhm = 8.2
Set Background¶
In [14]:
Copied!
expt.background.auto_estimate()
expt.background.auto_estimate()
Set Linked Structures¶
In [15]:
Copied!
expt.linked_structures.create(structure_id='si', scale=600.0)
expt.linked_structures.create(structure_id='si', scale=600.0)
In [16]:
Copied!
project = Project(name='si_sepd')
project = Project(name='si_sepd')
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.structure(struct_name='si')
project.display.structure(struct_name='si')
Structure 🧩 'si' (Atom view type: 'covalent')
Loading plot…
drag = rotate
wheel = zoom
right-drag = pan
wheel = zoom
right-drag = pan
Display Pattern¶
In [20]:
Copied!
project.display.pattern(expt_name='sepd')
project.display.pattern(expt_name='sepd', x_min=23200, x_max=23700)
project.display.pattern(expt_name='sepd')
project.display.pattern(expt_name='sepd', x_min=23200, x_max=23700)
Loading plot…
Loading plot…
Perform Fit 1/4¶
Set parameters to be refined.
In [21]:
Copied!
structure.cell.length_a.free = True
expt.linked_structures['si'].scale.free = True
expt.instrument.calib_d_to_tof_offset.free = True
structure.cell.length_a.free = True
expt.linked_structures['si'].scale.free = True
expt.instrument.calib_d_to_tof_offset.free = True
Show free parameters after selection.
In [22]:
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 | si | cell | length_a | 5.43100 | -inf | inf | Å | ||
| 2 | sepd | linked_structure | si | scale | 600.00000 | -inf | inf | ||
| 3 | sepd | instrument | d_to_tof_offset | -10.00000 | -inf | inf | μs |
Run Fitting¶
In [23]:
Copied!
project.analysis.minimizer.type = 'bumps (lm)'
project.analysis.minimizer.type = 'bumps (lm)'
Current minimizer changed to
bumps (lm)
In [24]:
Copied!
project.analysis.fit()
project.display.fit.results()
project.analysis.fit()
project.display.fit.results()
Standard fitting
📋 Using experiment 🔬 'sepd' for 'single' fitting
🚀 Starting fit process with 'bumps (lm)'...
📈 Goodness-of-fit progress:
| iteration | time (s) | χ² | change / status | |
|---|---|---|---|---|
| 1 | 1 | 0.27 | 83.59 | |
| 2 | 5 | 1.63 | 7.31 | 91.3% ↓ |
| 3 | 9 | 2.73 | 6.91 | 5.4% ↓ |
| 4 | 24 | 9.75 | 6.91 |
🏆 Best goodness-of-fit (reduced χ²) is 6.91 at iteration 16
✅ Fitting complete.
⚙️ Settings used:
| Name | Value | Description | |
|---|---|---|---|
| 1 | max_iterations | 1000 | Maximum solver iterations. |
📋 Least-squares fit results:
| Metric | Value | |
|---|---|---|
| 1 | 🧪 Minimizer | bumps (lm) |
| 2 | ✅ Overall status | success |
| 3 | ⏱️ Fitting time (seconds) | 9.75 |
| 4 | 📏 Goodness-of-fit (reduced χ²) | 6.91 |
| 5 | 📏 R-factor (Rf, %) | 11.58 |
| 6 | 📏 R-factor squared (Rf², %) | 6.18 |
| 7 | 📏 Weighted R-factor (wR, %) | 5.09 |
📈 Refined parameters:
| datablock | category | entry | parameter | units | start | value | s.u. | change | |
|---|---|---|---|---|---|---|---|---|---|
| 1 | si | cell | length_a | Å | 5.4310 | 5.4308 | 0.0001 | 0.00 % ↓ | |
| 2 | sepd | linked_structure | si | scale | 600.0000 | 368.2037 | 0.9626 | 38.63 % ↓ | |
| 3 | sepd | instrument | d_to_tof_offset | μs | -10.0000 | -8.3129 | 0.0759 | 16.87 % ↓ |
• 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
Display Pattern¶
In [25]:
Copied!
project.display.pattern(expt_name='sepd')
project.display.pattern(expt_name='sepd')
Loading plot…
In [26]:
Copied!
project.display.pattern(expt_name='sepd', x_min=23200, x_max=23700)
project.display.pattern(expt_name='sepd', x_min=23200, x_max=23700)
Loading plot…
Perform Fit 2/4¶
Set more parameters to be refined.
In [27]:
Copied!
for point in expt.background:
point.intensity.free = True
for point in expt.background:
point.intensity.free = True
Show free parameters after selection.
In [28]:
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 | si | cell | length_a | 5.43082 | 0.00006 | -inf | inf | Å | |
| 2 | sepd | linked_structure | si | scale | 368.20374 | 0.96260 | -inf | inf | |
| 3 | sepd | instrument | d_to_tof_offset | -8.31294 | 0.07593 | -inf | inf | μs | |
| 4 | sepd | background | 1 | intensity | 213.55062 | -inf | inf | ||
| 5 | sepd | background | 2 | intensity | 117.61669 | -inf | inf | ||
| 6 | sepd | background | 3 | intensity | 147.70005 | -inf | inf | ||
| 7 | sepd | background | 4 | intensity | 122.26237 | -inf | inf | ||
| 8 | sepd | background | 5 | intensity | 163.04903 | -inf | inf | ||
| 9 | sepd | background | 6 | intensity | 124.58762 | -inf | inf | ||
| 10 | sepd | background | 7 | intensity | 120.30738 | -inf | inf | ||
| 11 | sepd | background | 8 | intensity | 186.02117 | -inf | inf | ||
| 12 | sepd | background | 9 | intensity | 133.38534 | -inf | inf | ||
| 13 | sepd | background | 10 | intensity | 108.60000 | -inf | inf | ||
| 14 | sepd | background | 11 | intensity | 139.80000 | -inf | inf | ||
| 15 | sepd | background | 12 | intensity | 272.05501 | -inf | inf | ||
| 16 | sepd | background | 13 | intensity | 114.09603 | -inf | inf | ||
| 17 | sepd | background | 14 | intensity | 177.06320 | -inf | inf |
Run Fitting¶
In [29]:
Copied!
project.analysis.fit()
project.display.fit.results()
project.analysis.fit()
project.display.fit.results()
Standard fitting
📋 Using experiment 🔬 'sepd' for 'single' fitting
🚀 Starting fit process with 'bumps (lm)'...
📈 Goodness-of-fit progress:
| iteration | time (s) | χ² | change / status | |
|---|---|---|---|---|
| 1 | 1 | 0.27 | 6.93 | |
| 2 | 19 | 5.96 | 3.71 | 46.5% ↓ |
| 3 | 41 | 12.58 | 3.71 | |
| 4 | 62 | 30.05 | 3.71 |
🏆 Best goodness-of-fit (reduced χ²) is 3.71 at iteration 62
✅ Fitting complete.
⚙️ Settings used:
| Name | Value | Description | |
|---|---|---|---|
| 1 | max_iterations | 1000 | Maximum solver iterations. |
📋 Least-squares fit results:
| Metric | Value | |
|---|---|---|
| 1 | 🧪 Minimizer | bumps (lm) |
| 2 | ✅ Overall status | success |
| 3 | ⏱️ Fitting time (seconds) | 30.05 |
| 4 | 📏 Goodness-of-fit (reduced χ²) | 3.71 |
| 5 | 📏 R-factor (Rf, %) | 8.29 |
| 6 | 📏 R-factor squared (Rf², %) | 4.20 |
| 7 | 📏 Weighted R-factor (wR, %) | 3.13 |
📈 Refined parameters:
| datablock | category | entry | parameter | units | start | value | s.u. | change | |
|---|---|---|---|---|---|---|---|---|---|
| 1 | si | cell | length_a | Å | 5.4308 | 5.4309 | 0.0000 | 0.00 % ↑ | |
| 2 | sepd | linked_structure | si | scale | 368.2037 | 379.1034 | 0.7275 | 2.96 % ↑ | |
| 3 | sepd | instrument | d_to_tof_offset | μs | -8.3129 | -8.4374 | 0.0541 | 1.50 % ↑ | |
| 4 | sepd | background | 1 | intensity | 213.5506 | 203.7862 | 0.4110 | 4.57 % ↓ | |
| 5 | sepd | background | 2 | intensity | 117.6167 | 103.7428 | 0.4466 | 11.80 % ↓ | |
| 6 | sepd | background | 3 | intensity | 147.7001 | 125.1144 | 0.8726 | 15.29 % ↓ | |
| 7 | sepd | background | 4 | intensity | 122.2624 | 119.8186 | 0.9651 | 2.00 % ↓ | |
| 8 | sepd | background | 5 | intensity | 163.0490 | 127.4725 | 2.7425 | 21.82 % ↓ | |
| 9 | sepd | background | 6 | intensity | 124.5876 | 123.1576 | 1.6805 | 1.15 % ↓ | |
| 10 | sepd | background | 7 | intensity | 120.3074 | 121.7270 | 1.7646 | 1.18 % ↑ | |
| 11 | sepd | background | 8 | intensity | 186.0212 | 140.3535 | 3.2718 | 24.55 % ↓ | |
| 12 | sepd | background | 9 | intensity | 133.3853 | 135.1111 | 2.4404 | 1.29 % ↑ | |
| 13 | sepd | background | 10 | intensity | 108.6000 | 129.9432 | 1.3424 | 19.65 % ↑ | |
| 14 | sepd | background | 11 | intensity | 139.8000 | 143.2301 | 2.1412 | 2.45 % ↑ | |
| 15 | sepd | background | 12 | intensity | 272.0550 | 175.4419 | 4.7256 | 35.51 % ↓ | |
| 16 | sepd | background | 13 | intensity | 114.0960 | 166.5013 | 5.1273 | 45.93 % ↑ | |
| 17 | sepd | background | 14 | intensity | 177.0632 | 203.9610 | 10.8186 | 15.19 % ↑ |
• 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
Display Pattern¶
In [30]:
Copied!
project.display.pattern(expt_name='sepd')
project.display.pattern(expt_name='sepd')
Loading plot…
In [31]:
Copied!
project.display.pattern(expt_name='sepd', x_min=23200, x_max=23700)
project.display.pattern(expt_name='sepd', x_min=23200, x_max=23700)
Loading plot…
Perform Fit 3/4¶
Fix background points.
In [32]:
Copied!
for point in expt.background:
point.intensity.free = False
for point in expt.background:
point.intensity.free = False
Set more parameters to be refined.
In [33]:
Copied!
expt.peak.broad_gauss_sigma_0.free = True
expt.peak.broad_gauss_sigma_1.free = True
expt.peak.broad_lorentz_gamma_1.free = True
expt.peak.broad_gauss_sigma_0.free = True
expt.peak.broad_gauss_sigma_1.free = True
expt.peak.broad_lorentz_gamma_1.free = True
Show free parameters after selection.
In [34]:
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 | si | cell | length_a | 5.43092 | 0.00004 | -inf | inf | Å | |
| 2 | sepd | linked_structure | si | scale | 379.10344 | 0.72748 | -inf | inf | |
| 3 | sepd | peak | broad_lorentz_gamma_1 | 2.54890 | -inf | inf | μs/Å | ||
| 4 | sepd | peak | broad_gauss_sigma_0 | 3.01480 | -inf | inf | μs² | ||
| 5 | sepd | peak | broad_gauss_sigma_1 | 33.34510 | -inf | inf | μs/Å | ||
| 6 | sepd | instrument | d_to_tof_offset | -8.43737 | 0.05407 | -inf | inf | μs |
Run Fitting¶
In [35]:
Copied!
project.analysis.fit()
project.display.fit.results()
project.analysis.fit()
project.display.fit.results()
Standard fitting
📋 Using experiment 🔬 'sepd' for 'single' fitting
🚀 Starting fit process with 'bumps (lm)'...
📈 Goodness-of-fit progress:
| iteration | time (s) | χ² | change / status | |
|---|---|---|---|---|
| 1 | 1 | 0.27 | 3.70 | |
| 2 | 8 | 2.51 | 3.63 | 2.1% ↓ |
| 3 | 25 | 12.05 | 3.63 |
🏆 Best goodness-of-fit (reduced χ²) is 3.63 at iteration 25
✅ Fitting complete.
⚙️ Settings used:
| Name | Value | Description | |
|---|---|---|---|
| 1 | max_iterations | 1000 | Maximum solver iterations. |
📋 Least-squares fit results:
| Metric | Value | |
|---|---|---|
| 1 | 🧪 Minimizer | bumps (lm) |
| 2 | ✅ Overall status | success |
| 3 | ⏱️ Fitting time (seconds) | 12.05 |
| 4 | 📏 Goodness-of-fit (reduced χ²) | 3.63 |
| 5 | 📏 R-factor (Rf, %) | 8.33 |
| 6 | 📏 R-factor squared (Rf², %) | 4.27 |
| 7 | 📏 Weighted R-factor (wR, %) | 3.14 |
📈 Refined parameters:
| datablock | category | entry | parameter | units | start | value | s.u. | change | |
|---|---|---|---|---|---|---|---|---|---|
| 1 | si | cell | length_a | Å | 5.4309 | 5.4309 | 0.0000 | 0.00 % ↓ | |
| 2 | sepd | linked_structure | si | scale | 379.1034 | 378.7425 | 0.7565 | 0.10 % ↓ | |
| 3 | sepd | peak | broad_lorentz_gamma_1 | μs/Å | 2.5489 | 2.2595 | 0.0711 | 11.35 % ↓ | |
| 4 | sepd | peak | broad_gauss_sigma_0 | μs² | 3.0148 | 6.1390 | 0.2002 | 103.63 % ↑ | |
| 5 | sepd | peak | broad_gauss_sigma_1 | μs/Å | 33.3451 | 32.7143 | 0.6778 | 1.89 % ↓ | |
| 6 | sepd | instrument | d_to_tof_offset | μs | -8.4374 | -8.3741 | 0.0567 | 0.75 % ↓ |
• 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
Display Pattern¶
In [36]:
Copied!
project.display.pattern(expt_name='sepd')
project.display.pattern(expt_name='sepd')
Loading plot…
In [37]:
Copied!
project.display.pattern(expt_name='sepd', x_min=23200, x_max=23700)
project.display.pattern(expt_name='sepd', x_min=23200, x_max=23700)
Loading plot…
Perform Fit 4/4¶
Set more parameters to be refined.
In [38]:
Copied!
structure.atom_sites['Si'].adp_iso.free = True
expt.peak.decay_beta_0.free = True
expt.peak.decay_beta_1.free = True
structure.atom_sites['Si'].adp_iso.free = True
expt.peak.decay_beta_0.free = True
expt.peak.decay_beta_1.free = True
Show free parameters after selection.
In [39]:
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 | si | cell | length_a | 5.43088 | 0.00004 | -inf | inf | Å | |
| 2 | si | atom_site | Si | adp_iso | 0.50000 | -inf | inf | Ų | |
| 3 | sepd | linked_structure | si | scale | 378.74250 | 0.75653 | -inf | inf | |
| 4 | sepd | peak | decay_beta_0 | 0.04080 | -inf | inf | μs | ||
| 5 | sepd | peak | decay_beta_1 | 0.01230 | -inf | inf | μs/Å | ||
| 6 | sepd | peak | broad_lorentz_gamma_1 | 2.25952 | 0.07107 | -inf | inf | μs/Å | |
| 7 | sepd | peak | broad_gauss_sigma_0 | 6.13903 | 0.20017 | -inf | inf | μs² | |
| 8 | sepd | peak | broad_gauss_sigma_1 | 32.71430 | 0.67783 | -inf | inf | μs/Å | |
| 9 | sepd | instrument | d_to_tof_offset | -8.37410 | 0.05668 | -inf | inf | μs |
Run Fitting¶
In [40]:
Copied!
project.analysis.fit()
project.display.fit.results()
project.analysis.fit()
project.display.fit.results()
Standard fitting
📋 Using experiment 🔬 'sepd' for 'single' fitting
🚀 Starting fit process with 'bumps (lm)'...
📈 Goodness-of-fit progress:
| iteration | time (s) | χ² | change / status | |
|---|---|---|---|---|
| 1 | 1 | 0.55 | 3.63 | |
| 2 | 21 | 6.72 | 3.60 | |
| 3 | 38 | 18.26 | 3.60 |
🏆 Best goodness-of-fit (reduced χ²) is 3.60 at iteration 21
✅ Fitting complete.
⚙️ Settings used:
| Name | Value | Description | |
|---|---|---|---|
| 1 | max_iterations | 1000 | Maximum solver iterations. |
📋 Least-squares fit results:
| Metric | Value | |
|---|---|---|
| 1 | 🧪 Minimizer | bumps (lm) |
| 2 | ✅ Overall status | success |
| 3 | ⏱️ Fitting time (seconds) | 18.26 |
| 4 | 📏 Goodness-of-fit (reduced χ²) | 3.60 |
| 5 | 📏 R-factor (Rf, %) | 8.21 |
| 6 | 📏 R-factor squared (Rf², %) | 4.12 |
| 7 | 📏 Weighted R-factor (wR, %) | 2.93 |
📈 Refined parameters:
| datablock | category | entry | parameter | units | start | value | s.u. | change | |
|---|---|---|---|---|---|---|---|---|---|
| 1 | si | cell | length_a | Å | 5.4309 | 5.4309 | 0.0001 | 0.00 % ↑ | |
| 2 | si | atom_site | Si | adp_iso | Ų | 0.5000 | 0.5222 | 0.0036 | 4.44 % ↑ |
| 3 | sepd | linked_structure | si | scale | 378.7425 | 383.0852 | 1.0346 | 1.15 % ↑ | |
| 4 | sepd | peak | decay_beta_0 | μs | 0.0408 | 0.0406 | 0.0002 | 0.45 % ↓ | |
| 5 | sepd | peak | decay_beta_1 | μs/Å | 0.0123 | 0.0124 | 0.0002 | 0.94 % ↑ | |
| 6 | sepd | peak | broad_lorentz_gamma_1 | μs/Å | 2.2595 | 2.2264 | 0.0798 | 1.47 % ↓ | |
| 7 | sepd | peak | broad_gauss_sigma_0 | μs² | 6.1390 | 5.6439 | 0.4299 | 8.06 % ↓ | |
| 8 | sepd | peak | broad_gauss_sigma_1 | μs/Å | 32.7143 | 33.0053 | 0.6994 | 0.89 % ↑ | |
| 9 | sepd | instrument | d_to_tof_offset | μs | -8.3741 | -8.4008 | 0.0807 | 0.32 % ↑ |
• 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
Display Correlations¶
In [41]:
Copied!
project.display.fit.correlations()
project.display.fit.correlations()
Loading plot…
Display Pattern¶
In [42]:
Copied!
project.display.pattern(expt_name='sepd')
project.display.pattern(expt_name='sepd')
Loading plot…
In [43]:
Copied!
project.display.pattern(expt_name='sepd', x_min=23200, x_max=23700)
project.display.pattern(expt_name='sepd', x_min=23200, x_max=23700)
Loading plot…
In [44]:
Copied!
project.display.pattern(expt_name='sepd', x='d_spacing')
project.display.pattern(expt_name='sepd', x='d_spacing')
Loading plot…
💾 Save Project¶
In [45]:
Copied!
project.save_as(dir_path='projects/refine-si-sepd')
project.save_as(dir_path='projects/refine-si-sepd')
Saving project 📦 'si_sepd' to '../../../projects/refine-si-sepd'
├── 📄 project.edi
├── 📁 structures/
│ └── 📄 si.edi
├── 📁 experiments/
│ └── 📄 sepd.edi
├── 📁 analysis/
│ └── 📄 analysis.edi
└── 📁 reports/
└── 📄 si_sepd.html